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