Garrett Rooney wrote:
Nick Kew wrote:

On Mon, 6 Dec 2004, Nick Kew wrote:


Currently I have code for a proposed apr_dbd that compiles and loads
cleanly, comprising apr_dbd.[c|h], a MySQL driver apr_dbd_mysql,



I've now added a test program, and the drivers for MySQL and PostgreSQL work for me. Time to post here for preliminary review.

I attach the current candidate APR software:

apr_dbd.h    - specifies the API
apr_dbd.c    - implements (skeleton) framework
apr_dbd_mysql.c    - driver for MySQL
apr_dbd_pgsql.c - driver for PostgreSQL
apr_dbd_test.c    - test program

There's a package containing this together with some related stuff
at http://www.apache.org/~niq/apache-dbd.tar.bz2

If it is accepted as a startingpoint for an apr-util module, I'll
donate it to ASF and license it all under ASF terms.
If not, all rights reserved.

A few more questions...

MySQL's API requires you to call a function at startup in order to ensure thread safety. Is there any provision for doing this in your design?

I wonder if it's possible to make pools and transactions work together. Perhaps we could make it easy to set up a cleanup in a pool that would do the appropriate transaction handling. Just a thought, I'm not sure how this would work exactly.

Oh, and I forgot the most important question... How do you find the API in practice? Is it easier than using the native APIs directly? Harder? Worth the pain? How does it compare with other db abstraction layers?

-garrett

Reply via email to