On Thu, Nov 4, 2010 at 14:29, Alex Hunsaker <bada...@gmail.com> wrote: > On Thu, Nov 4, 2010 at 13:43, Hannu Krosing <ha...@2ndquadrant.com> wrote: >> So your plan was to have some savepoint before each execute ? >> >> How would one rollback the latest transaction ? > > It is always rolled back. Its how plperl works today: > create or replace function foo() returns int as $$ > eval { > spi_exec_query('create table uniq (num int primary key'); > spi_exec_query('insert into uniq (num) values (1), (1);', 1); > };
To be clear, there is no reason to have both in an eval {}. There is no magic savepoint there. if 'insert into' fails, the table will still be created (assuming the transaction is not aborted later of course). -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers