-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

> Should a call to prepare() return an Active statement? (i.e. $sth->{Active} 
> == 1)
>
> This appears to be the behaviour of DBD::Sybase, but not DBD::Pg

I don't think there is a canonical answer to that, but I can say that 
DBD::Pg in most cases will not even talk to the server until the first 
execute() after the prepare(), so it not being Active seems a sane 
interpretation.

The docs for DBI say:

   The "Active" attribute is true if the handle object is "active". 
   This is rarely used in applications. The exact meaning of active 
   is somewhat vague at the moment. For a database handle it typically 
   means that the handle is connected to a database ("$dbh->disconnect" 
   sets "Active" off).  For a statement handle it typically means that 
   the handle is a "SELECT" that may have more data to fetch. (Fetching 
   all the data or calling "$sth->finish" sets "Active" off.)

The docs for DBD::Pg:

   Indicates if a handle is active or not. For database handles, this 
   indicates if the database has been disconnected or not. For statement 
   handles, it indicates if all the data has been fetched yet or not. 
   Use of this attribute is not encouraged.

As far as I can tell, DBD::Sybase makes not effort to do anything special 
regarding that attribute.

In short, I would not rely upon it, especially across DBDs.

- -- 
Greg Sabino Mullane g...@turnstep.com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201609291928
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAlfto9cACgkQvJuQZxSWSsgozgCg4UJ6udKs/B/p36bjLd47/5op
XYAAoJH6aQ3K20AcyfEwkBxUD3j55ruv
=nMi8
-----END PGP SIGNATURE-----


Reply via email to