Skip to content
C-based ordered key-value ACID DB using a skip list data structure.
Branch: master
Clone or download
Latest commit b86550f Jan 27, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
libs Linux fsync updates Aug 13, 2009
.gitignore first commit Jan 2, 2009
Makefile
Makefile.lib adding Makefile.lib and depends files Aug 7, 2009
README.txt Update README.txt Jan 27, 2015

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;
}
You can’t perform that action at this time.