Skip to content
Small, portable, ACID, C implemented BDB style database based on skiplists instead of b-trees. http://www.dekorte.com/projects/opensource/skipdb/
C Objective-C C++ Makefile
Find file
Latest commit b86550f @stevedekorte Update README.txt

README.txt

A Berkeley DB style database implemented with a skip list instead of a b-tree. It's small, portable and supports ACID transactions (with true durability).

The license is Revised BSD.

Example:

#include "SkipDB.h"

int main(void)
{
	Datum key;
	Datum value;
	int count;

	// open
	
	SkipDB *db = SkipDB_new();
	SkipDB_setPath_(db, "test.skipdb");
	SkipDB_open(db);
	
	// write
	
	SkipDB_beginTransaction(db);
	key = Datum_FromCString_("testKey");
	value = Datum_FromCString_("testValue");
	SkipDB_at_put_(db, key, value);
	SkipDB_commitTransaction(db);
	
	// read
	
	value = SkipDB_at_(db, key);
	
	// count
	
	count = SkipDB_count(db);

	// remove
	
	SkipDB_beginTransaction(db);
	SkipDB_removeAt_(db, key);
	SkipDB_commitTransaction(db);
	
	// there's also a cursor API
	// not shown in this example code

	// close
	
	SkipDB_close(db);
	
	return 0;
}
Something went wrong with that request. Please try again.