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
This commit is contained in:
parent
9ff4f758ee
commit
4d41b2e092
@ -351,7 +351,7 @@ ExplainOneQuery(Query *query, int cursorOptions,
|
|||||||
/* if an advisor plugin is present, let it manage things */
|
/* if an advisor plugin is present, let it manage things */
|
||||||
if (ExplainOneQuery_hook)
|
if (ExplainOneQuery_hook)
|
||||||
(*ExplainOneQuery_hook) (query, cursorOptions, into, es,
|
(*ExplainOneQuery_hook) (query, cursorOptions, into, es,
|
||||||
queryString, params);
|
queryString, params, queryEnv);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PlannedStmt *plan;
|
PlannedStmt *plan;
|
||||||
|
@ -53,7 +53,8 @@ typedef void (*ExplainOneQuery_hook_type) (Query *query,
|
|||||||
IntoClause *into,
|
IntoClause *into,
|
||||||
ExplainState *es,
|
ExplainState *es,
|
||||||
const char *queryString,
|
const char *queryString,
|
||||||
ParamListInfo params);
|
ParamListInfo params,
|
||||||
|
QueryEnvironment *queryEnv);
|
||||||
extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook;
|
extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook;
|
||||||
|
|
||||||
/* Hook for plugins to get control in explain_get_index_name() */
|
/* Hook for plugins to get control in explain_get_index_name() */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user