MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
: memorization 更多...
#include <memo.h>
类 | |
struct | GExprPtrEq |
struct | GExprPtrHash |
Public 成员函数 | |
GroupExpr * | insert_expression (GroupExpr *gexpr) |
GroupExpr * | insert_expression (GroupExpr *gexpr, int target_group) |
Group * | get_group_by_id (int id) const |
void | dump () const |
void | record_operator (unique_ptr< OperatorNode > &&node) |
void | release_operator (OperatorNode *node) |
Private 成员函数 | |
int | add_new_group (GroupExpr *gexpr) |
Private 属性 | |
std::unordered_set< GroupExpr *, GExprPtrHash, GExprPtrEq > | group_expressions_ |
vector< unique_ptr< Group > > | groups_ |
std::unordered_map< OperatorNode *, unique_ptr< OperatorNode > > | operator_nodes_ |
: memorization
: Memo class for tracking Groups and GroupExpressions and provides the mechanisms by which we can do duplicate group detection. TODO: rename to search space(ssp)? (in columbia)
|
private |
Group owns GroupExpressions, not the memo