Make exec_simple_check_plan() check for a null plan, so

that it doesn't crash when processing a utility statement.
This commit is contained in:
Tom Lane 1999-07-04 01:03:01 +00:00
parent efb621278e
commit b31aa64f4a

View File

@ -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)
* 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)
* 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;