QDBM "depot.c" translated to D

ketmar via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed May 20 12:29:27 PDT 2015


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20150520/97a36be4/attachment.sig>


More information about the Digitalmars-d-announce mailing list