ExplainOneQuery_hook
单条查询的 EXPLAIN
供插件在 ExplainOneQuery() 中接管处理的钩子。
当前查看 PostgreSQL 18。
中文定义与说明
供插件在 ExplainOneQuery() 中接管处理的钩子。
以下中文为本站依据所列 PostgreSQL 源码注释编译的说明。
接口声明
typedef void (*ExplainOneQuery_hook_type) (Query *query, int cursorOptions, IntoClause *into, struct ExplainState *es, const char *queryString, ParamListInfo params, QueryEnvironment *queryEnv); extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook;
源码说明
如果存在建议插件,则由该插件管理。
调用位置
src/backend/commands/explain.c:306
核心调用上下文:src/backend/commands/explain.c:300–314
ExplainOneUtility(query->utilityStmt, into, es, pstate, params); return; } /* if an advisor plugin is present, let it manage things */ if (ExplainOneQuery_hook) (*ExplainOneQuery_hook) (query, cursorOptions, into, es, pstate->p_sourcetext, params, pstate->p_queryEnv); else standard_ExplainOneQuery(query, cursorOptions, into, es, pstate->p_sourcetext, params, pstate->p_queryEnv); } /* * standard_ExplainOneQuery -
说明
供插件在 ExplainOneQuery() 中接管处理的钩子。
- 接口类型
- ExplainOneQuery_hook_type
- 声明头文件
- src/include/commands/explain.h
- 调用阶段
- 执行计划说明
- 初始值
- NULL(未安装钩子)
接口签名
typedef void (*ExplainOneQuery_hook_type) (Query *query, int cursorOptions, IntoClause *into, struct ExplainState *es, const char *queryString, ParamListInfo params, QueryEnvironment *queryEnv);
extern PGDLLIMPORT ExplainOneQuery_hook_type ExplainOneQuery_hook;调用位置
src/backend/commands/explain.c:306
相关条目
文档与源码
查看来源构建
- 版本
- 18
- 构建
- REL_18_STABLE
- 来源指纹
753057e340da8f22e57c9a409ea7a235fd6a46bd
同类条目
explain_get_index_name_hookEXPLAIN 索引名称explain_per_node_hookEXPLAIN 节点附加信息explain_per_plan_hookEXPLAIN 计划附加信息explain_validate_options_hookEXPLAIN 选项校验
返回扩展钩子 · 此条目的收录范围为 PostgreSQL 10 至 20;起点不一定是实际引入版本。