diff --git a/database/settings.anubis b/database/settings.anubis index 6448676..7989712 100644 --- a/database/settings.anubis +++ b/database/settings.anubis @@ -6,6 +6,7 @@ */ read tools/basis.anubis +read data_base/db_tools.anubis read data_base/sqlite.anubis read calexium_lib/database/db_utils.anubis @@ -77,17 +78,47 @@ public define Bool success(v) then v!=0 } }. + +public define One + update_settings + ( + SQLite3DataBase db, + String var, + Bool value + )= + with binds = (List(SQLite3Bind))[bind_String("@name", var), bind_Int("@value", if value then 1 else 0)], + if select_settings(db, var) is success(_) then + forget(sql_query_timeout(db, "UPDATE settings SET var_value = @value WHERE var_name = @name;", binds, "update_settings")) + else + forget(sql_query_timeout(db, "INSERT INTO settings (var_name, var_value) VALUES (@name, @value)", binds, "update_settings")) + . public define One update_settings ( SQLite3DataBase db, String var, + Int value + )= + with binds = (List(SQLite3Bind))[bind_String("@name", var), bind_Int("@value", value)], + if select_settings(db, var) is success(_) then + forget(sql_query_timeout(db, "UPDATE settings SET var_value = @value WHERE var_name = @name;", binds, "update_settings")) + else + forget(sql_query_timeout(db, "INSERT INTO settings (var_name, var_value) VALUES (@name, @value)", binds, "update_settings")) + . + + +public define One + update_settings + ( + SQLite3DataBase db, + String var, String value )= + with binds = (List(SQLite3Bind))[bind_String("@name", var), bind_String("@value", value)], if select_settings(db, var) is success(_) then - forget(sql_query_timeout(db, "UPDATE settings SET var_value = @value WHERE var_name = @name;", [bind_String("@name", var), bind_String("@value", value)], "update_settings")) + forget(sql_query_timeout(db, "UPDATE settings SET var_value = @value WHERE var_name = @name;", binds, "update_settings")) else - forget(sql_query_timeout(db, "INSERT INTO settings (var_name, var_value) VALUES (@name, @value)", [bind_String("@name", var), bind_String("@value", value)], "update_settings")) + forget(sql_query_timeout(db, "INSERT INTO settings (var_name, var_value) VALUES (@name, @value)", binds, "update_settings")) . -- libgit2 0.21.4