hk_sql_utils.anubis
1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* Created by PyramIDE.
* User: フランスのトトロ aka (David RENÉ)
* Date: 02/04/2017
* Time: 19:23
* © Calexium
*/
read calexium_lib/database/db_utils.anubis
read hayamiki_lib/types/hayamiki.anubis
public define String
referer_to_sql_clause
(
HK_Referer referer,
String table_name,
List(String) table_columns
)=
if referer is
{
no_referer then " (1 = 1) ",
hk_referer(referer_table, referer_row_id, fk_table, fk_column) then
if referer_table = table_name then
"id = " +referer_row_id
else if fk_column:table_columns then
fk_column + " = " + referer_row_id
else
" (1 = 1) ",
}
.
public define Int
get_count_by_clause
(
SQLite3DataBase db,
String table_name,
String clause
)=
with final_clause = if clause = "" then
""
else
"WHERE "+clause,
if sql_query_timeout(db, "SELECT COUNT(\"id\") FROM "+table_name+" "+final_clause+";", [], "get_count_by_clause") is
{
error(_) then 0,
ok(_, cursor, _) then db_get_integer(cursor)
}
.
public define Int
get_count
(
SQLite3DataBase db,
String table_name
)=
get_count_by_clause(db, table_name, "")
.