connection, bind, error codes

This commit is contained in:
2025-12-13 07:42:44 +05:00
parent 979bbfe2ba
commit 3d18027489
6 changed files with 162 additions and 102 deletions

View File

@@ -1,5 +1,45 @@
#include "tsqlite.h"
Result(void) test_connection(){
Deferral(8);
try(tsqlite_connection* conn, p, tsqlite_connection_open("db.sqlite"));
Defer(if(conn != NULL) { IGNORE_RESULT tsqlite_connection_close(conn); });
// close manually to test tsqlite_connection_close
try_void(tsqlite_connection_close(conn));
conn = NULL;
Return RESULT_VOID;
}
Result(void) test_statement(){
Deferral(8);
try(tsqlite_connection* conn, p, tsqlite_connection_open("db.sqlite"));
Defer(if(conn != NULL) { IGNORE_RESULT tsqlite_connection_close(conn); });
try(tsqlite_statement* st, p, tsqlite_statement_compile(conn, STR("meow meow")));
Defer(tsqlite_statement_free(st));
try_void(tsqlite_statement_bind_null(st, "nul"));
bool has_next_row = false;
do {
try(has_next_row, i, tsqlite_statement_execNext(st));
str cell_str = str_null;
try_void(tsqlite_statement_getResult_str(st, &cell_str));
printf("RESULT(%i, %i): '"FMT_str"'\n",
st->result_row, st->result_col, str_expand(cell_str));
} while(has_next_row);
// close manually to test tsqlite_connection_close
try_void(tsqlite_connection_close(conn));
conn = NULL;
Return RESULT_VOID;
}
int main(){
Deferral(32);
@@ -7,6 +47,9 @@ int main(){
try_fatal_void(tsqlite_init());
Defer(tlibc_deinit());
Defer(tsqlite_deinit());
try_fatal_void(test_connection());
try_fatal_void(test_statement());
Return 0;
}