Re: DBD::Pg 2.0.0 release candidate available for testing

"Greg Sabino Mullane" <greg-738XdyZ4GzZWk0Htik3J/[email protected]>
Newsgroups gmane.comp.db.postgresql.dbdpg,gmane.comp.lang.perl.modules.dbi.general,gmane.comp.db.postgresql.interfaces,gmane.comp.lang.perl.modules.dbi.general,gmane.comp.db.postgresql.interfaces
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


>> * Full support for arrays: Perl arrays are transformed to Postgres
>> arrays automatically, and vice-versa.

> I presume this is "array type stored in a column",
> not "array for bulk loading" ?

Correct.

> Does Pg support native array binding of tuples yet ? The docs could be
> a bit confusing. E.g., I'm not certain what "Supported by this driver
> as proposed by DBI." means ? You may want to clarify that bit, and the
> difference between "bind array to a column" vs. "binding an array
> of parameters")

It does both, if I am understanding you correctly. That is, you can do:

$sth->execute([1,2,3]); ## or more nested
$sth->execute($myarrayref);

as well as:

$sth->bind_param_array(1, [ 30, 31, 32 ], SQL_INTEGER);

...which do very different things, of course.

> Esp., does the COPY IN support native array binding (not the DBI
> default iterator) ?

Don't follow you at all here, but I suspect the answer is "no"
if you mean putting pg_getcopydata into an arrayref.

>> * Asynchronous queries, which let's you start a query, go off and do
>> other things, and check back to see if it has finished, and fetch the
>> data when you are ready to. This also allows you to cancel running queries.

> BTW: Do you have any examples that are "smarter" about
> testing ready() ? I.e., grab the Pg socket, do a select() or poll(),
> and only call ready() when there's activity on the socket ?

No, I've left that as an exercise to the reader, or in this case, the
application writer. :) Should be easy enough to modify the example here:

http://www.postgresql.org/docs/current/interactive/libpq-example.html

Doc patches always welcome, naturally.

> I've implemented a driver-specific function in DBD::Teradata to
> do that internally (essentially, a select() for $dbh's + other filehandles).
> Might be something to consider for Pg (I'd suggest support
> at the DBI layer, except some drivers (e.g., ODBC) may not have access
> to the underlying communication channel.

I wouldn't let that stop you - there are lots of bits of DBI that are
not usable and/or implemented by various DBDs, right? I'd also love
to see some more standardizing and eventually deprecate as many of the
pg_* functions as we can.

Thanks for the feedback

- --
Greg Sabino Mullane greg-738XdyZ4GzZWk0Htik3J/[email protected]
End Point Corporation
PGP Key: 0x14964AC8 200801171054
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iD8DBQFHj3pIvJuQZxSWSsgRA7pgAKDHONFc5lb0pTmL1IJUpvObArrXhwCffZPM
RCidp40mCrPWLuE4xpGmyaw=
=KydL
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.