Re: DBM/A Compatibility Layer

From: Date: Wed, 19 Jun 2002 12:04:09 +0000
Subject: Re: DBM/A Compatibility Layer
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-7208@lists.php.net to get a copy of this message
Please could you post the link to the code (the one in your site doesn't seem to work). Thanks, Tomas V.V.Cox Brent Cook wrote: > > Howdy, > > We had discussed earlier the possibility of having a DBM-style database > compatibility layer to deal with the different DBM database libraries that > PHP supports in a more consistent manner. To that end, I have written a > class called DBA. It is a wrapper to the dba_* functions in PHP which > provides an object interface and returns PEAR-style errors. It also > implements a complete DBM-style database driver, written in PHP, which > appears to be about as fast as any of the compiled-in drivers. One of the > interesting features of the built-in driver is that it logs transactions, > maintaining data integrity if there is a bug that prevents close() from > being called properly. > > An example of this library's use is as follows: > > // $driver can be any of the native drivers, > // or 'simple' for the built-in driver > $db = DBA::create('simple'); > > $db->insert($key, $value); > $db->replace($key, $value); > $db->delete($key); > > $db->close(); > > Also included is a set of functions that wrap around the built-in DBM > driver and provide the PHP dba_* functions on systems where they are not > compiled in. > > I would like to include this library in PEAR. The code and some benchmark > graphs are located here: > http://www.brentandtiffany.org/projects/dba/news.xml.html > > There is a working table and relational database that go along with this, > but I'm still working on cleaning, optimizing and PEARifying that code. I > would enjoy any comments on design, utility and naming conventions for > this library. > > - Brent > > -- > PEAR Development Mailing List (http://pear.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.pear.dev (#7208) next »