Skip to content


Subversion checkout URL

You can clone with
Download ZIP
WhiteDB memory database
C JavaScript Python C++ Java Shell Other
branch: master
Failed to load latest commit information.
Admin Changes for filtering data in admin
Db include errno header from proper location
Doc clarified the state of JSON support in documentation
Examples Deprecate COMPILER variable.
Main added missing source files
Parser replaced identifiers with leading underscores for better C standard c…
Printer replaced identifiers with leading underscores for better C standard c…
Python Deprecate COMPILER variable.
Reasoner separated the regression tests from the database library
Rexamples testing
Server Deprecate COMPILER variable.
Test removed leftover junk from debugging
java/jni more broken hashbangs; suppress output from changing directories
json minor fixes, mostly to silence compiler warnings; some inactive code …
AUTHORS updated email address
Bootstrap Fix bootstarp script for OS X build (in OS X need to use glibtoolize)
ChangeLog trivial fixes to docs
Doxyfile project renamed wgandalf --> WhiteDB; version number bumped 0.5.1 -->…
INSTALL split installation instructions from the manual; added website addres…
MANIFEST trivial fixes to docs add to the distribution
NEWS trivial fixes to docs
README more neutral wording in documentation
README.asc Update README.asc
acinclude.m4 added Python 3 support; documentation revised to reflect that
compile.bat migrated the commonly used functionality from indextool to wgdb; inde… Deprecate COMPILER variable.
config-gcc.h minor version bumped to 0.8
config-w32.h minor version bumped to 0.8 minor version bumped to 0.8 added a warning to the installation instructions about ldconfig; some… indentation consistent with the rest of the project
wgdb.def temporarily expose the index hash search function in the DLL (until t…


WhiteDB (wgdb) README

WhiteDB is a lightweight database library operating fully in main memory. Disk is used only for dumping/restoring database and logging.

Data is persistantly kept in the shared memory area: it is available simultaneously to all processes and is kept intact even if no processes are currently using the database.

WhiteDB has no server process. Data is read and written directly from/to memory, no sockets are used between WhiteDB and the application using WhiteDB.

WhiteDB keeps data as N-tuples: each database record is a tuple of N elements. Each element (record field) may have an arbitrary type amongst the types provided by WhiteDB. Each record field contains exactly one integer (4 bytes or 8 bytes). Datatypes which cannot be fit into one integer are allocated separately and the record field contains an (encoded) pointer to the real data.

WhiteDB is written in pure C in a portable manner and should compile and function without additional porting at least under Linux (gcc) and Windows (native Windows C compiler cl). It has Python and experimental Java bindings.

WhiteDB has several goals:

  • speed

  • portability

  • small footprint and low memory usage

  • usability as an rdf database

  • usability as an extended rdf database, xml database and outside these scopes

  • seamless integration with the Gandalf rule engine (work in progress)

See for up-to-date documentation and other information. This distribution also includes various documentation:

  • Doc/Install.txt - the installation instructions

  • Doc/Tutorial.txt - getting started with the database

  • Doc/Manual.txt - full C API documentation

  • Doc/Utilities.txt - command line utilities and other programs

  • Doc/python.txt - Python API documentation

WhiteDB is licenced under GPL version 3.

if you’re looking for release packages, please don’t use the ones Github generates automatically. Get them from instead.
Something went wrong with that request. Please try again.