[Catalyst] Shared database handles
Perrin Harkins
perrin at elem.com
Mon May 8 05:30:18 CEST 2006
Matt S Trout wrote:
> Actually, if you're already using Apache::DBI I'd recommend dumping it
> and seeing if that fixes the problem; it does all sorts of silly magic
> that breaks spectacularly on edge cases.
>
> Apache::DBI is fine if you always call DBI->connect yourself and don't
> persist a $dbh anywhere. If not, it's almost-certain-death. Don't risk it.
Can you be more specific? Apache::DBI is a tiny module, very similar to
DBI->connect_cached, but also disabling $dbh->disconnect. Keeping your
own persistent copy of a database handle would prevent it from doing the
pings and automatic rollbacks it would otherwise do to help you, but I
don't see how it would hurt you. It actually avoids caching connections
during startup, which seems to be the problem here.
If you already have a system for caching database handles, you don't
need Apache::DBI, but it's not a dangerous module. If you've discovered
some sort of undocumented issue it causes with DBI, please report it.
- Perrin
More information about the Catalyst
mailing list