On Sat, 2008-04-05 at 12:51 +0300, Alex Mizrahi wrote: > in elephant we have several different backends: > * BDB one is primary one, APIs were modelled according to > capabilities of > BDB > * CLSQL can work with any SQL database supported by CLSQL (that's > good), > but has some significant "sub-optimalities" > * Postmodern can work with PostgreSQL only (uses "postmodern" > library, > hence the name) and has less sub-optimalities than CLSQL
As an aside, I am currently trying to implement Ian's latest extensions to the internal BTree model under CLSQL in order that we we can be green on all backends with his latest features (in the "elephant-unstable" branch.) Reviewing the code I wrote two or three years ago for CLSQL, which unfortunately influenced the PostModern stuff in some ways, it does seem pretty heinous. The lesson I take from this is mostly that we should try to prioritize a native-LISP backend as much as possible. Although I agree with the defense of using a relational database as a store given the engineering advantages (such as automated backups) that it provides, it is also clear that if we had a native-LISP backend we would broaden the choices that a user would have. One could then experiment with Elephant "out-of-the-box" (via the native LISP backend), then implement on top of PostModern, then perhaps move to BDB if you like. The main reason for maintaining the CL-SQL backend is that it would be a good starting point for an Oracle, MS Sql Server, or Mysql implementation. The PostModern backend actually would also be a model for those implementations, though a less direct one. I personally think the PostModern work made CL-SQL less important, and a Native LISP backend would make it less important still. I can imagine a time when we would deprecate the CL-SQL backend entirely. In particular, if we had something like PostModern for one other major database we would then have two models of how to implement that way, and could probably mothball the CL-SQL backend. _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel