On Wed, 13 Dec 2006, Tom Lane wrote:
> Marc Evans <Marc(at)SoftwareHackery(dot)Com> writes:
>> Is it accurate for me to believe that there is no way to catch exception
>> within plperl?
>
> You do it the same way you trap any other error in perl ...
OK, I must be missing something obvious:
c3i=> CREATE OR REPLACE FUNCTION foo_trigger() RETURNS TRIGGER AS $$
c3i$> eval { spi_exec_query('INSERT INTO FOO_BAR VALUES(1)'); } ||
c3i$> spi_exec_query('SELECT 1 as foo');
c3i$> $$ LANGUAGE plperl;
ERROR: creation of Perl function failed: 'eval "string"' trapped by
operation mask at line 2.
- Marc