On Wed, 30 Nov 2005 13:37:56 -0500
Perrin Harkins <[EMAIL PROTECTED]> wrote:
> Hi Torsten,
>
> A few comments on the new module:
>
> > While Apache::DBI caches connections at connect time this module caches
> > them
> > only at disconnect or DESTROY.
>
> Why? I don't understand the value in doing this.
>
> > Apache::DBI does not distinguish between currently used and free
> > connections.
> > Hence, it cannot support multiple identical connections. This module does.
>
> To get multiple connections to the same database with Apache::DBI, you
> just need to add something unique to the attributes hash in your connect
> string.
>
> > Apache::DBI resets all connections at request cleanup. Apache::DBI::Cache
> > intercepts disconnect or DESTROY events to do that.
>
> For the rollback you mean? That's not good. The purpose of the
> automatic rollback in Apache::DBI is to reset the connection when your
> code dies due to a bug. There won't be any disconnect or DESTROY called
> in that situation.
>
> > Apache::DBI::Cache includes the DBD driver name in the caching key while
> > Apache::DBI does not. Hence with Apache::DBI the following 2 DSNs can
> > result
> > in the same DBI handle: dbi:mysql:dbname=db and dbi:Pg:dbname=db
>
> Sounds like a good idea.
>
> > I wrote this module because Apache::DBI had changed the logic of our
> > programs.
>
> How so?
>
> > Further, we had really much DSNs mostly MySQL in various configuration
> > files
> > all using different syntaxes to connect to a dozen databases on 2 database
> > hosts.
>
> I think the normalization of connect strings is a good idea. It could
> be useful on its own, for people who don't use mod_perl.
>
> - Perrin
Hi Torsten,
as Perrin says, your module has some nice things and some that I don't
understand too much me too.
Apache::DBI is a well known and famous module largely used by mod_perl users.
IMHO, trying to improve that instead of writing a new one would have been the
better thing for the mod_perl community.
Have you contacted Apache::DBI maintainer in order to integrate your work with
that module?
by
- Enrico