]> granicus.if.org Git - postgresql/commitdiff
Add new elog() levels to stored procedure languages. plperl DEBUG hack
authorBruce Momjian <bruce@momjian.us>
Wed, 6 Mar 2002 18:50:33 +0000 (18:50 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 6 Mar 2002 18:50:33 +0000 (18:50 +0000)
still needed because only removed in 7.4.

src/pl/plperl/SPI.xs
src/pl/plperl/eloglvl.c
src/pl/plperl/eloglvl.h
src/pl/plperl/plperl.c
src/pl/plpgsql/src/gram.y
src/pl/plpgsql/src/scan.l
src/pl/plpython/error.expected
src/pl/plpython/feature.expected
src/pl/plpython/plpython.c
src/pl/tcl/pltcl.c

index 451714ce0e85d80a42349ce43bac92dc1e04d0af..61f59fa43c7d89752e1ec7be85ee6c90535d4c8c 100644 (file)
@@ -55,17 +55,25 @@ elog_elog(level, message)
        int level
        char* message
        CODE:
-       if (level > 0)
-               return;
-       else
-               elog(level, message);
+       elog(level, message);
 
 
 int
 elog_DEBUG()
 
 int
-elog_ERROR()
+elog_LOG()
+
+int
+elog_INFO()
 
 int
 elog_NOTICE()
+
+int
+elog_WARNING()
+
+int
+elog_ERROR()
+
+
index 23289479cd574d4308b3501b20be6a8fa2010eeb..a0da01a2f02e3eb49a6459a763c23f7041454388 100644 (file)
 
 int
 elog_DEBUG(void)
+{
+       return DEBUG1;
+}
+
+int
+elog_LOG(void)
 {
        return LOG;
 }
 
 int
-elog_ERROR(void)
+elog_INFO(void)
 {
-       return ERROR;
+       return INFO;
 }
 
 int
@@ -27,3 +33,16 @@ elog_NOTICE(void)
 {
        return NOTICE;
 }
+
+int
+elog_WARNING(void)
+{
+       return WARNING;
+}
+
+int
+elog_ERROR(void)
+{
+       return ERROR;
+}
+
index c07cd5b5d494d02337f7f75d930fd05d97db1412..742b5e6434b1c70eedf7f06fec8e11cb25868fab 100644 (file)
@@ -1,8 +1,13 @@
 
-int
-                       elog_DEBUG(void);
+int    elog_DEBUG(void);
 
-int
-                       elog_ERROR(void);
+int    elog_LOG(void);
+
+int    elog_INFO(void);
+
+int    elog_NOTICE(void);
+
+int    elog_WARNING(void);
+
+int    elog_ERROR(void);
 
-int                    elog_NOTICE(void);
index c6d5875b7e337afc539369afbd5b1a376e87c1b3..5ba80b7b32c9aa3d7956acfb552879e9585f68e3 100644 (file)
@@ -33,7 +33,7 @@
  *       ENHANCEMENTS, OR MODIFICATIONS.
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.28 2002/01/24 21:40:44 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.29 2002/03/06 18:50:26 momjian Exp $
  *
  **********************************************************************/
 
@@ -210,7 +210,7 @@ plperl_init_interp(void)
                 */
                "require Safe; SPI::bootstrap();"
                "sub ::mksafefunc { my $x = new Safe; $x->permit_only(':default');$x->permit(':base_math');"
-               "$x->share(qw[&elog &DEBUG &NOTICE &ERROR]);"
+               "$x->share(qw[&elog &DEBUG &LOG &INFO &NOTICE &WARNING &ERROR]);"
                " return $x->reval(qq[sub { $_[0] }]); }"
                "sub ::mkunsafefunc {return eval(qq[ sub { $_[0] } ]); }"
        };
index 38544b21081be801b337e184012df12b348e1a3e..a1433a902278da1e0c3def64de0f72b948ddf553 100644 (file)
@@ -4,7 +4,7 @@
  *                                               procedural language
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.30 2002/03/02 21:39:35 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.31 2002/03/06 18:50:29 momjian Exp $
  *
  *       This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -161,8 +161,10 @@ static     PLpgSQL_expr    *make_tupret_expr(PLpgSQL_row *row);
 %token K_GET
 %token K_IF
 %token K_IN
+%token K_INFO
 %token K_INTO
 %token K_IS
+%token K_LOG
 %token K_LOOP
 %token K_NOT
 %token K_NOTICE
