GUC failure on exception

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: GUC failure on exception
Date: 2010-01-15 00:39:09
Message-ID: 4B4FB92D.5040308@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Tim Bunce just showed me the following oddity:

andrew=# SET SESSION plperl.use_strict = on;
SET
andrew=# SHOW plperl.use_strict;
plperl.use_strict
-------------------
on
(1 row)

andrew=# DO $$ elog(ERROR,"error") $$ language plperl;
ERROR: error at line 1.
CONTEXT: PL/Perl anonymous code block
andrew=# SHOW plperl.use_strict;
plperl.use_strict
-------------------
off
(1 row)

Somehow we have lost the setting, because the first use of plperl, which
called the plperl init code, failed.

It appears that whatever rolls it back forgets to put the GUC setting
back as it was, and now it's lost, which is pretty darn ugly. And you
can now run code which fails the 'strict' tests.

If anyone has a quick idea about how to fix that would be nice.
Otherwise I'll try to delve into it as time permits.

cheers

andrew

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message KaiGai Kohei 2010-01-15 00:56:10 Re: [PATCH] remove redundant ownership checks
Previous Message Tim Bunce 2010-01-15 00:35:06 Add on_trusted_init and on_untrusted_init to plperl [PATCH]