Received: from localhost (unknown [200.46.204.187]) by postgresql.org (Postfix) with ESMTP id DDB672E3294 for ; Thu, 17 Jan 2008 11:56:44 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.187]) (amavisd-maia, port 10024) with ESMTP id 23189-01-2 for ; Thu, 17 Jan 2008 11:56:28 -0400 (AST) Received: from tinlc.com (unknown [72.18.206.65]) by postgresql.org (Postfix) with ESMTP id 0AAAE2E2EEA for ; Thu, 17 Jan 2008 11:56:21 -0400 (AST) Received: from biglumber.com ([72.18.206.64] helo=localhost) by tinlc.com with smtp (Exim 4.60) (envelope-from ) id 1JFX7W-0004Iq-TP; Thu, 17 Jan 2008 10:57:34 -0500 From: "Greg Sabino Mullane" To: dbd-pg@perl.org Cc: dbi-users@perl.org, pgsql-interfaces@postgresql.org CC: dbi-users@perl.org, pgsql-interfaces@postgresql.org Subject: Re: DBD::Pg 2.0.0 release candidate available for testing X-PGP-Key: 2529 DF6A B8F7 9407 E944 45B4 BC9B 9067 1496 4AC8 X-Request-PGP: http://www.biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8 In-Reply-To: <478E3900.8080604@presicient.com> Date: Thu, 17 Jan 2008 15:57:34 -0000 X-Mailer: JoyMail 2.01 Message-ID: X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200801/15 X-Sequence-Number: 6693 -----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-----