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