Re: DBD::Pg 2.0.0 release candidate available for testing
От | Greg Sabino Mullane |
---|---|
Тема | Re: DBD::Pg 2.0.0 release candidate available for testing |
Дата | |
Msg-id | e46b0104cd00231506fe7e652616e891@biglumber.com обсуждение исходный текст |
Ответ на | Re: DBD::Pg 2.0.0 release candidate available for testing (Dean Arnold <darnold@presicient.com>) |
Список | 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@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-----
В списке pgsql-interfaces по дате отправления: