| 
    MiniOB 1
    
   MiniOB is one mini database, helping developers to learn how database works. 
   | 
 
  
Public 成员函数 | |
| CalcPhysicalOperator (vector< unique_ptr< Expression > > &&expressions) | |
| PhysicalOperatorType | type () const override | 
| OpType | get_op_type () const override | 
| string | name () const override | 
| string | param () const override | 
| RC | open (Trx *trx) override | 
| RC | next () override | 
| RC | close () override | 
| int | cell_num () const | 
| Tuple * | current_tuple () override | 
| const vector< unique_ptr< Expression > > & | expressions () const | 
| RC | tuple_schema (TupleSchema &schema) const override | 
  Public 成员函数 继承自 PhysicalOperator | |
| 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 Tuple * | current_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< 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 () | 
Private 属性 | |
| vector< unique_ptr< Expression > > | expressions_ | 
| ExpressionTuple< unique_ptr< Expression > > | tuple_ | 
| bool | emitted_ = false | 
额外继承的成员函数 | |
  Protected 属性 继承自 PhysicalOperator | |
| vector< unique_ptr< PhysicalOperator > > | children_ | 
  Protected 属性 继承自 OperatorNode | |
| vector< OperatorNode * > | general_children_ | 
      
  | 
  inlineoverridevirtual | 
实现了 PhysicalOperator.
      
  | 
  inlineoverridevirtual | 
重载 PhysicalOperator .
      
  | 
  inlineoverridevirtual | 
TODO: add this function TODO: unify logical and physical OpType
重载 OperatorNode .
      
  | 
  inlineoverridevirtual | 
这两个函数是为了打印时使用的,比如在explain中
重载 PhysicalOperator .
      
  | 
  inlineoverridevirtual | 
重载 PhysicalOperator .
      
  | 
  inlineoverridevirtual | 
实现了 PhysicalOperator.
      
  | 
  inlineoverridevirtual | 
重载 PhysicalOperator .
      
  | 
  inlineoverridevirtual | 
重载 PhysicalOperator .
      
  | 
  inlineoverridevirtual | 
实现了 PhysicalOperator.