Prevent EXPLAIN (without ANALYZE) SELECT ... INTO from creating an INTO

table.  Needed due to recent change that makes us call ExecutorStart
even when not planning to carry out the query.
WIN32_DEV
Tom Lane 23 years ago
parent 14e6823c7c
commit f1fb9e0097
  1. 10
      src/backend/commands/explain.c

@ -7,7 +7,7 @@
* Portions Copyright (c) 1994-5, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.104 2003/03/10 03:53:49 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.105 2003/04/03 22:35:48 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -193,6 +193,14 @@ ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
ExplainState *es;
StringInfo str;
/*
* If we are not going to execute, suppress any SELECT INTO marker.
* Without this, ExecutorStart will create the INTO target table,
* which we don't want.
*/
if (!stmt->analyze)
queryDesc->parsetree->into = NULL;
gettimeofday(&starttime, NULL);
/* call ExecutorStart to prepare the plan for execution */

Loading…
Cancel
Save