Hi all, For a while now I have been thinking about just how useful the database abstraction layer is for people who want to use Sleepycat DB2 or DB3 - also known as Berkeley DB - (www.sleepycat.com) database systems. Those familiar with either know just how sophisticated they are: offering full multi-versioning, cursors, logical joins, duplicate keys, an RPC interface and much more. None of this is really given over to the PHP user - presumably, because it doesn't fit with the rest of the dba interface. In my opinion, it would be well worth implementing the full DB2 and DB3 library. Since the API namespace is still quite similar between DB2 and DB3, the interface to both databases could be combined and made driver-driven in the same way as dba. There are some good reasons the dba interface shouldn't just be extended? Firstly, the current PHP functions do not lend themselves to cursors, duplicates and transactions, which are all handled at the API level within sleepycat. Secondly, the function namespace and defintions differ significantly from the C library. It is important to maintain the close tie to the underlying library here not just in order to best implement the features of sleepycat DB (as above) but also because many people initially interested in using sleepycat DB2 or 3 within PHP have probably worked with it in their C applications and are familiar with the library. For this reason as well, it would be useful to implement both a standard PHP interface (db_create(),db_open(),db_curopen(),db_put()...) as well as an OO style library, where the db operation functions hang off the database or cursor object as methods. That is, it would be implemented in a similiar way to DOM XML interface. What do people think? Is this just more bulk to the extension frame work? Any suggestions etc? Gavin -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]