diff options
author | bpc2003 <wpesfriendnva@gmail.com> | 2025-05-23 22:19:18 -0400 |
---|---|---|
committer | bpc2003 <wpesfriendnva@gmail.com> | 2025-05-23 22:19:18 -0400 |
commit | 5f5c0ec887a4cd7640261250d638300a3ea90d02 (patch) | |
tree | 81a0af3a98183cc053fac365a67964a057ad50d7 /src/include | |
parent | b28d02537cd3c2e39dc4db9d5f53a59b694dda13 (diff) |
Get started on public API
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/init.c | 25 | ||||
-rw-r--r-- | src/include/xdbms.c | 31 | ||||
-rw-r--r-- | src/include/xdbms.h | 10 |
3 files changed, 36 insertions, 30 deletions
diff --git a/src/include/init.c b/src/include/init.c deleted file mode 100644 index 76f46a1..0000000 --- a/src/include/init.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> - -#include "xdbms.h" -#include "engine/engine.h" - -static tablist_t *db; - -int xdb_init(char *filename) -{ - if (filename == NULL) - fprintf(stderr, "Warning: running in-memory database\n"); - db = readdb(filename); - - tablist_t *tmp = getkeys(db, -1, NULL, 0); - for (int i = 0; i < tmp[0].len; ++i) { - printf("id: %d\n", i); - for (int j = 0; tmp[0].tab[j].flag; ++j) - printf("%s\n", tmp[0].tab[j].key); - } - free(tmp); - delkeys(db, -1, NULL, 0); - free(db); - return 0; -} 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 <stdio.h> +#include <stdlib.h> + +#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; +} diff --git a/src/include/xdbms.h b/src/include/xdbms.h index a18996d..af7d1dc 100644 --- a/src/include/xdbms.h +++ b/src/include/xdbms.h @@ -1,13 +1,13 @@ #ifndef XDBMS_H #define XDBMS_H -// init: intialize an XDBMS DB +// xdb_init: intialize an XDBMS DB int xdb_init(char *filename); -// exec: execute a statement on an XDBMS DB -char *exec(char *stmt); +// xdb_stmt: execute a statement on an XDBMS DB +char *xdb_stmt(char *stmt); -// close: close an XDBMS DB -int close(); +// xdb_close: close an XDBMS DB +void xdb_close(void); #endif |