# HG changeset patch # User Olaf Wintermann # Date 1769015971 -3600 # Node ID e3163dc41a80c0be53ad0367724f3db3c8cd3e59 # Parent c160700751eccc22f77ff2a861eb4487939d8a01 fix param type in dbuSqlExecParamUInt64/dbuSqlExecQueryParamUInt64, remove dbuConnectionExec diff -r c160700751ec -r e3163dc41a80 dbutils/db.c --- a/dbutils/db.c Wed Jan 21 18:02:19 2026 +0100 +++ b/dbutils/db.c Wed Jan 21 18:19:31 2026 +0100 @@ -29,16 +29,6 @@ #include "db.h" #include "dbutils/db.h" -int dbuConnectionExec(DBUConnection *conn, const char *sql) { - DBUQuery *q = conn->createQuery(conn, NULL); - int err = 1; - if(!dbuQuerySetSQL(q, sql)) { - err = dbuQueryExec(q); - } - dbuQueryFree(q); - return err; -} - int dbuConnectionIsActive(DBUConnection *conn) { return conn->isActive ? conn->isActive(conn) : 1; } @@ -284,7 +274,7 @@ return r; } -DBUResult* dbuSqlExecQueryParamUInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, uint32_t param) { +DBUResult* dbuSqlExecQueryParamUInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, uint64_t param) { DBUQuery *q = execInt64ParamQuery(conn, sql, param); if(!q) return NULL; DBUResult *r = dbuQueryGetResult(q); @@ -396,7 +386,7 @@ } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } int dbuSqlExecParamInt64(DBUConnection *conn, const char *sql, int64_t param) { @@ -406,7 +396,7 @@ } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } int dbuSqlExecParamUInt32(DBUConnection *conn, const char *sql, uint32_t param) { @@ -416,17 +406,17 @@ } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } -int dbuSqlExecParamUInt64(DBUConnection *conn, const char *sql, uint32_t param) { +int dbuSqlExecParamUInt64(DBUConnection *conn, const char *sql, uint64_t param) { DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param); if(!result) { return 1; } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } int dbuSqlExecParamString(DBUConnection *conn, const char *sql, const char *param) { @@ -436,7 +426,7 @@ } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } int dbuSqlExecParamCxString(DBUConnection *conn, const char *sql, cxstring param) { @@ -446,7 +436,7 @@ } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } int dbuSqlExecParamCxMutStr(DBUConnection *conn, const char *sql, cxmutstr param) { @@ -456,5 +446,5 @@ } int ret = dbuResultIsOk(result); dbuResultFree(result); - return ret; + return !ret; } diff -r c160700751ec -r e3163dc41a80 dbutils/dbutils/db.h --- a/dbutils/dbutils/db.h Wed Jan 21 18:02:19 2026 +0100 +++ b/dbutils/dbutils/db.h Wed Jan 21 18:19:31 2026 +0100 @@ -96,7 +96,6 @@ int rowIndex; }; -int dbuConnectionExec(DBUConnection *conn, const char *sql); int dbuConnectionIsActive(DBUConnection *conn); void dbuConnectionFree(DBUConnection *conn); DBUQuery* dbuConnectionQuery(DBUConnection *conn, const CxAllocator *a); @@ -167,7 +166,7 @@ DBUResult* dbuSqlExecQueryParamInt32(DBUConnection *conn, const CxAllocator *a, const char *sql, int32_t param); DBUResult* dbuSqlExecQueryParamInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, int64_t param); DBUResult* dbuSqlExecQueryParamUInt32(DBUConnection *conn, const CxAllocator *a, const char *sql, uint32_t param); -DBUResult* dbuSqlExecQueryParamUInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, uint32_t param); +DBUResult* dbuSqlExecQueryParamUInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, uint64_t param); DBUResult* dbuSqlExecQueryParamString(DBUConnection *conn, const CxAllocator *a, const char *sql, const char *param); DBUResult* dbuSqlExecQueryParamCxString(DBUConnection *conn, const CxAllocator *a, const char *sql, cxstring param); DBUResult* dbuSqlExecQueryParamCxMutStr(DBUConnection *conn, const CxAllocator *a, const char *sql, cxmutstr param); @@ -194,7 +193,7 @@ int dbuSqlExecParamInt32(DBUConnection *conn, const char *sql, int32_t param); int dbuSqlExecParamInt64(DBUConnection *conn, const char *sql, int64_t param); int dbuSqlExecParamUInt32(DBUConnection *conn, const char *sql, uint32_t param); -int dbuSqlExecParamUInt64(DBUConnection *conn, const char *sql, uint32_t param); +int dbuSqlExecParamUInt64(DBUConnection *conn, const char *sql, uint64_t param); int dbuSqlExecParamString(DBUConnection *conn, const char *sql, const char *param); int dbuSqlExecParamCxString(DBUConnection *conn, const char *sql, cxstring param); int dbuSqlExecParamCxMutStr(DBUConnection *conn, const char *sql, cxmutstr param); diff -r c160700751ec -r e3163dc41a80 test/database.c --- a/test/database.c Wed Jan 21 18:02:19 2026 +0100 +++ b/test/database.c Wed Jan 21 18:19:31 2026 +0100 @@ -176,24 +176,6 @@ } } -CX_TEST(testConnectionExec) { - CX_TEST_DO { - CX_TEST_ASSERT(conn); - - int t1 = dbuConnectionExec(conn, "create table ExecTest1(a int);"); - CX_TEST_ASSERT(t1 == 0); - - int t2 = dbuConnectionExec(conn, "insert into ExecTest1(a) values (1);"); - CX_TEST_ASSERT(t2 == 0); - - int t3 = dbuConnectionExec(conn, "drop table ExecTest1;"); - CX_TEST_ASSERT(t3 == 0); - - int fail = dbuConnectionExec(conn, "select * from Fail;"); - CX_TEST_ASSERT(fail != 0); - } -} - CX_TEST(testSingleValueQuery) { CX_TEST_DO { CX_TEST_ASSERT(conn); @@ -246,13 +228,29 @@ } } -CX_TEST(testSqlExecParam) { +CX_TEST(testSqlExec) { CX_TEST_DO { + CX_TEST_ASSERT(conn); + + int t1 = dbuSqlExec(conn, "create table ExecTest1(a int);"); + CX_TEST_ASSERT(t1 == 0); + + int t2 = dbuSqlExec(conn, "insert into ExecTest1(a) values (1);"); + CX_TEST_ASSERT(t2 == 0); + + int t3 = dbuSqlExec(conn, "drop table ExecTest1;"); + CX_TEST_ASSERT(t3 == 0); + + int fail = dbuSqlExec(conn, "select * from Fail;"); + CX_TEST_ASSERT(fail != 0); + + CX_TEST_ASSERT(dbuSqlExec(conn, "PRAGMA foreign_keys = ON;") == 0); CX_TEST_ASSERT(dbuSqlExec(conn, "create table ExecTest3( " "test1_id integer primary key autoincrement, " - "value int);") == 0); + "value int, " + "str text);") == 0); CX_TEST_ASSERT(dbuSqlExec(conn, "create table ExecTest4( " "test2_id integer primary key autoincrement, " @@ -262,6 +260,21 @@ // fail test CX_TEST_ASSERT(dbuSqlExec(conn, "insert into ExecTest4(exectest1_id, value) values (-999, 123);") != 0); + + // param tests + CX_TEST_ASSERT(dbuSqlExecParamInt32(conn, "insert into ExecTest3(value) values (?);", 11) == 0); + CX_TEST_ASSERT(dbuSqlExecParamUInt32(conn, "insert into ExecTest3(value) values (?);", 12) == 0); + CX_TEST_ASSERT(dbuSqlExecParamInt64(conn, "insert into ExecTest3(value) values (?);", 4000000000L) == 0); + CX_TEST_ASSERT(dbuSqlExecParamUInt64(conn, "insert into ExecTest3(value) values (?);", 5000000000L) == 0); + CX_TEST_ASSERT(dbuSqlExecParamString(conn, "insert into ExecTest3(str) values (?);", "str1") == 0); + CX_TEST_ASSERT(dbuSqlExecParamCxString(conn, "insert into ExecTest3(str) values (?);", cx_str("str2")) == 0); + CX_TEST_ASSERT(dbuSqlExecParamCxMutStr(conn, "insert into ExecTest3(str) values (?);", cx_mutstr("str3")) == 0); + + // param macro test + CX_TEST_ASSERT(dbuSqlExecParam(conn, "insert into ExecTest3(value) values (?);", 111) == 0); + CX_TEST_ASSERT(dbuSqlExecParam(conn, "insert into ExecTest3(str) values (?);", "str4") == 0); + CX_TEST_ASSERT(dbuSqlExecParam(conn, "insert into ExecTest3(str) values (?);", cx_str("str5")) == 0); + CX_TEST_ASSERT(dbuSqlExecParam(conn, "insert into ExecTest3(str) values (?);", cx_mutstr("str6")) == 0); } } diff -r c160700751ec -r e3163dc41a80 test/database.h --- a/test/database.h Wed Jan 21 18:02:19 2026 +0100 +++ b/test/database.h Wed Jan 21 18:19:31 2026 +0100 @@ -45,11 +45,10 @@ void cleanup_db_tests(void); CX_TEST(testSqliteConnection); -CX_TEST(testConnectionExec); CX_TEST(testSingleValueQuery); CX_TEST(testSqlExecQuery); CX_TEST(testSqlExecQueryParam); -CX_TEST(testSqlExecParam); +CX_TEST(testSqlExec); CX_TEST(testSingleTableQuery); CX_TEST(testMultiTableQuery); CX_TEST(testMultiTableQuery1); diff -r c160700751ec -r e3163dc41a80 test/main.c --- a/test/main.c Wed Jan 21 18:02:19 2026 +0100 +++ b/test/main.c Wed Jan 21 18:19:31 2026 +0100 @@ -128,11 +128,10 @@ } cx_test_register(suite, testSqliteConnection); - cx_test_register(suite, testConnectionExec); cx_test_register(suite, testSingleValueQuery); cx_test_register(suite, testSqlExecQuery); cx_test_register(suite, testSqlExecQueryParam); - cx_test_register(suite, testSqlExecParam); + cx_test_register(suite, testSqlExec); cx_test_register(suite, testSingleTableQuery); cx_test_register(suite, testMultiTableQuery); cx_test_register(suite, testMultiTableQuery1);