MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
表示从表中获取数据的算子 更多...
#include <table_get_logical_operator.h>
Public 成员函数 | |
TableGetLogicalOperator (Table *table, ReadWriteMode mode) | |
LogicalOperatorType | type () const override |
OpType | get_op_type () const override |
virtual uint64_t | hash () const override |
virtual bool | operator== (const OperatorNode &other) const override |
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. 更多... | |
Table * | table () const |
ReadWriteMode | read_write_mode () const |
void | set_predicates (vector< unique_ptr< Expression > > &&exprs) |
auto | predicates () -> vector< unique_ptr< Expression > > & |
![]() | |
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 () |
![]() | |
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 属性 | |
Table * | table_ = nullptr |
ReadWriteMode | mode_ = ReadWriteMode::READ_WRITE |
vector< unique_ptr< Expression > > | predicates_ |
额外继承的成员函数 | |
![]() | |
static bool | can_generate_vectorized_operator (const LogicalOperatorType &type) |
![]() | |
vector< unique_ptr< LogicalOperator > > | children_ |
子算子 更多... | |
vector< unique_ptr< Expression > > | expressions_ |
![]() | |
vector< OperatorNode * > | general_children_ |
表示从表中获取数据的算子
比如使用全表扫描、通过索引获取数据等
|
overridevirtual |
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 |
TODO: complete it if needed
重载 OperatorNode .
|
inlineoverridevirtual |
重载 OperatorNode .
|
inlineoverridevirtual |
实现了 LogicalOperator.