17#include "sql/operator/physical_operator.h"
18#include "storage/record/record_manager.h"
31 : table_(table), readonly_(readonly)
36 std::string param()
const override;
40 return PhysicalOperatorType::TABLE_SCAN;
43 RC open(
Trx *trx)
override;
47 Tuple *current_tuple()
override;
49 void set_predicates(std::vector<std::unique_ptr<Expression>> &&exprs);
52 RC filter(
RowTuple &tuple,
bool &result);
55 Table * table_ =
nullptr;
57 bool readonly_ =
false;
61 std::vector<std::unique_ptr<Expression>> predicates_;
与LogicalOperator对应,物理算子描述执行计划将如何执行
Definition: physical_operator.h:57
遍历某个文件中所有记录
Definition: record_manager.h:326
表示一个记录 当前的记录都是连续存放的空间(内存或磁盘上)。 为了提高访问的效率,record通常直接记录指向页面上的内存,但是需要保证访问这种数据时,拿着锁资源。 为了方便,也提供了复制内存的方法。可...
Definition: record.h:92
一行数据的元组
Definition: tuple.h:137
表扫描物理算子
Definition: table_scan_physical_operator.h:28
事务接口
Definition: trx.h:142
元组的抽象描述
Definition: tuple.h:84
PhysicalOperatorType
物理算子类型
Definition: physical_operator.h:39