Skip to content

Commit e671659

Browse files
committed
Use CubeRewrite type alias in wrapper rules
1 parent 11ff14c commit e671659

29 files changed

+179
-227
lines changed

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/aggregate.rs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::{
22
compile::rewrite::{
33
aggregate,
4-
analysis::{LogicalPlanAnalysis, LogicalPlanData},
4+
analysis::LogicalPlanData,
55
cube_scan_wrapper, grouping_set_expr, original_expr_name, rewrite,
6-
rewriter::CubeEGraph,
6+
rewriter::{CubeEGraph, CubeRewrite},
77
rules::{members::MemberRules, wrapper::WrapperRules},
88
subquery, transforming_chain_rewrite, transforming_rewrite, wrapped_select,
99
wrapped_select_filter_expr_empty_tail, wrapped_select_having_expr_empty_tail,
@@ -18,14 +18,11 @@ use crate::{
1818
var, var_iter,
1919
};
2020
use datafusion::logical_plan::Column;
21-
use egg::{Rewrite, Subst, Var};
21+
use egg::{Subst, Var};
2222
use std::ops::IndexMut;
2323

2424
impl WrapperRules {
25-
pub fn aggregate_rules(
26-
&self,
27-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
28-
) {
25+
pub fn aggregate_rules(&self, rules: &mut Vec<CubeRewrite>) {
2926
rules.extend(vec![
3027
transforming_rewrite(
3128
"wrapper-push-down-aggregate-to-cube-scan",
@@ -247,10 +244,7 @@ impl WrapperRules {
247244
}
248245
}
249246

250-
pub fn aggregate_rules_subquery(
251-
&self,
252-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
253-
) {
247+
pub fn aggregate_rules_subquery(&self, rules: &mut Vec<CubeRewrite>) {
254248
rules.extend(vec![transforming_rewrite(
255249
"wrapper-push-down-aggregate-and-subquery-to-cube-scan",
256250
aggregate(

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/aggregate_function.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
use crate::{
22
compile::rewrite::{
3-
agg_fun_expr, analysis::LogicalPlanAnalysis, rewrite, rewriter::CubeEGraph,
4-
rules::wrapper::WrapperRules, transforming_rewrite, wrapper_pullup_replacer,
5-
wrapper_pushdown_replacer, AggregateFunctionExprDistinct, AggregateFunctionExprFun,
6-
LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
3+
agg_fun_expr, rewrite,
4+
rewriter::{CubeEGraph, CubeRewrite},
5+
rules::wrapper::WrapperRules,
6+
transforming_rewrite, wrapper_pullup_replacer, wrapper_pushdown_replacer,
7+
AggregateFunctionExprDistinct, AggregateFunctionExprFun, LogicalPlanLanguage,
8+
WrapperPullupReplacerAliasToCube,
79
},
810
var, var_iter,
911
};
1012
use datafusion::physical_plan::aggregates::AggregateFunction;
11-
use egg::{Rewrite, Subst};
13+
use egg::Subst;
1214

1315
impl WrapperRules {
14-
pub fn window_function_rules(
15-
&self,
16-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
17-
) {
16+
pub fn window_function_rules(&self, rules: &mut Vec<CubeRewrite>) {
1817
rules.extend(vec![
1918
rewrite(
2019
"wrapper-push-down-aggregate-function",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/alias.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
use crate::compile::rewrite::{
2-
alias_expr, analysis::LogicalPlanAnalysis, rewrite, rules::wrapper::WrapperRules,
3-
wrapper_pullup_replacer, wrapper_pushdown_replacer, LogicalPlanLanguage,
2+
alias_expr, rewrite, rewriter::CubeRewrite, rules::wrapper::WrapperRules,
3+
wrapper_pullup_replacer, wrapper_pushdown_replacer,
44
};
5-
use egg::Rewrite;
65

76
impl WrapperRules {
8-
pub fn alias_rules(&self, rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>) {
7+
pub fn alias_rules(&self, rules: &mut Vec<CubeRewrite>) {
98
rules.extend(vec![
109
rewrite(
1110
"wrapper-push-down-alias",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/binary_expr.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
use crate::{
22
compile::rewrite::{
3-
analysis::LogicalPlanAnalysis, binary_expr, rewrite, rewriter::CubeEGraph,
4-
rules::wrapper::WrapperRules, transforming_rewrite, wrapper_pullup_replacer,
5-
wrapper_pushdown_replacer, LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
3+
binary_expr, rewrite,
4+
rewriter::{CubeEGraph, CubeRewrite},
5+
rules::wrapper::WrapperRules,
6+
transforming_rewrite, wrapper_pullup_replacer, wrapper_pushdown_replacer,
7+
LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
68
},
79
var, var_iter,
810
};
9-
use egg::{Rewrite, Subst};
11+
use egg::Subst;
1012

1113
impl WrapperRules {
12-
pub fn binary_expr_rules(
13-
&self,
14-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
15-
) {
14+
pub fn binary_expr_rules(&self, rules: &mut Vec<CubeRewrite>) {
1615
rules.extend(vec![
1716
rewrite(
1817
"wrapper-push-down-binary-expr",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/case.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
use crate::{
22
compile::rewrite::{
3-
analysis::LogicalPlanAnalysis, case_expr_var_arg, rewrite, rewriter::CubeEGraph,
4-
rules::wrapper::WrapperRules, transforming_rewrite, wrapper_pullup_replacer,
5-
wrapper_pushdown_replacer, LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
3+
case_expr_var_arg, rewrite,
4+
rewriter::{CubeEGraph, CubeRewrite},
5+
rules::wrapper::WrapperRules,
6+
transforming_rewrite, wrapper_pullup_replacer, wrapper_pushdown_replacer,
7+
LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
68
},
79
var, var_iter,
810
};
9-
use egg::{Rewrite, Subst};
11+
use egg::Subst;
1012

1113
impl WrapperRules {
12-
pub fn case_rules(&self, rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>) {
14+
pub fn case_rules(&self, rules: &mut Vec<CubeRewrite>) {
1315
rules.extend(vec![
1416
rewrite(
1517
"wrapper-push-down-case",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/cast.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
use crate::compile::rewrite::{
2-
analysis::LogicalPlanAnalysis, cast_expr, rewrite, rules::wrapper::WrapperRules,
3-
wrapper_pullup_replacer, wrapper_pushdown_replacer, LogicalPlanLanguage,
2+
cast_expr, rewrite, rewriter::CubeRewrite, rules::wrapper::WrapperRules,
3+
wrapper_pullup_replacer, wrapper_pushdown_replacer,
44
};
5-
use egg::Rewrite;
65

76
impl WrapperRules {
8-
pub fn cast_rules(&self, rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>) {
7+
pub fn cast_rules(&self, rules: &mut Vec<CubeRewrite>) {
98
rules.extend(vec![
109
rewrite(
1110
"wrapper-push-down-cast",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/column.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
use crate::{
22
compile::rewrite::{
3-
analysis::{LogicalPlanAnalysis, Member},
3+
analysis::Member,
44
column_expr, rewrite,
5-
rewriter::CubeEGraph,
5+
rewriter::{CubeEGraph, CubeRewrite},
66
rules::wrapper::WrapperRules,
77
transforming_rewrite, wrapper_pullup_replacer, wrapper_pushdown_replacer, ColumnExprColumn,
88
LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
99
},
1010
var, var_iter,
1111
};
12-
use egg::{Rewrite, Subst};
12+
use egg::Subst;
1313

1414
impl WrapperRules {
15-
pub fn column_rules(&self, rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>) {
15+
pub fn column_rules(&self, rules: &mut Vec<CubeRewrite>) {
1616
rules.extend(vec![
1717
rewrite(
1818
"wrapper-push-down-column",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/cube_scan_wrapper.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
use crate::{
22
compile::rewrite::{
3-
analysis::LogicalPlanAnalysis, cube_scan, cube_scan_wrapper, rewrite, rewriter::CubeEGraph,
4-
rules::wrapper::WrapperRules, transforming_rewrite, wrapper_pullup_replacer,
5-
CubeScanAliasToCube, CubeScanUngrouped, LogicalPlanLanguage,
6-
WrapperPullupReplacerAliasToCube, WrapperPullupReplacerUngrouped,
3+
cube_scan, cube_scan_wrapper, rewrite,
4+
rewriter::{CubeEGraph, CubeRewrite},
5+
rules::wrapper::WrapperRules,
6+
transforming_rewrite, wrapper_pullup_replacer, CubeScanAliasToCube, CubeScanUngrouped,
7+
LogicalPlanLanguage, WrapperPullupReplacerAliasToCube, WrapperPullupReplacerUngrouped,
78
},
89
var, var_iter,
910
};
10-
use egg::{Rewrite, Subst};
11+
use egg::Subst;
1112

1213
impl WrapperRules {
13-
pub fn cube_scan_wrapper_rules(
14-
&self,
15-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
16-
) {
14+
pub fn cube_scan_wrapper_rules(&self, rules: &mut Vec<CubeRewrite>) {
1715
rules.extend(vec![
1816
transforming_rewrite(
1917
"wrapper-cube-scan-wrap",

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/distinct.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
use crate::compile::rewrite::{
2-
analysis::LogicalPlanAnalysis, cube_scan_wrapper, distinct, rewrite,
3-
rules::wrapper::WrapperRules, wrapped_select, wrapper_pullup_replacer, LogicalPlanLanguage,
2+
cube_scan_wrapper, distinct, rewrite, rewriter::CubeRewrite, rules::wrapper::WrapperRules,
3+
wrapped_select, wrapper_pullup_replacer,
44
};
5-
use egg::Rewrite;
65

76
impl WrapperRules {
8-
pub fn distinct_rules(
9-
&self,
10-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
11-
) {
7+
pub fn distinct_rules(&self, rules: &mut Vec<CubeRewrite>) {
128
rules.extend(vec![rewrite(
139
"wrapper-push-down-distinct-to-cube-scan",
1410
distinct(cube_scan_wrapper(

rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/extract.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
use crate::{
22
compile::rewrite::{
3-
analysis::LogicalPlanAnalysis, literal_expr, rewriter::CubeEGraph,
4-
rules::wrapper::WrapperRules, transforming_rewrite, wrapper_pullup_replacer,
5-
LogicalPlanLanguage, WrapperPullupReplacerAliasToCube,
3+
literal_expr,
4+
rewriter::{CubeEGraph, CubeRewrite},
5+
rules::wrapper::WrapperRules,
6+
transforming_rewrite, wrapper_pullup_replacer, LogicalPlanLanguage,
7+
WrapperPullupReplacerAliasToCube,
68
},
79
var, var_iter,
810
};
9-
use egg::{Rewrite, Subst};
11+
use egg::Subst;
1012

1113
impl WrapperRules {
12-
pub fn extract_rules(
13-
&self,
14-
rules: &mut Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>,
15-
) {
14+
pub fn extract_rules(&self, rules: &mut Vec<CubeRewrite>) {
1615
rules.extend(vec![transforming_rewrite(
1716
"wrapper-pull-up-extract",
1817
self.fun_expr(

0 commit comments

Comments
 (0)