Re: prepared statements and DBD::Pg - Mailing list pgsql-general

From Andrej
Subject Re: prepared statements and DBD::Pg
Date
Msg-id b35603930905060954u134ff2b7t795c7d652d8075a2@mail.gmail.com
Whole thread Raw
In response to prepared statements and DBD::Pg  (JP Fletcher <jpfletch@ca.afilias.info>)
Responses Re: prepared statements and DBD::Pg  (Tim Bunce <Tim.Bunce@pobox.com>)
List pgsql-general
2009/5/7 JP Fletcher <jpfletch@ca.afilias.info>:
> Hi,
>
> I see different behavior with DBI/DBD::Pg (1.607/2.11.8, pg 8.1) when the
> first command in a prepared statement is 'CREATE TEMP TABLE'.
>
> For instance, this works:
>
>   my $prepare_sql =<<SQL;
>       CREATE TEMP TABLE foo( id int, user_id int,);
>
>       INSERT INTO foo(1, 1);
>
>       INSERT INTO foo(2, 2);
>           SQL
>
>   my $sth = $dbh->prepare($prepare_sql);
>
>
> This produces the error
>
> ERROR:  cannot insert multiple commands into a prepared statement
>
Blessed be CPAN and the manuals for DBD
http://search.cpan.org/~turnstep/DBD-Pg-2.13.1/Pg.pm#prepare


WARNING: DBD::Pg now (as of version 1.40) uses true prepared
statements by sending them to the backend to be prepared by the
Postgres server. Statements that were legal before may no longer work.
See below for details.

The prepare method prepares a statement for later execution.
PostgreSQL supports prepared statements, which enables DBD::Pg to only
send the query once, and simply send the arguments for every
subsequent call to "execute". DBD::Pg can use these server-side
prepared statements, or it can just send the entire query to the
server each time. The best way is automatically chosen for each query.
This will be sufficient for most users: keep reading for a more
detailed explanation and some optional flags.

Queries that do not begin with the word "SELECT", "INSERT", "UPDATE",
or "DELETE" are never sent as server-side prepared statements.


Cheers,
Andrej

--
Please don't top post, and don't use HTML e-Mail :}  Make your quotes concise.

http://www.american.edu/econ/notes/htmlmail.htm

pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Yahoo Everest MPP - open source release?
Next
From: Marco Maccaferri
Date:
Subject: Postgres partially hang after inactivity