From: Greg Sabino Mullane <greg@turnstep.com>
To: dbd-pg@perl.org
Cc: dbi-users@perl.org
Cc: pgsql-interfaces@postgresql.org
Subject: Re: DBD::Pg 2.0.0 release candidate available for testing
Date: Thu, 17 Jan 2008 15:57:34 -0000
Message-ID: <e46b0104cd00231506fe7e652616e891@biglumber.com> (raw)
In-Reply-To: <478E3900.8080604@presicient.com>
-----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@turnstep.com
End Point Corporation
PGP Key: 0x14964AC8 200801171054
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----
iD8DBQFHj3pIvJuQZxSWSsgRA7pgAKDHONFc5lb0pTmL1IJUpvObArrXhwCffZPM
RCidp40mCrPWLuE4xpGmyaw=
=KydL
-----END PGP SIGNATURE-----
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: greg@turnstep.com, dbd-pg@perl.org, dbi-users@perl.org
Subject: Re: DBD::Pg 2.0.0 release candidate available for testing
In-Reply-To: <e46b0104cd00231506fe7e652616e891@biglumber.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox