17#include "common/sys/rc.h"
18#include "sql/expr/tuple.h"
19#include "sql/operator/operator_node.h"
72 virtual string name()
const;
73 virtual string param()
const;
80 virtual RC open(
Trx *trx) = 0;
81 virtual RC next() {
return RC::UNIMPLEMENTED; }
82 virtual RC next(
Chunk &chunk) {
return RC::UNIMPLEMENTED; }
83 virtual RC close() = 0;
85 virtual Tuple *current_tuple() {
return nullptr; }
87 virtual RC tuple_schema(
TupleSchema &schema)
const {
return RC::UNIMPLEMENTED; }
89 void add_child(unique_ptr<PhysicalOperator> oper) { children_.emplace_back(std::move(oper)); }
91 vector<unique_ptr<PhysicalOperator>> &children() {
return children_; }
94 vector<unique_ptr<PhysicalOperator>> children_;
A Chunk represents a set of columns.
Definition: chunk.h:23
Definition: operator_node.h:69
与LogicalOperator对应,物理算子描述执行计划将如何执行
Definition: physical_operator.h:63
bool is_physical() const override
Definition: physical_operator.h:75
bool is_logical() const override
Definition: physical_operator.h:76
virtual string name() const
Definition: physical_operator.cpp:41
表示一个记录
Definition: record.h:101
事务接口
Definition: trx.h:141
Definition: tuple_cell.h:20
元组的结构,包含哪些字段(这里成为Cell),每个字段的说明
Definition: tuple.h:48
元组的抽象描述
Definition: tuple.h:66
PhysicalOperatorType
物理算子类型
Definition: physical_operator.h:36