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

2012-05-11 Thread David E. Wheeler
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:

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

2012-05-11 Thread Tom Lane
David E. Wheeler david.whee...@iovation.com writes: Hrm…I've also just replicated it on CentOS 6.2 with Perl 5.10.1: Interesting. Perhaps there is something funky in my configuration, though I tried a few different things and couldn't get it to change. Yeah. If Bruce and I don't see it on a

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

2012-05-11 Thread David E. Wheeler
On May 11, 2012, at 9:39 AM, Tom Lane wrote: Hrm∑I've also just replicated it on CentOS 6.2 with Perl 5.10.1: Interesting. Ah, it’s a psql configuration issue. I had replicated it on that box by connecting with psql on my Mac. When I SSHed to the box and used the psql there, I was *not*

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

2012-05-11 Thread David E. Wheeler
On May 11, 2012, at 9:51 AM, David E. Wheeler wrote: \set ON_ERROR_ROLLBACK interactive So I guess it transparently rolls back a savepoint for the previous statement. I had forgotten I turned that on. Apologies for the noise. OTOH, might it be useful to have psql show some sort of

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

2012-05-11 Thread Tom Lane
David E. Wheeler da...@justatheory.com writes: On May 11, 2012, at 9:51 AM, David E. Wheeler wrote: \set ON_ERROR_ROLLBACK interactive So I guess it transparently rolls back a savepoint for the previous statement. I had forgotten I turned that on. Apologies for the noise. Ah-hah. OTOH,

[HACKERS] PL/perl elog(ERROR) Does not Abort Transaction

2012-05-10 Thread David E. Wheeler
Hackers, Shouldn't a call to elog(NOTICE) invalidate the current tranaction? david=# begin; BEGIN Time: 0.178 ms david=# do language plperl $$ elog(ERROR, 'foo')$$; ERROR: foo at line 1. CONTEXT: PL/Perl anonymous code block david=# select true; bool

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

2012-05-10 Thread Bruce Momjian
On Thu, May 10, 2012 at 04:21:24PM -0700, David E. Wheeler wrote: Hackers, Shouldn't a call to elog(NOTICE) invalidate the current tranaction? I assume you mean elog(ERROR)? david=# begin; BEGIN Time: 0.178 ms david=# do language plperl $$ elog(ERROR, 'foo')$$;

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

2012-05-10 Thread David E. Wheeler
On May 10, 2012, at 5:20 PM, Bruce Momjian wrote: Shouldn't a call to elog(NOTICE) invalidate the current tranaction? I assume you mean elog(ERROR)? Yes, sorry. Well, git head show an error: test= begin; BEGIN test= do language plperl $$ elog(ERROR, 'foo')$$;

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

2012-05-10 Thread Bruce Momjian
On Thu, May 10, 2012 at 05:27:26PM -0700, David E. Wheeler wrote: On May 10, 2012, at 5:20 PM, Bruce Momjian wrote: Shouldn't a call to elog(NOTICE) invalidate the current tranaction? I assume you mean elog(ERROR)? Yes, sorry. Well, git head show an error: test= begin;

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

2012-05-10 Thread David E. Wheeler
On May 10, 2012, at 5:41 PM, Bruce Momjian wrote: OK, still an abort on 9.1.X head: $ psql test psql (9.1.3) Type help for help. test= begin; BEGIN test= do language plperl $$ elog(ERROR, 'foo')$$; ERROR: foo at line 1. CONTEXT:

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

2012-05-10 Thread Bruce Momjian
On Thu, May 10, 2012 at 05:46:06PM -0700, David E. Wheeler wrote: On May 10, 2012, at 5:41 PM, Bruce Momjian wrote: OK, still an abort on 9.1.X head: $ psql test psql (9.1.3) Type help for help. test= begin; BEGIN test= do language plperl $$

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

2012-05-10 Thread Tom Lane
Bruce Momjian br...@momjian.us writes: On Thu, May 10, 2012 at 05:27:26PM -0700, David E. Wheeler wrote: Interesting. My build (from source): PostgreSQL 9.1.3 on x86_64-apple-darwin11.3.0, compiled by i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM

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

2012-05-10 Thread Tom Lane
David E. Wheeler david.whee...@iovation.com writes: Ooh, heisenbug. What version of Perl? Mine is 5.14.2 compiled from source. 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