First, thanks for postmodern, it's a great library!
I just used it to make a new backend for the elephant object-store, db-postmodern. Cross-posting from elephant-devel:
It uses postgresql for storage, and the postmodern lisp socket interface instead of clsql. The implementation is actually quite different from the clsql backend.
db-postmodern uses prepared queries and stored procedures for performance reasons.
The db-postmodern cursor is based on a sql cursor. Each btree has its own database table.
db-postmodern is slower than the berkeley db backend, I guess about four or five times.
It now passes all tests and the migration test, but should of course be regarded as an alpha. It is only tested on sbcl, but should work on all platforms that postmodern supports.
About postmodern: http://common-lisp.net/project/postmodern/ db-postmodern mainly uses the lower level cl-postgres driver in the postmodern project.
During development I used a darcs mirror of elephant, and I have temporarily put it at common-lisp.net. This darcs branch is intended for people wanting to try db-postmodern, and it is not an automatic mirror of the cvs elephant.
Download:
To get elephant containing db-postmodern, darcs get http://common-lisp.net/project/grand-prix/darcs/elephant
Best wishes, Henrik Hjelte
postmodern-devel@common-lisp.net