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 |