diff -r b26390e77237 -r df671b62538e test/database.c --- a/test/database.c Tue Dec 09 12:13:43 2025 +0100 +++ b/test/database.c Tue Dec 09 14:33:26 2025 +0100 @@ -194,3 +194,35 @@ } } + +CX_TEST(testSqlExec) { + CX_TEST_DO { + CX_TEST_ASSERT(conn); + + DBUResult *r = dbuSqlExec(conn, NULL, "select email from person where name = 'alice';"); + CX_TEST_ASSERT(r); + cxmutstr value; + CX_TEST_ASSERT(dbuResultAsValue(r, &value) == 0); + CX_TEST_ASSERT(!cx_strcmp(value, "alice@example.com")); + free(value.ptr); + } +} + +CX_TEST(testSqlExecParam) { + CX_TEST_DO { + CX_TEST_ASSERT(conn); + + DBUResult *r = dbuSqlExecParam(conn, NULL, "select email from person where name = ?;", "alice"); + CX_TEST_ASSERT(r); + cxmutstr value; + CX_TEST_ASSERT(dbuResultAsValue(r, &value) == 0); + CX_TEST_ASSERT(!cx_strcmp(value, "alice@example.com")); + free(value.ptr); + + r = dbuSqlExecParam(conn, NULL, "select name from person where hash = ?;", 987654321); + CX_TEST_ASSERT(r); + CX_TEST_ASSERT(dbuResultAsValue(r, &value) == 0); + CX_TEST_ASSERT(!cx_strcmp(value, "bob")); + free(value.ptr); + } +}