www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - QDBM "depot.c" translated to D

here i'm presenting[1][2] a simple, but usable and reasonably[3] fast
key-value storage in the spirit of GDBM. it is based on Depot[4] layer
of QDBM[5] package. it should be compatible with QDBM databases.

Depot consists of a single class, and allows you to put, get and del[ete]
records. it also supports simple iteration. it keeps it's database in a
single disk file. file size is limited to 2GB.

Depot doesn't support concurrent access or multiple iterators.

Depot is not ACID database, and it doesn't support transactions.

Depot is GNU LGPL.

refer to QDBM documentation to learn more about it's Depot layer.


WARNING! Depot is not heavily tested, and it's API may change in the
future. think of it as a proof-of-concept code. althru QDBM is stable,
there is no guarantees that i didn't introduced new bugs while porting.


[1] http://repo.or.cz/w/iv.d.git/blob_plain/HEAD:/depot.d
[2] http://repo.or.cz/w/iv.d.git/blob_plain/HEAD:/depot_test/dtest01.d
[3] "reasonably" means "it doesn't suck... much"
[4] http://fallabs.com/qdbm/spex.html#depotapi
[5] http://fallabs.com/qdbm/index.html
=
May 20 2015