Commit b31aa64f authored by Tom Lane's avatar Tom Lane

Make exec_simple_check_plan() check for a null plan, so

that it doesn't crash when processing a utility statement.
parent efb62127
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* procedural language * procedural language
* *
* IDENTIFICATION * 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. * This software is copyrighted by Jan Wieck - Hamburg.
* *
...@@ -2477,7 +2477,7 @@ exec_simple_check_plan(PLpgSQL_expr * expr) ...@@ -2477,7 +2477,7 @@ exec_simple_check_plan(PLpgSQL_expr * expr)
* execution plan * execution plan
* ---------- * ----------
*/ */
if (spi_plan->ptlist == NULL || length(spi_plan->ptlist) != 1) if (length(spi_plan->ptlist) != 1)
return; return;
plan = (Plan *) lfirst(spi_plan->ptlist); plan = (Plan *) lfirst(spi_plan->ptlist);
...@@ -2486,6 +2486,9 @@ exec_simple_check_plan(PLpgSQL_expr * expr) ...@@ -2486,6 +2486,9 @@ exec_simple_check_plan(PLpgSQL_expr * expr)
* 2. It must be a RESULT plan --> no scan's required * 2. It must be a RESULT plan --> no scan's required
* ---------- * ----------
*/ */
if (plan == NULL) /* utility statement produces this */
return;
if (nodeTag(plan) != T_Result) if (nodeTag(plan) != T_Result)
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment