perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Foo JH <jhfoo...@extracktor.com>
Subject Re: Apache::DBI - Can two different connection handles have the same reference/address at different times?
Date Tue, 08 May 2007 02:40:41 GMT
My suspicion is that when you do a disconnect, the connection is 
actually not released. That's the idea of connection pooling isn't it?

You can confirm this by checking the number of connections stated on 
your sql server after a call.

Lionel MARTIN wrote:
> Hello,
>  
> As you know,
>  
> use Apache::DBI;
> DBI->connect(....)
>  
> returns a db/connection handle.
>  
> I am wondering if it is possible, at different times during the server 
> life, that Apache::DBI returns twice the same memory reference, while 
> the connection is in fact physically not the same.
>  
> The reason for this question is simple: I would like to know if I can 
> reuse statement handles (for example doing a $sth->execute) without 
> having to recreate them if the conection handle is the same with an 
> algorithm like this simplified one:
>  
> our $sth;
> our $currentdbh ;
> our $olddbh;
> $currentdbh = DBI->connect(....);
>  
> if ($currentdbh != $olddbh){
>     $sth = $currentdbh->prepare(...)
> }
>  
> $sth->execute(....);
> $olddbh = $currentdbh;
>  
> This would save me the need to prepare at every request, while I could 
> benefit from old prepared statements.
>  
> What I'm afraid of, by doing that, are situations where db handles 
> appear to be the same (same address) while they are not in fact the same.
>  
> Thanks,
>  
> Lionel.
>  


Mime
View raw message