|
MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
project 表示投影运算 更多...
#include <project_logical_operator.h>
Public 成员函数 | |
| ProjectLogicalOperator (const std::vector< Field > &fields) | |
| LogicalOperatorType | type () const override |
| std::vector< std::unique_ptr< Expression > > & | expressions () |
| const std::vector< std::unique_ptr< Expression > > & | expressions () const |
| const std::vector< Field > & | fields () const |
Public 成员函数 继承自 LogicalOperator | |
| virtual LogicalOperatorType | type () const =0 |
| void | add_child (std::unique_ptr< LogicalOperator > oper) |
| std::vector< std::unique_ptr< LogicalOperator > > & | children () |
| std::vector< std::unique_ptr< Expression > > & | expressions () |
Private 属性 | |
| std::vector< Field > | fields_ |
| 投影映射的字段名称 并不是所有的select都会查看表字段,也可能是常量数字、字符串, 或者是执行某个函数。所以这里应该是表达式Expression。 不过现在简单处理,就使用字段来描述 | |
额外继承的成员函数 | |
Protected 属性 继承自 LogicalOperator | |
| std::vector< std::unique_ptr< LogicalOperator > > | children_ |
| 子算子 更多... | |
| std::vector< std::unique_ptr< Expression > > | expressions_ |
project 表示投影运算
从表中获取数据后,可能需要过滤,投影,连接等等。
|
inlineoverridevirtual |
实现了 LogicalOperator.