From 5f5c0ec887a4cd7640261250d638300a3ea90d02 Mon Sep 17 00:00:00 2001 From: bpc2003 Date: Fri, 23 May 2025 22:19:18 -0400 Subject: Get started on public API --- src/include/xdbms.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/include/xdbms.c (limited to 'src/include/xdbms.c') diff --git a/src/include/xdbms.c b/src/include/xdbms.c new file mode 100644 index 0000000..eb6193e --- /dev/null +++ b/src/include/xdbms.c @@ -0,0 +1,31 @@ +#include +#include + +#include "engine/engine.h" +#include "xml/xml.h" +#include "xdbms.h" + +static tablist_t *db; + +int xdb_init(char *filename) { + if (filename == NULL) + fprintf(stderr, "Warning: running in-memory database\n"); + db = readdb(filename); + if (db == NULL) { + fprintf(stderr, "Error: Invalid DB file\n"); + return 1; + } + return 0; +} + +void xdb_close(void) { + delkeys(db, -1, NULL, 0); + free(db); +} + +char *xdb_stmt(char *stmt) { + map_t *decoded = decode(stmt); + printf("%s\n", encode(decoded)); + freemap(decoded); + return NULL; +} -- cgit v1.2.3