I am unable to reproduce this effect.

The script below (slightly adapted from yours) runs just fine repeatedly in the same session with expected results.

create or replace function plperl_bug1( )
returns text as
$$
 my $qry = 'select * from pg_user';
 elog NOTICE, "Good Query is: $qry";
 my $rv = spi_exec_query( $qry );
 elog NOTICE, "status: $rv->{status} processed: $rv->{processed}";
 return $qry;
$$ language plperl;

select plperl_bug1();

create or replace function plperl_bug2( )
returns text as
$$
 my $qry = "select * from pg_userssssssssssssssss";
 elog NOTICE, "Bad Query is: $qry";
 my $rv = spi_exec_query( $qry );
 elog NOTICE, "status: $rv->{status} processed: $rv->{processed}";
 return $qry;
$$ language plperl;

select plperl_bug2();


cheers

andrew

elein wrote:

--
-- An SQL error causes subsequent function creation of an otherwise
-- healthy function to fail WHEN RUN with:
-- ERROR: creation of function failed:
-- (in cleanup) Undefined subroutine &PLPerl::mksafefunc called at (eval 4) line 4.



---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to