WhiteDB memory database
C JavaScript Python M4 Java C++ Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Admin Changes for filtering data in admin Jun 17, 2014
Db skip field update if the new value equals the old value. This also wo… Aug 19, 2017
Doc clarified the error codes returned by some API functions in the manua… May 25, 2018
Examples Deprecate COMPILER variable. Oct 22, 2014
Main added summary report of errors when deleting records with the wgdb co… May 25, 2018
Parser replaced identifiers with leading underscores for better C standard c… Oct 28, 2013
Printer replaced identifiers with leading underscores for better C standard c… Oct 28, 2013
Python added new C API functions to the Python module (by Vladimir Ulogov) Jul 16, 2016
Reasoner separated the regression tests from the database library Aug 7, 2014
Rexamples testing May 17, 2013
Server Deprecate COMPILER variable. Oct 22, 2014
Test removed leftover junk from debugging Aug 9, 2014
java/jni more broken hashbangs; suppress output from changing directories Oct 21, 2014
json minor fixes, mostly to silence compiler warnings; some inactive code … Aug 5, 2014
AUTHORS updated email address Jan 16, 2014
Bootstrap Fix bootstarp script for OS X build (in OS X need to use glibtoolize) Dec 14, 2013
COPYING added Dec 18, 2008
ChangeLog trivial fixes to docs Oct 12, 2013
Doxyfile project renamed wgandalf --> WhiteDB; version number bumped 0.5.1 -->… May 6, 2013
GPLLICENCE added Dec 18, 2008
INSTALL split installation instructions from the manual; added website addres… Oct 15, 2013
MANIFEST trivial fixes to docs Oct 12, 2013
Makefile.am Added support for pkg-config. Sep 9, 2016
NEWS trivial fixes to docs Oct 12, 2013
README more neutral wording in documentation Jan 20, 2015
README.asc Update README.asc Nov 11, 2013
acinclude.m4 added Python 3 support; documentation revised to reflect that Apr 18, 2013
compile.bat migrated the commonly used functionality from indextool to wgdb; inde… Aug 9, 2014
compile.sh Deprecate COMPILER variable. Oct 22, 2014
config-gcc.h minor version bumped to 0.8 Nov 8, 2014
config-w32.h minor version bumped to 0.8 Nov 8, 2014
configure.ac Added support for pkg-config. Sep 9, 2016
gendoc.sh added a warning to the installation instructions about ldconfig; some… Oct 25, 2014
unite.sh indentation consistent with the rest of the project Oct 21, 2014
wgdb.def temporarily expose the index hash search function in the DLL (until t… Oct 1, 2014
whitedb.pc.in Added support for pkg-config. Sep 9, 2016


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 http://whitedb.org 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 http://whitedb.org/download.html instead.