17#include "common/sys/rc.h"
18#include "session/session.h"
19#include "sql/operator/logical_operator.h"
20#include "sql/operator/physical_operator.h"
21#include "sql/optimizer/logical_plan_generator.h"
22#include "sql/optimizer/physical_plan_generator.h"
23#include "sql/optimizer/rewriter.h"
58 RC
rewrite(unique_ptr<LogicalOperator> &logical_operator);
65 RC
optimize(unique_ptr<LogicalOperator> &logical_operator);
75 unique_ptr<LogicalOperator> &logical_operator, unique_ptr<PhysicalOperator> &physical_operator,
Session *session);
逻辑算子描述当前执行计划要做什么
Definition: logical_operator.h:50
Definition: logical_plan_generator.h:31
Definition: optimize_stage.h:38
Rewriter rewriter_
逻辑计划改写
Definition: optimize_stage.h:80
RC create_logical_plan(SQLStageEvent *sql_event, unique_ptr< LogicalOperator > &logical_operator)
根据SQL生成逻辑计划
Definition: optimize_stage.cpp:124
RC rewrite(unique_ptr< LogicalOperator > &logical_operator)
重写逻辑计划
Definition: optimize_stage.cpp:107
RC optimize(unique_ptr< LogicalOperator > &logical_operator)
优化逻辑计划
Definition: optimize_stage.cpp:82
PhysicalPlanGenerator physical_plan_generator_
根据逻辑计划生成物理计划
Definition: optimize_stage.h:79
RC generate_physical_plan(unique_ptr< LogicalOperator > &logical_operator, unique_ptr< PhysicalOperator > &physical_operator, Session *session)
根据逻辑计划生成物理计划
Definition: optimize_stage.cpp:88
LogicalPlanGenerator logical_plan_generator_
根据SQL生成逻辑计划
Definition: optimize_stage.h:78
物理计划生成器
Definition: physical_plan_generator.h:39
根据一些规则对逻辑计划进行重写
Definition: rewriter.h:36
与SessionEvent类似,也是处理SQL请求的事件,只是用在SQL的不同阶段
Definition: sql_event.h:29
表示会话
Definition: session.h:29
Stmt for Statement
Definition: stmt.h:83