Commit f929f8f4e7f4fa27a4a7051b98887401f6bf812e
1 parent
accc7490
[+] get_all_by_full_clause
[~] in function insert_or_update() , add print debug info on failure
Showing
1 changed file
with
22 additions
and
5 deletions
Show diff stats
controller/hk_sql_utils.anubis
| @@ -435,14 +435,28 @@ public define List($T) | @@ -435,14 +435,28 @@ public define List($T) | ||
| 435 | ( | 435 | ( |
| 436 | SQLite3DataBase db, | 436 | SQLite3DataBase db, |
| 437 | String table_name, | 437 | String table_name, |
| 438 | - String id_col, | ||
| 439 | String full_clause, | 438 | String full_clause, |
| 440 | (One -> SQLite3Row table_cursor) -> Maybe($T) extractor | 439 | (One -> SQLite3Row table_cursor) -> Maybe($T) extractor |
| 441 | )= | 440 | )= |
| 442 | 441 | ||
| 443 | if sql_query_timeout(db, "SELECT * FROM "+table_name+" "+full_clause+";", [], "get_all_by_full_clause") is | 442 | if sql_query_timeout(db, "SELECT * FROM "+table_name+" "+full_clause+";", [], "get_all_by_full_clause") is |
| 444 | { | 443 | { |
| 445 | - error(sql_error) then println("get_db_ids_by_full_clause SQL ERROR '"+ sql_error.text + "'\n table_name ["+table_name+"]\n id_col["+id_col+"]\nfull_clause ["+full_clause+";]");[], | 444 | + error(sql_error) then println("get_all_by_full_clause SQL ERROR '"+ sql_error.text + "'\n table_name ["+table_name+"]\n full_clause ["+full_clause+";]");[], |
| 445 | + ok(_, cursor, _) then _get_all(extractor)(cursor, []) | ||
| 446 | + } | ||
| 447 | +. | ||
| 448 | + | ||
| 449 | +public define List($T) | ||
| 450 | + get_all_by_full_clause | ||
| 451 | + ( | ||
| 452 | + SQLite3DataBase db, | ||
| 453 | + String full_clause, | ||
| 454 | + (One -> SQLite3Row table_cursor) -> Maybe($T) extractor | ||
| 455 | + )= | ||
| 456 | + | ||
| 457 | + if sql_query_timeout(db, full_clause+";", [], "get_all_by_full_clause") is | ||
| 458 | + { | ||
| 459 | + error(sql_error) then println("get_all_by_full_clause SQL ERROR '"+ sql_error.text + "'\n full_clause ["+full_clause+";]");[], | ||
| 446 | ok(_, cursor, _) then _get_all(extractor)(cursor, []) | 460 | ok(_, cursor, _) then _get_all(extractor)(cursor, []) |
| 447 | } | 461 | } |
| 448 | . | 462 | . |
| @@ -655,10 +669,11 @@ public define Maybe(Int) | @@ -655,10 +669,11 @@ public define Maybe(Int) | ||
| 655 | { | 669 | { |
| 656 | none then | 670 | none then |
| 657 | since make_insert_clause_and_binds(fields) is (binds, insert_columns, insert_values), | 671 | since make_insert_clause_and_binds(fields) is (binds, insert_columns, insert_values), |
| 658 | - if sql_query_timeout(db, "INSERT INTO "+table_name+" "+insert_columns+" VALUES "+insert_values+";", binds, table_name+" (INSERT)") is | 672 | + with insert_query = "INSERT INTO "+table_name+" "+insert_columns+" VALUES "+insert_values+";", |
| 673 | + if sql_query_timeout(db, insert_query, binds, table_name+" (INSERT)") is | ||
| 659 | { | 674 | { |
| 660 | error(sql_error) then | 675 | error(sql_error) then |
| 661 | - //logError(debug_log, db_error(sql_error, table_name)); | 676 | + println("insert on table '"+table_name+"' SQL ERROR '"+ sql_error.text + "'\n sql_insert ["+insert_query+"]\n binds "+dump_Binds(binds)); |
| 662 | failure, | 677 | failure, |
| 663 | ok(_, cursor, _) then | 678 | ok(_, cursor, _) then |
| 664 | if sql_query_scalar(db, "SELECT last_insert_rowid()") is | 679 | if sql_query_scalar(db, "SELECT last_insert_rowid()") is |
| @@ -676,9 +691,11 @@ public define Maybe(Int) | @@ -676,9 +691,11 @@ public define Maybe(Int) | ||
| 676 | }, | 691 | }, |
| 677 | db_id(idx) then | 692 | db_id(idx) then |
| 678 | since make_update_clause_and_binds(fields) is (binds, set_string), | 693 | since make_update_clause_and_binds(fields) is (binds, set_string), |
| 679 | - if sql_query_timeout(db, "UPDATE "+table_name+" SET "+set_string +" WHERE id = "+idx+";", binds, table_name+" (UPDATE)") is | 694 | + with update_query = "UPDATE "+table_name+" SET "+set_string +" WHERE id = "+idx+";", |
| 695 | + if sql_query_timeout(db, update_query, binds, table_name+" (UPDATE)") is | ||
| 680 | { | 696 | { |
| 681 | error(sql_error) then | 697 | error(sql_error) then |
| 698 | + println("update on table '"+table_name+"' id ["+idx+"] SQL ERROR '"+ sql_error.text + "'\n sql_insert ["+update_query+"]\n binds "+dump_Binds(binds)); | ||
| 682 | //logError(debug_log, db_error(sql_error, table_name)); | 699 | //logError(debug_log, db_error(sql_error, table_name)); |
| 683 | failure, | 700 | failure, |
| 684 | ok(_, _, _) then success(idx) | 701 | ok(_, _, _) then success(idx) |