Commit 25d77d406d6cc4ca858443ad88ffd824747c807b
Merge branch '1.19' of ssh://gitlab.anubis-lang.com:33000/totoro/hayamiki_lib into 1.19
Showing
1 changed file
with
36 additions
and
9 deletions
Show diff stats
controller/hk_sql_utils.anubis
| ... | ... | @@ -38,15 +38,19 @@ public define Maybe(One) |
| 38 | 38 | String table_name, |
| 39 | 39 | List(Int) ids |
| 40 | 40 | )= |
| 41 | - if sql_query_timeout(db, | |
| 42 | - "DELETE FROM "+table_name+ | |
| 43 | - " WHERE id IN ("+join(", ", to_List_String(ids))+");", | |
| 44 | - [], | |
| 45 | - "delete_from_ids") is | |
| 46 | - { | |
| 47 | - error(_) then failure, | |
| 48 | - ok(_, _, _) then success(unique) | |
| 49 | - }. | |
| 41 | + if length(ids) = 0 then | |
| 42 | + success(unique) | |
| 43 | + else | |
| 44 | + if sql_query_timeout(db, | |
| 45 | + "DELETE FROM "+table_name+ | |
| 46 | + " WHERE id IN ("+join(", ", to_List_String(ids))+");", | |
| 47 | + [], | |
| 48 | + "delete_from_ids") is | |
| 49 | + { | |
| 50 | + error(_) then failure, | |
| 51 | + ok(_, _, _) then success(unique) | |
| 52 | + } | |
| 53 | + . | |
| 50 | 54 | |
| 51 | 55 | public define Maybe(One) |
| 52 | 56 | delete_by_clause |
| ... | ... | @@ -101,6 +105,29 @@ public define Int |
| 101 | 105 | db_get_Int(db, clause, []) |
| 102 | 106 | . |
| 103 | 107 | |
| 108 | +public define List(String) | |
| 109 | + db_get_List_String | |
| 110 | + ( | |
| 111 | + SQLite3DataBase db, | |
| 112 | + String clause, | |
| 113 | + List(SQLite3Bind) binds | |
| 114 | + )= | |
| 115 | + if sql_query_timeout(db, clause+";", binds, "db_get_List_String") is | |
| 116 | + { | |
| 117 | + error(sql_error) then println("db_get_List_String SQL ERROR '"+ sql_error.text + "'\n clause ["+clause+";]");[], | |
| 118 | + ok(_, cursor, _) then db_get_List_String(cursor) | |
| 119 | + } | |
| 120 | +. | |
| 121 | + | |
| 122 | +public define List(String) | |
| 123 | + db_get_List_String | |
| 124 | + ( | |
| 125 | + SQLite3DataBase db, | |
| 126 | + String clause | |
| 127 | + )= | |
| 128 | + db_get_List_String(db, clause, []) | |
| 129 | +. | |
| 130 | + | |
| 104 | 131 | public define Float |
| 105 | 132 | get_count_float_by_full_clause |
| 106 | 133 | ( | ... | ... |