]> granicus.if.org Git - postgresql/commitdiff
Currently, nonfatal warnings are not trapped (as they should be) by
authorBruce Momjian <bruce@momjian.us>
Wed, 6 Jul 2005 22:44:49 +0000 (22:44 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 6 Jul 2005 22:44:49 +0000 (22:44 +0000)
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

src/pl/plperl/GNUmakefile
src/pl/plperl/expected/plperl_elog.out [new file with mode: 0644]
src/pl/plperl/plperl.c
src/pl/plperl/sql/plperl_elog.sql [new file with mode: 0644]

index e9334d033eeb242dbd8882c9a75dddb381d4a366..c7c8fa58c33e1ea862e567a0dbb72d31704ffe3b 100644 (file)
@@ -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 (file)
index 0000000..578c3e0
--- /dev/null
@@ -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)
+
+
index f05197ea4e99bf712d10b21c8a8841957ec1753e..b543963d192d3588bc355b0f12ad1932190ffc68 100644 (file)
@@ -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 (file)
index 0000000..47cb742
--- /dev/null
@@ -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');
+
+
+
+