From 77838f73801f11f53936af7f924495123fd06fad Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 6 Jul 2005 22:33:39 +0000 Subject: [PATCH] Currently, nonfatal warnings are not trapped (as they should be) by plperl - the attached small patch remedies that omission. Andrew Dunstan --- src/pl/plperl/GNUmakefile | 4 ++-- src/pl/plperl/plperl.c | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile index 20dd732070..e9334d033e 100644 --- a/src/pl/plperl/GNUmakefile +++ b/src/pl/plperl/GNUmakefile @@ -1,5 +1,5 @@ # Makefile for PL/Perl -# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.22 2005/05/24 17:07:41 tgl Exp $ +# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.23 2005/07/06 22:33:39 momjian Exp $ subdir = src/pl/plperl top_builddir = ../../.. @@ -37,7 +37,7 @@ OBJS = plperl.o spi_internal.o SPI.o SHLIB_LINK = $(perl_embed_ldflags) $(BE_DLLLIBS) REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-language=plperl -REGRESS = plperl plperl_trigger plperl_shared +REGRESS = plperl plperl_trigger plperl_shared plperl_elog include $(top_srcdir)/src/Makefile.shlib diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index eaee0f7972..f05197ea4e 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] } ]); }" }; -- 2.39.5