-
Notifications
You must be signed in to change notification settings - Fork 7
C API Examples
Jonas Schnelli edited this page Aug 20, 2016
·
1 revision
cstring *value;
cstring *key;
logdb_log_db *db;
enum logdb_error error = 0;
int create_database = 1;
/* create a new database object */
db = logdb_new();
/* create a database file (will overwrite existing) */
logdb_load(db, "/tmp/test.logdb", create_database, &error);
/* append a record */
key = cstr_new("testkey");
value = cstr_new("somevalue");
/* second parameter NULL means we don't use a transaction */
logdb_append(db, NULL, key, value);
/* flush database (write its state to disk) */
logdb_flush(db);
/* cleanup */
logdb_free(db); /* will close file */
cstr_free(key, true);
cstr_free(value, true);cstring *value_test;
cstring *key;
logdb_log_db *db;
enum logdb_error error = 0;
/* create a new database object */
db = logdb_new();
/* create a database file (will overwrite existing) */
logdb_load(db, "/tmp/test.logdb", 0, &error); /* don't create new database (0 as third arg) */
/* find a record */
key = cstr_new("doesnotexists");
value_test = logdb_find(db, key);
/* value_test will be 0 (not found) */
cstr_free(key, true);
key = cstr_new("testkey");
value_test = logdb_find(db, key); /* will return reference to the in-memory mapping */
/* second parameter NULL means we don't use a transaction */
logdb_append(db, NULL, key, value);
/* flush database (write its state to disk) */
logdb_flush(db);
/* cleanup */
logdb_free(db);
cstr_free(key, true);
cstr_free(value_test, true);