Search Postgresql Archives

Re: prepared statements and DBD::Pg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 07, 2009 at 04:54:06AM +1200, Andrej wrote:
> 2009/5/7 JP Fletcher <jpfletch@xxxxxxxxxxxxxxx>:
> > 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.

Sure seems like a bug, or at best a misfeature, that DBD::Pg doesn't
simply fallback to client-side prepare when a server-side prepare can't
be performed. I believe DBD::mysql does that.

Tim.

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux