MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
Public 成员函数 | 所有成员列表
ProjectLogicalOperator类 参考

project 表示投影运算 更多...

#include <project_logical_operator.h>

类 ProjectLogicalOperator 继承关系图:
LogicalOperator OperatorNode

Public 成员函数

 ProjectLogicalOperator (vector< unique_ptr< Expression > > &&expressions)
 
LogicalOperatorType type () const override
 
OpType get_op_type () const override
 
unique_ptr< LogicalPropertyfind_log_prop (const vector< LogicalProperty * > &log_props) override
 Generate the logical property of the operator node using the input logical properties. 更多...
 
vector< unique_ptr< Expression > > & expressions ()
 
const vector< unique_ptr< Expression > > & expressions () const
 
- Public 成员函数 继承自 LogicalOperator
virtual LogicalOperatorType type () const =0
 
bool is_physical () const override
 
bool is_logical () const override
 
void add_child (unique_ptr< LogicalOperator > oper)
 
void add_expressions (unique_ptr< Expression > expr)
 
auto children () -> vector< unique_ptr< LogicalOperator > > &
 
auto expressions () -> vector< unique_ptr< Expression > > &
 
void generate_general_child ()
 
- Public 成员函数 继承自 OperatorNode
virtual OpType get_op_type () const
 
virtual bool is_physical () const =0
 
virtual bool is_logical () const =0
 
virtual uint64_t hash () const
 
virtual bool operator== (const OperatorNode &other) const
 
virtual unique_ptr< LogicalPropertyfind_log_prop (const vector< LogicalProperty * > &log_props)
 Generate the logical property of the operator node using the input logical properties. 更多...
 
virtual double calculate_cost (LogicalProperty *prop, const vector< LogicalProperty * > &child_log_props, CostModel *cm)
 Calculates the cost of a logical operation. 更多...
 
void add_general_child (OperatorNode *child)
 
vector< OperatorNode * > & get_general_children ()
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 LogicalOperator
static bool can_generate_vectorized_operator (const LogicalOperatorType &type)
 
- Protected 属性 继承自 LogicalOperator
vector< unique_ptr< LogicalOperator > > children_
 子算子 更多...
 
vector< unique_ptr< Expression > > expressions_
 
- Protected 属性 继承自 OperatorNode
vector< OperatorNode * > general_children_
 

详细描述

project 表示投影运算

从表中获取数据后,可能需要过滤,投影,连接等等。

成员函数说明

◆ find_log_prop()

unique_ptr< LogicalProperty > ProjectLogicalOperator::find_log_prop ( const vector< LogicalProperty * > &  log_props)
overridevirtual

Generate the logical property of the operator node using the input logical properties.

参数
log_propsInput logical properties of the operator node.
返回
Logical property of the operator node.

重载 OperatorNode .

◆ get_op_type()

OpType ProjectLogicalOperator::get_op_type ( ) const
inlineoverridevirtual

TODO: add this function TODO: unify logical and physical OpType

重载 OperatorNode .

◆ type()

LogicalOperatorType ProjectLogicalOperator::type ( ) const
inlineoverridevirtual

实现了 LogicalOperator.


该类的文档由以下文件生成: