MiniOB
1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
src
observer
sql
optimizer
cascade
tasks
apply_rule_task.h
1
/* Copyright (c) 2021 OceanBase and/or its affiliates. All rights reserved.
2
miniob is licensed under Mulan PSL v2.
3
You can use this software according to the terms and conditions of the Mulan PSL v2.
4
You may obtain a copy of Mulan PSL v2 at:
5
http://license.coscl.org.cn/MulanPSL2
6
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
7
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
8
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
9
See the Mulan PSL v2 for more details. */
10
11
#pragma once
12
13
#include "sql/optimizer/cascade/tasks/cascade_task.h"
14
#include "sql/optimizer/cascade/rules.h"
15
19
class
ApplyRule
:
public
CascadeTask
20
{
21
public
:
22
ApplyRule
(
GroupExpr
*group_expr,
Rule
*rule,
OptimizerContext
*context)
23
:
CascadeTask
(context, CascadeTaskType::APPLY_RULE), group_expr_(group_expr), rule_(rule)
24
{}
25
26
void
perform()
override
;
27
28
private
:
29
GroupExpr
*group_expr_;
30
Rule
*rule_;
31
};
ApplyRule
ApplyRule task
Definition:
apply_rule_task.h:20
CascadeTask
Definition:
cascade_task.h:32
GroupExpr
Definition:
group_expr.h:25
OptimizerContext
Definition:
optimizer_context.h:27
Rule
Definition:
rules.h:80
制作者
1.9.5