BDB

Berkeley DB CFFI bindings

Introduction

BDB is a small (well it was supposed to be a small...) package offering CFFI-Bindings to Berkeley DB. The package is supposed to be as lispy , but as near to the C library as possible.
You can find more informations about Berkeley db on http://www.sleepycat.com. Since the package is supposed to be as near as possible to the C library, you should read the "Getting starting..." guides, using the "bdb-playgound" package, to get a feeling on how to use Berkeley DB and/or bdb.

State

Lisp Platforms: testest with SBCL 0.9.11 and 0.9.12 only (yet), but should work on other implementations with CFFI support, too
Berkeley DB Version: 4.3
Package version: I don't use any versioning (at the moment), so get used to the darcs repo. But at the moment consider this a initial pre pre pre pre pre alpha version...
License LLGPL

Packages

Sure, the package was supposed too be small, but unfortunatelly it grew and grew, thus it consists/needs several packages:

PackageDescriptionDependenciesDocumentation
mycl-util My private utility package, which i use/develop in, since I'm lerning CL (I'm just very new to CL...) None documentation
cffi-util Was once part of bdb package, but outsourced as new package. CFFI
mycl-util
trivial-gray-streams
flexi-streams
documentation
bdb These are the CFFI bindings to Berkley DB CFFI
mycl-util
cffi-util
documentation
bdb-playground If you want to play/test the library, bdb-playground is a nice starting point, since it uses cl-store for writing and reading the data into/from the database and you can immediately start unsing the library. bdb
cl-store
documentation

Download/darcs

projectdarcs repo
mycl-util darcs get http://common-lisp.net/project/bdb/darcs/mycl-util
cffi-util darcs get http://common-lisp.net/project/bdb/darcs/cffi-util
bdb darcs get http://common-lisp.net/project/bdb/darcs/bdb
bdb-playground darcs get http://common-lisp.net/project/bdb/darcs/bdb-playground

Installation

bdb package:
The bdb package comes with a wrapper library for libdb, which must be compiled and made available. You can find more infos on how to install in the README file.

All packages:
Just make all asdf files available and load via asdf.

Example Usage

  1. Simple db Example
  2. Secondary Databases

Mailing Lists

Valid XHTML 1.0 Strict