mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
Clean up package namespace use and use of Safe in plperl.
Prevent use of another buggy version of Safe.pm. Only register the exit handler if we have successfully created an interpreter. Change log level of perl warnings from NOTICE to WARNING. The infrastructure is there if in future we decide to allow DBAs to specify extra modules that will be allowed in trusted code. However, for now the relevant variables are declared as lexicals rather than as package variables, so that they are not (or should not be) accessible. Mostly code from Tim Bunce, reviewed by Alex Hunsaker, with some tweaks by me.
This commit is contained in:
@ -378,3 +378,7 @@ DO $$ use blib; $$ LANGUAGE plperl;
|
||||
-- runtime error: "Can't use string ("foo") as a SCALAR ref while "strict refs" in use
|
||||
DO $do$ use strict; my $name = "foo"; my $ref = $$name; $do$ LANGUAGE plperl;
|
||||
|
||||
-- check that we can "use warnings" (in this case to turn a warn into an error)
|
||||
-- yields "ERROR: Useless use of length in void context"
|
||||
DO $do$ use warnings FATAL => qw(void) ; length "abc" ; 1; $do$ LANGUAGE plperl;
|
||||
|
||||
|
Reference in New Issue
Block a user