@@ -180,6 +182,7 @@ static      PLpgSQL_expr    *make_tupret_expr(PLpgSQL_row *row);
 %token K_THEN
 %token K_TO
 %token K_TYPE
+%token K_WARNING
 %token K_WHEN
 %token K_WHILE
 
@@ -1201,10 +1204,22 @@ raise_level             : K_EXCEPTION
                                        {
                                                $$ = ERROR;
                                        }
+                               | K_WARNING
+                                       {
+                                               $$ = WARNING;
+                                       }
                                | K_NOTICE
                                        {
                                                $$ = NOTICE;
                                        }
+                               | K_INFO
+                                       {
+                                               $$ = INFO;
+                                       }
+                               | K_LOG
+                                       {
+                                               $$ = LOG;
+                                       }
                                | K_DEBUG
                                        {
                                                $$ = DEBUG5;
index 49191fa106f61f2c42941aec58b597ef20256855..a9f6997500005860ccb1e4889d60e6a42f43f408 100644 (file)
@@ -4,7 +4,7 @@
  *                       procedural language
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Attic/scan.l,v 1.16 2001/10/09 15:59:56 tgl Exp $
+ *    $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Attic/scan.l,v 1.17 2002/03/06 18:50:29 momjian Exp $
  *
  *    This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -117,8 +117,10 @@ from                       { return K_FROM;                        }
 get                            { return K_GET;                         }
 if                             { return K_IF;                          }
 in                             { return K_IN;                          }
+info                   { return K_INFO;                        }
 into                   { return K_INTO;                        }
 is                             { return K_IS;                          }
+log                            { return K_LOG;                         }
 loop                   { return K_LOOP;                        }
 not                            { return K_NOT;                         }
 notice                 { return K_NOTICE;                      }
@@ -136,6 +138,7 @@ select                      { return K_SELECT;                      }
 then                   { return K_THEN;                        }
 to                             { return K_TO;                          }
 type                   { return K_TYPE;                        }
+warning                        { return K_WARNING;                     }
 when                   { return K_WHEN;                        }
 while                  { return K_WHILE;                       }
 
index 96de5da6603a645b31852b06cf0ad7c7f4a03af8..9f0eff0762f0f19d58684d3835515b0169de90d3 100644 (file)
@@ -1,11 +1,11 @@
 SELECT invalid_type_uncaught('rick');
-NOTICE:  plpython: in function __plpython_procedure_invalid_type_uncaught_49801:
+WARNING:  plpython: in function __plpython_procedure_invalid_type_uncaught_49801:
 plpy.SPIError: Cache lookup for type `test' failed.
 SELECT invalid_type_caught('rick');
-NOTICE:  plpython: in function __plpython_procedure_invalid_type_caught_49802:
+WARNING:  plpython: in function __plpython_procedure_invalid_type_caught_49802:
 plpy.SPIError: Cache lookup for type `test' failed.
 SELECT invalid_type_reraised('rick');
-NOTICE:  plpython: in function __plpython_procedure_invalid_type_reraised_49803:
+WARNING:  plpython: in function __plpython_procedure_invalid_type_reraised_49803:
 plpy.SPIError: Cache lookup for type `test' failed.
 SELECT valid_type('rick');
  valid_type 
index b689c1f6154994c1a667aab9a915f221d9205aac..9afd782e7d27644b62187d912707d590149f157c 100644 (file)
@@ -29,7 +29,7 @@ SELECT global_test_two();
 (1 row)
 
 SELECT import_fail();
-NOTICE:  ('import socket failed -- untrusted dynamic module: _socket',)
+WARNING:  ('import socket failed -- untrusted dynamic module: _socket',)
     import_fail     
 --------------------
  failed as expected
index c0858076f6b9247ed13a0f0da3ca1a847c994df4..e56f9254cffe210864a90a8572c8010d1dd4d092 100644 (file)
@@ -29,7 +29,7 @@
  * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  *
  * IDENTIFICATION
- *     $Header: /cvsroot/pgsql/src/pl/plpython/plpython.c,v 1.15 2002/03/06 06:10:47 momjian Exp $
+ *     $Header: /cvsroot/pgsql/src/pl/plpython/plpython.c,v 1.16 2002/03/06 18:50:32 momjian Exp $
  *
  *********************************************************************
  */
@@ -1658,9 +1658,12 @@ PLyDict_FromTuple(PLyTypeInfo * info, HeapTuple tuple, TupleDesc desc)
 /* interface to postgresql elog
  */
 static PyObject *PLy_debug(PyObject *, PyObject *);
+static PyObject *PLy_log(PyObject *, PyObject *);
+static PyObject *PLy_info(PyObject *, PyObject *);
+static PyObject *PLy_notice(PyObject *, PyObject *);
+static PyObject *PLy_warning(PyObject *, PyObject *);
 static PyObject *PLy_error(PyObject *, PyObject *);
 static PyObject *PLy_fatal(PyObject *, PyObject *);
-static PyObject *PLy_notice(PyObject *, PyObject *);
 
 /* PLyPlanObject, PLyResultObject and SPI interface
  */
@@ -1782,9 +1785,12 @@ static PyMethodDef PLy_methods[] = {
         * logging methods
         */
        {"debug", PLy_debug, METH_VARARGS, NULL},
+       {"log", PLy_log, METH_VARARGS, NULL},
+       {"info", PLy_info, METH_VARARGS, NULL},
+       {"notice", PLy_notice, METH_VARARGS, NULL},
+       {"warning", PLy_warning, METH_VARARGS, NULL},
        {"error", PLy_error, METH_VARARGS, NULL},
        {"fatal", PLy_fatal, METH_VARARGS, NULL},
-       {"notice", PLy_notice, METH_VARARGS, NULL},
 
        /*
         * create a stored plan
@@ -2627,35 +2633,53 @@ populate_methods(PyObject *klass, PyMethodDef *methods)
 /* the python interface to the elog function
  * don't confuse these with PLy_elog
  */
-static PyObject *PLy_log(int, PyObject *, PyObject *);
+static PyObject *PLy_output(int, PyObject *, PyObject *);
 
 PyObject *
 PLy_debug(PyObject * self, PyObject * args)
 {
-       return PLy_log(LOG, self, args);
+       return PLy_output(DEBUG1, self, args);
 }
 
 PyObject *
-PLy_error(PyObject * self, PyObject * args)
+PLy_log(PyObject * self, PyObject * args)
 {
-       return PLy_log(ERROR, self, args);
+       return PLy_output(LOG, self, args);
 }
 
 PyObject *
-PLy_fatal(PyObject * self, PyObject * args)
+PLy_info(PyObject * self, PyObject * args)
 {
-       return PLy_log(FATAL, self, args);
+       return PLy_output(INFO, self, args);
 }
 
 PyObject *
 PLy_notice(PyObject * self, PyObject * args)
 {
-       return PLy_log(NOTICE, self, args);
+       return PLy_output(NOTICE, self, args);
+}
+
+PyObject *
+PLy_warning(PyObject * self, PyObject * args)
+{
+       return PLy_output(WARNING, self, args);
+}
+
+PyObject *
+PLy_error(PyObject * self, PyObject * args)
+{
+       return PLy_output(ERROR, self, args);
+}
+
+PyObject *
+PLy_fatal(PyObject * self, PyObject * args)
+{
+       return PLy_output(FATAL, self, args);
 }
 
 
 PyObject *
-PLy_log(volatile int level, PyObject * self, PyObject * args)
+PLy_output(volatile int level, PyObject * self, PyObject * args)
 {
        DECLARE_EXC();
        PyObject   *so;
index ebc7b8fb88425024c3cb46a071d11363981062f1..34bc731e9abbed6005634922f94b12099feb7121 100644 (file)
@@ -31,7 +31,7 @@
  *       ENHANCEMENTS, OR MODIFICATIONS.
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.51 2002/03/06 06:10:48 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.52 2002/03/06 18:50:33 momjian Exp $
  *
  **********************************************************************/
 
@@ -1259,7 +1259,11 @@ pltcl_elog(ClientData cdata, Tcl_Interp *interp,
                return TCL_ERROR;
        }
 
-       if (strcmp(argv[1], "INFO") == 0)
+       if (strcmp(argv[1], "DEBUG") == 0)
+               level = DEBUG1;
+       else if (strcmp(argv[1], "LOG") == 0)
+               level = LOG;
+       else if (strcmp(argv[1], "INFO") == 0)
                level = INFO;
        else if (strcmp(argv[1], "NOTICE") == 0)
                level = NOTICE;
@@ -1269,8 +1273,6 @@ pltcl_elog(ClientData cdata, Tcl_Interp *interp,
                level = ERROR;
        else if (strcmp(argv[1], "FATAL") == 0)
                level = FATAL;
-       else if (strcmp(argv[1], "DEBUG") == 0)
-               level = DEBUG1;
        else
        {
                Tcl_AppendResult(interp, "Unknown elog level '", argv[1],