MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
索引扫描物理算子 更多...
#include <index_scan_physical_operator.h>
Public 成员函数 | |
IndexScanPhysicalOperator (Table *table, Index *index, ReadWriteMode mode, const Value *left_value, bool left_inclusive, const Value *right_value, bool right_inclusive) | |
PhysicalOperatorType | type () const override |
string | param () const override |
RC | open (Trx *trx) override |
RC | next () override |
RC | close () override |
Tuple * | current_tuple () override |
void | set_predicates (vector< unique_ptr< Expression > > &&exprs) |
![]() | |
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 () |
![]() | |
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 成员函数 | |
RC | filter (RowTuple &tuple, bool &result) |
Private 属性 | |
Trx * | trx_ = nullptr |
Table * | table_ = nullptr |
Index * | index_ = nullptr |
ReadWriteMode | mode_ = ReadWriteMode::READ_WRITE |
IndexScanner * | index_scanner_ = nullptr |
Record | current_record_ |
RowTuple | tuple_ |
Value | left_value_ |
Value | right_value_ |
bool | left_inclusive_ = false |
bool | right_inclusive_ = false |
vector< unique_ptr< Expression > > | predicates_ |
额外继承的成员函数 | |
![]() | |
vector< unique_ptr< PhysicalOperator > > | children_ |
![]() | |
vector< OperatorNode * > | general_children_ |
索引扫描物理算子
|
overridevirtual |
实现了 PhysicalOperator.
|
overridevirtual |
重载 PhysicalOperator .
|
overridevirtual |
重载 PhysicalOperator .
|
overridevirtual |
实现了 PhysicalOperator.
|
overridevirtual |
重载 PhysicalOperator .
|
inlineoverridevirtual |
实现了 PhysicalOperator.