| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
UnQLite is a self-contained, serverless, transactional database engine for C and C++ applications.
It runs in-process, stores data in a single portable file, and ships as a small embed-friendly codebase with no external runtime dependency. UnQLite exposes two layers:
Official website: https://unqlite.symisc.net/
Current public release: 1.2.1
If you want the simplest and most stable embed story, use the amalgamation files at the repository root:
That is the intended drop-in path for production embedding.
The src/ directory contains the split source tree used to build and maintain the amalgamation.
The fastest way to embed UnQLite is to compile your application together with unqlite.c.
cc -O2 -std=c99 -I. your_app.c unqlite.c -o your_appCompile the bundled key/value intro sample:
cc -O2 -std=c99 -I. samples/1.c unqlite.c -o unqlite_kv_introcl /nologo /TC /I. your_app.c unqlite.cCompile the bundled key/value intro sample:
cl /nologo /TC /I. samples\1.c unqlite.c /link /OUT:unqlite_kv_intro.exeIf your application needs UnQLite compiled with thread support, define UNQLITE_ENABLE_THREADS when building:
cc -O2 -std=c99 -DUNQLITE_ENABLE_THREADS -I. your_app.c unqlite.c -o your_appcl /nologo /TC /DUNQLITE_ENABLE_THREADS /I. your_app.c unqlite.c#include "unqlite.h"
#include <stdio.h>
static int print_value(const void *data, unsigned int len, void *user_data) {
(void)user_data;
fwrite(data, 1, len, stdout);
return UNQLITE_OK;
}
int main(void) {
unqlite *db = 0;
if (unqlite_open(&db, ":mem:", UNQLITE_OPEN_CREATE) != UNQLITE_OK) {
return 1;
}
if (unqlite_kv_store(db, "hello", -1, "world", 5) != UNQLITE_OK) {
unqlite_close(db);
return 1;
}
if (unqlite_kv_fetch_callback(db, "hello", -1, print_value, 0) != UNQLITE_OK) {
unqlite_close(db);
return 1;
}
putchar('\n');
return unqlite_close(db) == UNQLITE_OK ? 0 : 1;
}If you only need embedded key/value storage, you can stay entirely within the unqlite_kv_* API family and ignore the document-store layer.
The samples/ directory contains small, focused examples for common integration paths.
Useful starting points:
The official documentation lives on the new site:
UnQLite is distributed under the 2-Clause BSD license.
| Back | FazBrowse Home | New Git URL |