OSDN Git Service

Make exec_simple_check_plan() check for a null plan, so
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Jul 1999 01:03:01 +0000 (01:03 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Jul 1999 01:03:01 +0000 (01:03 +0000)
that it doesn't crash when processing a utility statement.

src/pl/plpgsql/src/pl_exec.c

index 48ff11a..02bdf6c 100644 (file)
@@ -3,7 +3,7 @@
  *                       procedural language
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.11 1999/05/25 16:15:17 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.12 1999/07/04 01:03:01 tgl Exp $
  *
  *       This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -2477,7 +2477,7 @@ exec_simple_check_plan(PLpgSQL_expr * expr)
         *        execution plan
         * ----------
         */
-       if (spi_plan->ptlist == NULL || length(spi_plan->ptlist) != 1)
+       if (length(spi_plan->ptlist) != 1)
                return;
 
        plan = (Plan *) lfirst(spi_plan->ptlist);
@@ -2486,6 +2486,9 @@ exec_simple_check_plan(PLpgSQL_expr * expr)
         * 2. It must be a RESULT plan --> no scan's required
         * ----------
         */
+       if (plan == NULL)                       /* utility statement produces this */
+               return;
+
        if (nodeTag(plan) != T_Result)
                return;