56 lines
1.5 KiB
C
56 lines
1.5 KiB
C
#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);
|
|
|
|
try_fatal_void(tlibc_init());
|
|
try_fatal_void(tsqlite_init());
|
|
Defer(tlibc_deinit());
|
|
Defer(tsqlite_deinit());
|
|
|
|
try_fatal_void(test_connection());
|
|
try_fatal_void(test_statement());
|
|
|
|
Return 0;
|
|
}
|