diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-07-06 22:44:49 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-07-06 22:44:49 +0000 |
commit | eefdbba0629b1ddeb6bf1c2bf1b8858d16b79c8d (patch) | |
tree | 8a829092c2425665a69f95f465888c41a3121ca9 /src | |
parent | 77838f73801f11f53936af7f924495123fd06fad (diff) | |
download | postgresql-eefdbba0629b1ddeb6bf1c2bf1b8858d16b79c8d.tar.gz postgresql-eefdbba0629b1ddeb6bf1c2bf1b8858d16b79c8d.zip |
Currently, nonfatal warnings are not trapped (as they should be) by
plperl - the attached small patch remedies that omission, and adds a
small regression test for error and warning output - the new regression
input and expected output are in separate attached files.
Andrew Dunstan
Diffstat (limited to 'src')
-rw-r--r-- | src/pl/plperl/GNUmakefile | 2 | ||||
-rw-r--r-- | src/pl/plperl/expected/plperl_elog.out | 29 | ||||
-rw-r--r-- | src/pl/plperl/plperl.c | 2 | ||||
-rw-r--r-- | src/pl/plperl/sql/plperl_elog.sql | 23 |
4 files changed, 54 insertions, 2 deletions
diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile index e9334d033ee..c7c8fa58c33 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.23 2005/07/06 22:33:39 momjian Exp $ +# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.24 2005/07/06 22:44:49 momjian Exp $ subdir = src/pl/plperl top_builddir = ../../.. diff --git a/src/pl/plperl/expected/plperl_elog.out b/src/pl/plperl/expected/plperl_elog.out new file mode 100644 index 00000000000..578c3e0b6c5 --- /dev/null +++ b/src/pl/plperl/expected/plperl_elog.out @@ -0,0 +1,29 @@ +-- test warnings and errors from plperl +create or replace function perl_elog(text) returns void language plperl as $$ + + my $msg = shift; + elog(NOTICE,$msg); + +$$; +select perl_elog('explicit elog'); +NOTICE: explicit elog + perl_elog +----------- + +(1 row) + +create or replace function perl_warn(text) returns void language plperl as $$ + + my $msg = shift; + warn($msg); + +$$; +select perl_warn('implicit elog via warn'); +NOTICE: implicit elog via warn at (eval 7) line 4. + + perl_warn +----------- + +(1 row) + + diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index f05197ea4e9..b543963d192 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.80 2005/07/06 22:33:39 momjian Exp $ + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.81 2005/07/06 22:44:49 momjian Exp $ * **********************************************************************/ diff --git a/src/pl/plperl/sql/plperl_elog.sql b/src/pl/plperl/sql/plperl_elog.sql new file mode 100644 index 00000000000..47cb742d3fb --- /dev/null +++ b/src/pl/plperl/sql/plperl_elog.sql @@ -0,0 +1,23 @@ +-- test warnings and errors from plperl + +create or replace function perl_elog(text) returns void language plperl as $$ + + my $msg = shift; + elog(NOTICE,$msg); + +$$; + +select perl_elog('explicit elog'); + +create or replace function perl_warn(text) returns void language plperl as $$ + + my $msg = shift; + warn($msg); + +$$; + +select perl_warn('implicit elog via warn'); + + + + |