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,33 +12,50 @@ public type SQLite3_update_field: | ||
| 12 | field(String column, SQLite3Bind bind). | 12 | field(String column, SQLite3Bind bind). |
| 13 | 13 | ||
| 14 | public define (List(SQLite3Bind), String) | 14 | public define (List(SQLite3Bind), String) |
| 15 | - make_update_clause_and_binds | 15 | + _make_update_clause_and_binds |
| 16 | ( | 16 | ( |
| 17 | List(SQLite3_update_field) fields, | 17 | List(SQLite3_update_field) fields, |
| 18 | List(SQLite3Bind) so_far, | 18 | List(SQLite3Bind) so_far, |
| 19 | - List(String) clause | 19 | + List(String) set_clause |
| 20 | )= | 20 | )= |
| 21 | if fields is | 21 | if fields is |
| 22 | { | 22 | { |
| 23 | - [] then (so_far, join(", ",clause)), | 23 | + [] then (so_far, join(", ",set_clause)), |
| 24 | [ h . t ] then | 24 | [ h . t ] then |
| 25 | if h is field(column, bind) then | 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 | public define (List(SQLite3Bind), String) | 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 | List(SQLite3_update_field) fields, | 41 | List(SQLite3_update_field) fields, |
| 34 | List(SQLite3Bind) so_far, | 42 | List(SQLite3Bind) so_far, |
| 35 | - List(String) clause | 43 | + List(String) insert_columns, |
| 44 | + List(String) insert_values | ||
| 36 | )= | 45 | )= |
| 37 | if fields is | 46 | if fields is |
| 38 | { | 47 | { |
| 39 | - [] then (so_far, join(", ",clause)), | 48 | + [] then (so_far, "("+join(", ",insert_columns)+")", "("+join(", ",insert_values)+")"), |
| 40 | [ h . t ] then | 49 | [ h . t ] then |
| 41 | if h is field(column, bind) then | 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 | +. |