27 lines
729 B
C
27 lines
729 B
C
#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);
|