Re: PL/perl elog(ERROR) Does not Abort Transaction

From: "David E(dot) Wheeler" <david(dot)wheeler(at)iovation(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PL/perl elog(ERROR) Does not Abort Transaction
Date: 2012-05-11 16:31:10
Message-ID: D1430267-D553-4C39-A4BE-BFB9CB8815B2@iovation.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On May 10, 2012, at 6:18 PM, Tom Lane wrote:

> I also tried this on a Fedora 16 box, which has
>
> $ perl -v
> This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi
>
> Works fine there too...

Hrm…I've also just replicated it on CentOS 6.2 with Perl 5.10.1:

reputation=# begin;
BEGIN
Time: 22.330 ms
reputation=# do language plperlu $$ elog(ERROR, 'foo')$$;
ERROR: foo at line 1.
CONTEXT: PL/Perl anonymous code block
reputation=# select true;
bool
------
t
(1 row)

Time: 18.392 ms
reputation=# rollback;
ROLLBACK
Time: 19.854 ms
reputation=# do language plperlu $$elog(NOTICE, $^V)$$;
NOTICE: v5.10.1
CONTEXT: PL/Perl anonymous code block
DO
Time: 20.459 ms
reputation=# select version();
version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.3 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3), 64-bit
(1 row)

Perhaps there is something funky in my configuration, though I tried a few different things and couldn't get it to change. I can show you on my laptop next week if you want to see it in person. Not sure if that will help…

David

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-05-11 16:39:03 Re: PL/perl elog(ERROR) Does not Abort Transaction
Previous Message Tom Lane 2012-05-11 16:13:23 Re: [COMMITTERS] pgsql: Ensure age() returns a stable value rather than the latest value