最简单的两表(称为左表、右表)join算子
更多...
#include <join_physical_operator.h>
|
RC | left_next () |
|
RC | right_next () |
| 左表遍历下一条数据
|
|
RC | left_next () |
|
RC | right_next () |
| 左表遍历下一条数据
|
|
|
Trx * | trx_ = nullptr |
| 右表遍历下一条数据,如果上一轮结束了就重新开始新的一轮
|
|
PhysicalOperator * | left_ = nullptr |
| 左表右表的真实对象是在PhysicalOperator::children_中,这里是为了写的时候更简单
|
|
PhysicalOperator * | right_ = nullptr |
|
Tuple * | left_tuple_ = nullptr |
|
Tuple * | right_tuple_ = nullptr |
|
JoinedTuple | joined_tuple_ |
|
bool | round_done_ = true |
| 当前关联的左右两个tuple
|
|
bool | right_closed_ = true |
| 右表遍历的一轮是否结束
|
|
最简单的两表(称为左表、右表)join算子
依次遍历左表的每一行,然后关联右表的每一行
◆ calculate_cost()
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. |
- 返回
- The calculated cost as a double.
重载 OperatorNode .
◆ close() [1/2]
RC NestedLoopJoinPhysicalOperator::close |
( |
| ) |
|
|
overridevirtual |
◆ close() [2/2]
RC NestedLoopJoinPhysicalOperator::close |
( |
| ) |
|
|
overridevirtual |
◆ current_tuple() [1/2]
Tuple * NestedLoopJoinPhysicalOperator::current_tuple |
( |
| ) |
|
|
overridevirtual |
◆ current_tuple() [2/2]
Tuple * NestedLoopJoinPhysicalOperator::current_tuple |
( |
| ) |
|
|
overridevirtual |
◆ get_op_type()
OpType NestedLoopJoinPhysicalOperator::get_op_type |
( |
| ) |
const |
|
inlineoverridevirtual |
TODO: add this function TODO: unify logical and physical OpType
重载 OperatorNode .
◆ next() [1/2]
RC NestedLoopJoinPhysicalOperator::next |
( |
| ) |
|
|
overridevirtual |
◆ next() [2/2]
RC NestedLoopJoinPhysicalOperator::next |
( |
| ) |
|
|
overridevirtual |
◆ open() [1/2]
RC NestedLoopJoinPhysicalOperator::open |
( |
Trx * |
trx | ) |
|
|
overridevirtual |
◆ open() [2/2]
RC NestedLoopJoinPhysicalOperator::open |
( |
Trx * |
trx | ) |
|
|
overridevirtual |
◆ type() [1/2]
◆ type() [2/2]
该类的文档由以下文件生成: