Search Postgresql Archives

Re: prepared statements and DBD::Pg

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

 



On May 6, 2009, at 9:39 AM, JP Fletcher wrote:

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

my $prepare_sql =<<SQL;
            INSERT INTO foo(1, 1);

      INSERT INTO foo(2, 2);
          SQL

  my $sth = $dbh->prepare($prepare_sql);


Is this the expected behaviour?



You should follow up on the DBD::Pg list, but I would guess that the module is doing a surface check to determine whether the statement is a candidate for being prepared. I bet that whenever the first statement is not a select, insert, delete, or update that you will not get an error. What is happening ion these cases is that no preparation is happening at all.

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


--
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