pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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-----





view thread (3+ messages)

Message-ID: <e46b0104cd00231506fe7e652616e891@biglumber.com>
Permalink:  ../e46b0104cd00231506fe7e652616e891@biglumber.com/
Also on:    postgresql.org/message-id/e46b0104cd00231506fe7e652616e891@biglumber.com

 · 

reply

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