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