MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
Public 成员函数 | |
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< LogicalProperty > | find_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< OperatorNode * > | general_children_ |
|
inlinevirtual |
Calculates the cost of a logical operation.
This function is intended to be overridden in derived classes. It calculates the cost associated with a specific logical property, taking into account the provided child logical properties and a cost model.
prop | A pointer to the logical property for which the cost is being calculated. |
child_log_props | A vector containing pointers to child logical properties. |
cm | A pointer to the cost model used for calculating the cost. |
被 ExplainPhysicalOperator, NestedLoopJoinPhysicalOperator, ProjectPhysicalOperator , 以及 TableScanPhysicalOperator 重载.
|
inlinevirtual |
Generate the logical property of the operator node using the input logical properties.
log_props | Input logical properties of the operator node. |
被 JoinLogicalOperator, ProjectLogicalOperator , 以及 TableGetLogicalOperator 重载.
|
inlinevirtual |
TODO: add this function TODO: unify logical and physical OpType
被 CalcLogicalOperator, CalcPhysicalOperator, DeleteLogicalOperator, DeletePhysicalOperator, ExplainLogicalOperator, ExplainPhysicalOperator, GroupByLogicalOperator, HashGroupByPhysicalOperator, InsertLogicalOperator, InsertPhysicalOperator, JoinLogicalOperator, NestedLoopJoinPhysicalOperator, PredicateLogicalOperator, PredicatePhysicalOperator, ProjectLogicalOperator, ProjectPhysicalOperator, ScalarGroupByPhysicalOperator, TableGetLogicalOperator , 以及 TableScanPhysicalOperator 重载.
|
inlinevirtual |
TODO: complete it if needed
被 TableGetLogicalOperator , 以及 TableScanPhysicalOperator 重载.
|
pure virtual |
在 LogicalOperator , 以及 PhysicalOperator 内被实现.
|
pure virtual |
在 LogicalOperator , 以及 PhysicalOperator 内被实现.