I have just integrated Henrik Hjelte's postmodern-based backend into the official darcs repository for elephant:
http://common-lisp.net/project/elephant/darcs/elephant/ However, this is not an official release, but presumably will be part of the next official release. It passes all of the tests. The Postmodern backend is not quite twice as fast on our testsuite as the CL-SQL backend. The CL-SQL backend still has some value, however, for non-Postgres databases. If someone were to write another DB-specific backend, such as a MySQL backend or an Oracle backend, I would assume they would benefit from both the CL-SQL version and the Postmodern version. However, I think the Postmodern version is better-written. I thank Henrik very much for preparing such a well-written, easy-to-integrate backend. I did, however, have to make three changes to get this to work for me under SBCL. Postmodern defines "db-error" incompatibly with the BDB backend, so I renamed the BDB symbol from db-error to bdb-db-error. This was one issue on a "handler-case" that I assume was acceptable under Henrik's LISP, but didn't work under SBCL, or seem to follow the CLHS. Finally, in shared-initialize :after method that builds the cache- indices I had to explicitly set the slot to the initform, to prevent a reading of an unbound-slot. I still have no idea why the slot was unbound at that point, in spite of all documentation saying that it should be. I slightly modified Henrik's test to harmonize more with the CL-SQL version, and added an example of using postmodern into the RUNTEST.lisp file. Describing this in the manual remains to be done; I don't have any immediate plans to do so. Personally, I think each backend adds to the overall usability of Elephant, and should broaden our user base. Particularly since one can migrate data from one backend to another, it would seem that we are offering a solid platform. Once this is officially released, users can expect the postmodern backend to be supported indefinitely. If we ever drop a backend, we will provide a way to migrate data out of it. On Sat, 2007-05-12 at 16:46 +0200, Henrik Hjelte wrote: > I have made some changes to the postmodern postgresql backend. The darcs > repo is now based on the official elephant darcs repo, so patches can be > moved between them easily. The postmodern backend passes all "official" > tests, but has not been extensively tested with real data yet. > > The db-postmodern tree can be found here: > http://common-lisp.net/project/grand-prix/darcs/elephant > > /Henrik Hjelte > > _______________________________________________ > elephant-devel site list > elephant-devel@common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel