Nick Kew wrote:
I have recently developed a first-draft namespace module mod_sql for
incorporating SQL into HTML/XML pages with mod_publisher or mod_xmlns.

In doing so, I revisited the existing database connection pooling modules,
and reclassified them as drivers for mod_sql.  I also added support for
LAMP-style single persistent connections for use in non-threaded MPMs,
using #if APR_HAS_THREADS.

That basically means each database module is an ap_provider for "dbd",
and implements a common API.

+1 in concept from me. One thing I think needs to be kept in mind is a separation from Apache-ism so it could be used by Python/PHP/Perl without requiring Apache.


I'd like the DBD API to be generic, and to work for other modules that
use an SQL backend, ranging from specific modules such as SQL-based
authentication and logging to general frameworks such as Perl, Python
and PHP.  I don't know to what extent that's going to prove feasible,
but perhaps my current draft can serve as a startingpoint.  What I'd
really like at this stage is feedback from other developers connecting
Apache to an SQL backend.

One thing I believe that is missing from the current API is a method to store a result set into a var, and then iterate that whenever you want. (Plus seeking within a result set).


Description and source code at
http://apache.webthing.com/database/

An API to use as a starting point might be libdbi. Its public interface is at http://libdbi.sourceforge.net/docs/programmers-guide/


They also have a set of documentation on the design of the Database Driver's API at http://libdbi.sourceforge.net/docs/driver-guide/

I really like using libdbi, and I have used it for several apache modules, but its memory management is a painful hack where you are required to free() and malloc() things yourself. I would love a libdbi
like interface that fully embraced pools. Anyone else?


If we get to a working code-base, I would like to investigate adding it to APR-Util.

-Paul Querna



Reply via email to