|
MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
Public 成员函数 | |
| GroupExpr (OperatorNode *contents, std::vector< int > &&child_groups) | |
| int | get_group_id () const |
| void | set_group_id (int id) |
| const vector< int > & | get_child_group_ids () const |
| int | get_child_group_id (int child_idx) const |
| OperatorNode * | get_op () |
| double | get_cost () const |
| void | set_local_cost (double cost) |
| uint64_t | hash () const |
| bool | operator== (const GroupExpr &r) const |
| void | set_rule_explored (Rule *rule) |
| bool | rule_explored (Rule *rule) |
| size_t | get_children_groups_size () const |
| void | dump () const |
Private 属性 | |
| int | group_id_ {} |
| OperatorNode * | contents_ {} |
| std::vector< int > | child_groups_ |
| std::bitset< static_cast< uint32_t >(RuleType::NUM_RULES)> | rule_mask_ |
| double | lowest_cost_ = std::numeric_limits<double>::max() |
|
inline |
| contents | optimizer node contents |
| child_groups | Vector of children groups |