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

与LogicalOperator对应,物理算子描述执行计划将如何执行 更多...

#include <physical_operator.h>

类 PhysicalOperator 继承关系图:
OperatorNode AggregateVecPhysicalOperator CalcPhysicalOperator DeletePhysicalOperator ExplainPhysicalOperator ExprVecPhysicalOperator GroupByPhysicalOperator GroupByVecPhysicalOperator IndexScanPhysicalOperator InsertPhysicalOperator NestedLoopJoinPhysicalOperator NestedLoopJoinPhysicalOperator PredicatePhysicalOperator ProjectPhysicalOperator ProjectVecPhysicalOperator StringListPhysicalOperator TableScanPhysicalOperator TableScanVecPhysicalOperator

Public 成员函数

virtual string name () const
 
virtual string param () const
 
bool is_physical () const override
 
bool is_logical () const override
 
virtual PhysicalOperatorType type () const =0
 
virtual RC open (Trx *trx)=0
 
virtual RC next ()
 
virtual RC next (Chunk &chunk)
 
virtual RC close ()=0
 
virtual Tuplecurrent_tuple ()
 
virtual RC tuple_schema (TupleSchema &schema) const
 
void add_child (unique_ptr< PhysicalOperator > oper)
 
vector< unique_ptr< PhysicalOperator > > & children ()
 
- 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 ()
 

Protected 属性

vector< unique_ptr< PhysicalOperator > > children_
 
- Protected 属性 继承自 OperatorNode
vector< OperatorNode * > general_children_
 

详细描述

与LogicalOperator对应,物理算子描述执行计划将如何执行

成员函数说明

◆ is_logical()

bool PhysicalOperator::is_logical ( ) const
inlineoverridevirtual
返回
Whether node represents a logical operator / expression

实现了 OperatorNode.

◆ is_physical()

bool PhysicalOperator::is_physical ( ) const
inlineoverridevirtual
返回
Whether node contents represent a physical operator / expression

实现了 OperatorNode.

◆ name()

string PhysicalOperator::name ( ) const
virtual

这两个函数是为了打印时使用的,比如在explain中

CalcPhysicalOperator 重载.


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