MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
#include <implementation_rules.h>
Public 成员函数 | |
void | transform (OperatorNode *input, std::vector< std::unique_ptr< OperatorNode > > *transformed, OptimizerContext *context) const override |
![]() | |
Pattern * | get_match_pattern () const |
bool | is_physical () const |
bool | is_logical () const |
RuleType | get_type () |
uint32_t | get_rule_idx () |
virtual RulePromise | promise (GroupExpr *group_expr) const |
virtual void | transform (OperatorNode *input, std::vector< std::unique_ptr< OperatorNode > > *transformed, OptimizerContext *context) const =0 |
额外继承的成员函数 | |
![]() | |
RuleType | type_ |
unique_ptr< Pattern > | match_pattern_ |
Rule transforms Logical predicate -> Physical predicate TODO: In practice, this rule may not be used and can be removed
|
overridevirtual |
Convert a "before" operator tree to an "after" operator tree
input | The "before" operator tree |
transformed | Vector of "after" operator trees |
context | The current optimization context |
实现了 Rule.