Commit 605449b023dcef3ea0b7261c1d7d120e000d006e
1 parent
988ad097
put the real content of the function for creating INSERT or UPDATE query argumen…
…ts with the given list of fields
Showing
1 changed file
with
25 additions
and
8 deletions
Show diff stats
database/db_update_fields.anubis
| ... | ... | @@ -12,33 +12,50 @@ public type SQLite3_update_field: |
| 12 | 12 | field(String column, SQLite3Bind bind). |
| 13 | 13 | |
| 14 | 14 | public define (List(SQLite3Bind), String) |
| 15 | - make_update_clause_and_binds | |
| 15 | + _make_update_clause_and_binds | |
| 16 | 16 | ( |
| 17 | 17 | List(SQLite3_update_field) fields, |
| 18 | 18 | List(SQLite3Bind) so_far, |
| 19 | - List(String) clause | |
| 19 | + List(String) set_clause | |
| 20 | 20 | )= |
| 21 | 21 | if fields is |
| 22 | 22 | { |
| 23 | - [] then (so_far, join(", ",clause)), | |
| 23 | + [] then (so_far, join(", ",set_clause)), | |
| 24 | 24 | [ h . t ] then |
| 25 | 25 | if h is field(column, bind) then |
| 26 | - make_update_clause_and_binds(t, [bind . so_far], ["\""+column+"\" = :v_"+column . clause]) | |
| 26 | + _make_update_clause_and_binds(t, [bind . so_far], ["\""+column+"\" = :v_"+column . set_clause]) | |
| 27 | 27 | } |
| 28 | 28 | . |
| 29 | 29 | |
| 30 | 30 | public define (List(SQLite3Bind), String) |
| 31 | - make_insert_clause_and_binds | |
| 31 | + make_update_clause_and_binds | |
| 32 | + ( | |
| 33 | + List(SQLite3_update_field) fields | |
| 34 | + )= | |
| 35 | + _make_update_clause_and_binds(fields, [], []) | |
| 36 | +. | |
| 37 | + | |
| 38 | +public define (List(SQLite3Bind), String, String) | |
| 39 | + _make_insert_clause_and_binds | |
| 32 | 40 | ( |
| 33 | 41 | List(SQLite3_update_field) fields, |
| 34 | 42 | List(SQLite3Bind) so_far, |
| 35 | - List(String) clause | |
| 43 | + List(String) insert_columns, | |
| 44 | + List(String) insert_values | |
| 36 | 45 | )= |
| 37 | 46 | if fields is |
| 38 | 47 | { |
| 39 | - [] then (so_far, join(", ",clause)), | |
| 48 | + [] then (so_far, "("+join(", ",insert_columns)+")", "("+join(", ",insert_values)+")"), | |
| 40 | 49 | [ h . t ] then |
| 41 | 50 | if h is field(column, bind) then |
| 42 | - make_insert_clause_and_binds(t, [bind . so_far], ["\""+column+"\" = :v_"+column . clause]) | |
| 51 | + _make_insert_clause_and_binds(t, [bind . so_far], ["\""+column+"\"" . insert_columns], [":v_"+column . insert_values]) | |
| 43 | 52 | } |
| 44 | 53 | . |
| 54 | + | |
| 55 | +public define (List(SQLite3Bind), String, String) | |
| 56 | + make_insert_clause_and_binds | |
| 57 | + ( | |
| 58 | + List(SQLite3_update_field) fields | |
| 59 | + )= | |
| 60 | + _make_insert_clause_and_binds(fields, [], [], []) | |
| 61 | +. | ... | ... |