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 |
![]() | |
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。 不过现在简单处理,就使用字段来描述 | |
额外继承的成员函数 | |
![]() | |
std::vector< std::unique_ptr< LogicalOperator > > | children_ |
子算子 更多... | |
std::vector< std::unique_ptr< Expression > > | expressions_ |
project 表示投影运算
从表中获取数据后,可能需要过滤,投影,连接等等。
|
inlineoverridevirtual |
实现了 LogicalOperator.