State of the art structured storage for 1986.
ndbm is a Go wrapper around the POSIX NDBM database interface.
NDBM is built into Mac OS X and FreeBSD,
and is available as a compatibility mode of the GDBM library on Linux.
I wrote the first version of this library on a Mac on a cruise ship, where I needed a persistent key-value store, but had no Internet connection, just OS X system libraries, man pages, and Go documentation.
To make this package
go gettable, I've targeted the quirky GDBM 1.8,
which is the version available on Ubuntu 12-15 and Debian 7-8,
instead of attempting build-time library detection,
which would allow using the current and more NDBM-compatible GDBM 1.11.
If you are using a recent GDBM that provides
ndbm.h, you will probably need
gdbm_compat_linux.c and the
#ifdef __linux checks.
POSIX standard for NDBM:
Mac OS X NDBM:
- https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/dbm_open.3.html (Note that this is a BSD man page, and the datum struct described is wrong for OS X.)