|
MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
连接算子 更多...
#include <join_logical_operator.h>
Public 成员函数 | |
| LogicalOperatorType | type () const override |
| void | add_predicate_op (LogicalOperator *predicate_op) |
| auto | predicates () -> Expression * |
| OpType | get_op_type () const override |
| vector< unique_ptr< Expression > > & | get_join_predicates () |
| void | clear_join_predicates () |
| auto | add_join_predicate (unique_ptr< Expression > &&predicate) |
| unique_ptr< LogicalProperty > | find_log_prop (const vector< LogicalProperty * > &log_props) override |
| Generate the logical property of the operator node using the input logical properties. 更多... | |
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< 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 属性 | |
| LogicalOperator * | predicate_op_ = nullptr |
| std::vector< unique_ptr< Expression > > | join_predicates_ |
额外继承的成员函数 | |
静态 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_ |
连接算子
连接算子,用于连接两个表。对应的物理算子或者实现,可能有NestedLoopJoin,HashJoin等等。
|
inlineoverridevirtual |
Generate the logical property of the operator node using the input logical properties.
| log_props | Input logical properties of the operator node. |
重载 OperatorNode .
|
inlineoverridevirtual |
TODO: add this function TODO: unify logical and physical OpType
重载 OperatorNode .
|
inlineoverridevirtual |
实现了 LogicalOperator.