fix param type in dbuSqlExecParamUInt64/dbuSqlExecQueryParamUInt64, remove dbuConnectionExec default tip

Wed, 21 Jan 2026 18:19:31 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Wed, 21 Jan 2026 18:19:31 +0100
changeset 51
e3163dc41a80
parent 50
c160700751ec

fix param type in dbuSqlExecParamUInt64/dbuSqlExecQueryParamUInt64, remove dbuConnectionExec

dbutils/db.c file | annotate | diff | comparison | revisions
dbutils/dbutils/db.h file | annotate | diff | comparison | revisions
test/database.c file | annotate | diff | comparison | revisions
test/database.h file | annotate | diff | comparison | revisions
test/main.c file | annotate | diff | comparison | revisions
--- 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;
 }
--- 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);
--- 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);
     }
 }
 
--- 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);
--- 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);

mercurial