On Thu, Nov 7, 2013 at 11:06 PM, Xinhuan Zheng <xzh...@christianbook.com>wrote:

> As I turned on more debugging, when the problem occurs, the Apache cached
> connection reference is different than the database handle reference the
> query is using.


Which query are you talking about?  The ping in Apache::DBI?  Or something
else in your own code?


> We use Apache::DBI and DBI and use Apache::DBI is before DBI. We actually
> call DBI->connect_cached and based on DBI document, I guess this would be
> handled by Apache::DBI connect.


Yes, it should be.


> However, I guess we also defined a base class that can store a database
> handle. There are subclasses inherited from this base class. Is that good
> idea to store a database handle in a base class?


No, don't do that.  You should pick one approach for managing database
handles, whether it's Apache::DBI or something else, and only use that.  If
you keep a database handle around in a global somewhere, it may time out
and nothing will ping it because you're not calling connect() on each
request.

- Perrin

Reply via email to