diff options
Diffstat (limited to 'src/backend/commands/explain.c')
-rw-r--r-- | src/backend/commands/explain.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index f60fff36c4c..bd4e575dbae 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994-5, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/explain.c,v 1.141 2005/11/26 22:14:56 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/explain.c,v 1.142 2005/11/29 01:25:49 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -45,7 +45,7 @@ typedef struct ExplainState } ExplainState; static void ExplainOneQuery(Query *query, ExplainStmt *stmt, - TupOutputState *tstate); + ParamListInfo params, TupOutputState *tstate); static double elapsed_time(instr_time *starttime); static void explain_outNode(StringInfo str, Plan *plan, PlanState *planstate, @@ -67,7 +67,7 @@ static void show_sort_keys(List *tlist, int nkeys, AttrNumber *keycols, * execute an EXPLAIN command */ void -ExplainQuery(ExplainStmt *stmt, DestReceiver *dest) +ExplainQuery(ExplainStmt *stmt, ParamListInfo params, DestReceiver *dest) { Query *query = stmt->query; TupOutputState *tstate; @@ -91,9 +91,9 @@ ExplainQuery(ExplainStmt *stmt, DestReceiver *dest) { /* Rewriter will not cope with utility statements */ if (query->utilityStmt && IsA(query->utilityStmt, DeclareCursorStmt)) - ExplainOneQuery(query, stmt, tstate); + ExplainOneQuery(query, stmt, params, tstate); else if (query->utilityStmt && IsA(query->utilityStmt, ExecuteStmt)) - ExplainExecuteQuery(stmt, tstate); + ExplainExecuteQuery(stmt, params, tstate); else do_text_output_oneline(tstate, "Utility statements have no plan structure"); } @@ -118,7 +118,7 @@ ExplainQuery(ExplainStmt *stmt, DestReceiver *dest) /* Explain every plan */ foreach(l, rewritten) { - ExplainOneQuery(lfirst(l), stmt, tstate); + ExplainOneQuery(lfirst(l), stmt, params, tstate); /* put a blank line between plans */ if (lnext(l) != NULL) do_text_output_oneline(tstate, ""); @@ -150,7 +150,8 @@ ExplainResultDesc(ExplainStmt *stmt) * print out the execution plan for one query */ static void -ExplainOneQuery(Query *query, ExplainStmt *stmt, TupOutputState *tstate) +ExplainOneQuery(Query *query, ExplainStmt *stmt, ParamListInfo params, + TupOutputState *tstate) { Plan *plan; QueryDesc *queryDesc; @@ -208,7 +209,7 @@ ExplainOneQuery(Query *query, ExplainStmt *stmt, TupOutputState *tstate) /* Create a QueryDesc requesting no output */ queryDesc = CreateQueryDesc(query, plan, ActiveSnapshot, InvalidSnapshot, - None_Receiver, NULL, + None_Receiver, params, stmt->analyze); ExplainOnePlan(queryDesc, stmt, tstate); |