Re: plperl strict mode and associated fixes
От | Michael Fuhr |
---|---|
Тема | Re: plperl strict mode and associated fixes |
Дата | |
Msg-id | 20050824030030.GA32336@winnie.fuhr.org обсуждение исходный текст |
Ответ на | plperl strict mode and associated fixes (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: plperl strict mode and associated fixes
|
Список | 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
В списке pgsql-patches по дате отправления: