From 4d41b2e0926548e338d20875729a55d41289f867 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 11 Jan 2018 12:16:18 -0500 Subject: [PATCH] Add QueryEnvironment to ExplainOneQuery_hook's parameter list. This should have been done in commit 18ce3a4ab, which added that parameter to ExplainOneQuery, but it was overlooked. This makes it impossible for a user of the hook to pass the queryEnv down to ExplainOnePlan. It's too late to change this API in v10, I suppose, but fortunately passing NULL to ExplainOnePlan will work in nearly all interesting cases in v10. That might not be true forever, so we'd better fix it. Tatsuro Yamada, reviewed by Thomas Munro Discussion: https://postgr.es/m/890e8dd9-c1c7-a422-6892-874f5eaee048@lab.ntt.co.jp --- src/backend/commands/explain.c | 2 +- src/include/commands/explain.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 79e6985d0d..41cd47e8bc 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -351,7 +351,7 @@ ExplainOneQuery(Query *query, int cursorOptions, /* if an advisor plugin is present, let it manage things */ if (ExplainOneQuery_hook) (*ExplainOneQuery_hook) (query, cursorOptions, into, es, - queryString, params); + queryString, params, queryEnv); else { PlannedStmt *plan; diff --git a/src/include/commands/explain.h b/src/include/commands/explain.h index dd8abae98a..0c3986ae17 100644 --- a/src/include/commands/explain.h +++ b/src/include/commands/explain.h @@ -53,7 +53,8 @@ typedef void (*ExplainOneQuery_hook_type) (Query *query, IntoClause *into, ExplainState *es, const char *queryString, - ParamListInfo params); + ParamListInfo params, + QueryEnvironment *queryEnv); extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook; /* Hook for plugins to get control in explain_get_index_name() */