aboutsummaryrefslogtreecommitdiff
path: root/src/pl/plperl/plperl.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-07-06 22:33:39 +0000
committerBruce Momjian <bruce@momjian.us>2005-07-06 22:33:39 +0000
commit77838f73801f11f53936af7f924495123fd06fad (patch)
tree3ec5c55e1e1bd4f5241c6c6ab9132a3db3eee7e1 /src/pl/plperl/plperl.c
parent970bb03c3c6e485ed0f66c2f2c9b9c6c9123e09a (diff)
downloadpostgresql-77838f73801f11f53936af7f924495123fd06fad.tar.gz
postgresql-77838f73801f11f53936af7f924495123fd06fad.zip
Currently, nonfatal warnings are not trapped (as they should be) by
plperl - the attached small patch remedies that omission. Andrew Dunstan
Diffstat (limited to 'src/pl/plperl/plperl.c')
-rw-r--r--src/pl/plperl/plperl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index eaee0f79722..f05197ea4e9 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -33,7 +33,7 @@
* ENHANCEMENTS, OR MODIFICATIONS.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.79 2005/07/03 21:56:16 tgl Exp $
+ * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.80 2005/07/06 22:33:39 momjian Exp $
*
**********************************************************************/
@@ -190,6 +190,8 @@ plperl_init_interp(void)
"", "-e",
/* all one string follows (no commas please) */
"SPI::bootstrap(); use vars qw(%_SHARED);"
+ "sub ::plperl_warn { my $msg = shift; &elog(&NOTICE, $msg); } "
+ "$SIG{__WARN__} = \\&::plperl_warn; "
"sub ::mkunsafefunc {return eval(qq[ sub { $_[0] $_[1] } ]); }"
};
@@ -197,6 +199,8 @@ plperl_init_interp(void)
"", "-e",
/* all one string follows (no commas please) */
"SPI::bootstrap(); use vars qw(%_SHARED);"
+ "sub ::plperl_warn { my $msg = shift; &elog(&NOTICE, $msg); } "
+ "$SIG{__WARN__} = \\&::plperl_warn; "
"sub ::mkunsafefunc {return eval("
"qq[ sub { use strict; $_[0] $_[1] } ]); }"
};