From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | "Patches (PostgreSQL)" <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: plperl strict mode and associated fixes |
Date: | 2005-08-24 03:00:31 |
Message-ID: | 20050824030030.GA32336@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
On Tue, Aug 23, 2005 at 09:12:10PM -0400, Andrew Dunstan wrote:
> The attached patch completes (I hope) the work begun by Michael Fuhr in
> an earlier unapplied patch, and makes strict mode work as recently
> discussed. I moved the embedded strings out of the calling functions
> into global macros to try to make the code a little more readable.
>
> Unfortunately we can't have regression tests for this because it relies
> on a custom variable class.
Hmmm...even if the "plperl" custom variable class isn't defined in
postgresql.conf, plperl.use_strict springs into existence when the
interpreter is initialized:
test=> SET plperl.use_strict TO on;
ERROR: unrecognized configuration parameter "plperl.use_strict"
test=> CREATE FUNCTION foo() RETURNS void AS $$$$ LANGUAGE plperl;
CREATE FUNCTION
test=> SET plperl.use_strict TO on;
SET
test=> CREATE OR REPLACE FUNCTION foo() RETURNS void AS $$ $x = 1234; $$ LANGUAGE plperl;
ERROR: creation of Perl function failed: Global symbol "$x" requires explicit package name at (eval 8) line 1.
test=> SET plperl.use_strict TO off;
SET
test=> CREATE OR REPLACE FUNCTION foo() RETURNS void AS $$ $x = 1234; $$ LANGUAGE plperl;
CREATE FUNCTION
Is such automatic creation of a GUC variable intended? If so,
couldn't you exploit that in regression tests?
--
Michael Fuhr
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2005-08-24 03:47:55 | Work-in-progress referential action trigger timing patch |
Previous Message | Michael Fuhr | 2005-08-24 02:22:28 | Re: PL/Perl regression tests with use_strict |