From: | "Greg Sabino Mullane" <greg(at)turnstep(dot)com> |
---|---|
To: | dbd-pg(at)perl(dot)org |
Cc: | dbi-users(at)perl(dot)org, pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: DBD::Pg 2.0.0 release candidate available for testing |
Date: | 2008-01-17 15:57:34 |
Message-ID: | e46b0104cd00231506fe7e652616e891@biglumber.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
-----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(at)turnstep(dot)com
End Point Corporation
PGP Key: 0x14964AC8 200801171054
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----
iD8DBQFHj3pIvJuQZxSWSsgRA7pgAKDHONFc5lb0pTmL1IJUpvObArrXhwCffZPM
RCidp40mCrPWLuE4xpGmyaw=
=KydL
-----END PGP SIGNATURE-----
From | Date | Subject | |
---|---|---|---|
Next Message | fschmidt | 2008-01-24 18:18:05 | Is there an interface that... |
Previous Message | Max Pyziur | 2008-01-16 17:59:27 | Re: Multiple command usage in DBD-Pg v 1.49 |