文章目录
- 
   - 整体架构
- 关键结构体
- 
     - 
       - PlannerInfo (pathnodes.h:195)
- PlannerGlobal (pathnodes.h:95)
 
 
- 
       
- 函数栈关键函数
- 
     - 
       - pg_plan_query (postgres.c:885)
- planner (planner.c:274)
- standard_planner (planner.c:287)
- subquery_planner (planner.c:628)
 
 
- 
       
 
整体架构

关键结构体
PlannerInfo (pathnodes.h:195)
plan和 optimiz时候需要的query信息
 在所有的planner活动中,PlannerInfo这个结构通常被称为root。
 除了原始查询之外,它还包含到所有planner的工作状态的链接。
 需要注意的是目前规划器会大规模修改传入的Query数据结构;
 总有一天这种情况会停止。
typedef struct PlannerInfo PlannerInfo; (pathnodes.h:195)
PlannerInfo的属性成员很多,会贯穿整个查询优化过程。这里不做单独展示



















