#pragma once #include "tlibc/errors.h" #define IDB_VERSION 1 typedef struct IncrementalDB IncrementalDB; typedef struct Table Table; Result(IncrementalDB*) idb_open(str db_dir); void idb_close(IncrementalDB* db); Result(Table*) idb_getOrCreateTable(IncrementalDB* db, str _table_name, u32 row_size); Result(void) idb_getRows(Table* t, u64 id, void* dst, u64 count); #define idb_getRow(T, ID, DST) idb_getRows(T, ID, DST, 1) Result(u64) idb_pushRows(Table* t, const void* src, u64 count); #define idb_pushRow(T, SRC) idb_pushRows(T, SRC, 1) Result(void) idb_updateRows(Table* t, u64 id, const void* src, u64 count); #define idb_updateRow(T, ID, SRC) idb_updateRows(T, ID, SRC, 1) Result(u64) idb_getRowCount(Table* t);