create_upper_paths_hook
上层查询路径
在分组、排序等上层查询阶段增补路径。
当前查看 PostgreSQL 18。
说明
规划器建立上层关系的路径时调用此钩子,通过 UpperRelationKind 区分当前规划阶段。它提供输入关系和输出关系,扩展可向输出关系加入候选路径。PostgreSQL 11 起还传入该阶段的附加信息。
- 接口类型
- create_upper_paths_hook_type
- 声明头文件
- src/include/optimizer/planner.h
- 调用阶段
- 查询规划
- 初始值
- NULL(未安装钩子)
接口签名
typedef void (*create_upper_paths_hook_type) (PlannerInfo *root, UpperRelationKind stage, RelOptInfo *input_rel, RelOptInfo *output_rel, void *extra);
extern PGDLLIMPORT create_upper_paths_hook_type create_upper_paths_hook;调用位置
src/backend/optimizer/plan/planner.c:2386
src/backend/optimizer/plan/planner.c:4379
src/backend/optimizer/plan/planner.c:4819
src/backend/optimizer/plan/planner.c:5062
src/backend/optimizer/plan/planner.c:5237
src/backend/optimizer/plan/planner.c:5707
相关条目
文档与源码
查看来源构建
- 版本
- 18
- 构建
- REL_18_STABLE
- 来源指纹
753057e340da8f22e57c9a409ea7a235fd6a46bd
同类条目
get_relation_info_hook关系规划信息join_search_hook连接顺序搜索planner_hook查询规划入口set_join_pathlist_hook连接访问路径set_rel_pathlist_hook关系访问路径
返回扩展钩子 · 此条目的收录范围为 PostgreSQL 10 至 20;起点不一定是实际引入版本。