The current release of DBD::Pg contains this in the CHANGES file:
- $dbh->prepare() rewrites the SQL statement into an internal form, striping out comments and
whitespace,and if PostgreSQL > 7.3 takes the stripped statement and passes that to Postgres' PREPARE
statement, then rewrites the statement as 'EXECUTE
"DBD::PG::cached_query n" ($1, $2, ... $n, $n+1)' for DBD::Pg's execute. -- Currently
disableduntil PREPARE works a little better
Is there a TODO here, or is it just that the Driver is a bit out of date?
Perhaps one of these items relates to the matter?:
. Allow clients to query a list of WITH HOLD cursors and prepared statements
. Allow libpq to return information about prepared queries
It's a pity if such an important client as DBD:Pg can't really use PQs.
Is the problem that you need to supply the data types of the params at
PREPARE time rather than discovering them from the result of a PREPARE?
cheers
andrew