@@ -20,7 +20,6 @@ use properties::{
20
20
column_ref:: ColumnRefPropertyBuilder ,
21
21
schema:: { Catalog , SchemaPropertyBuilder } ,
22
22
} ;
23
- use rules:: * ;
24
23
25
24
pub use memo_ext:: { LogicalJoinOrder , MemoExt } ;
26
25
pub use optimizer_ext:: OptimizerExt ;
@@ -96,7 +95,7 @@ impl DatafusionOptimizer {
96
95
97
96
pub fn default_cascades_rules (
98
97
) -> Vec < Arc < RuleWrapper < DfNodeType , CascadesOptimizer < DfNodeType > > > > {
99
- let rules = PhysicalConversionRule :: all_conversions ( ) ;
98
+ let rules = rules :: PhysicalConversionRule :: all_conversions ( ) ;
100
99
let mut rule_wrappers = vec ! [ ] ;
101
100
for rule in rules {
102
101
rule_wrappers. push ( RuleWrapper :: new_cascades ( rule) ) ;
@@ -117,22 +116,33 @@ impl DatafusionOptimizer {
117
116
// rule_wrappers.push(RuleWrapper::new_cascades(Arc::new(
118
117
// FilterAggTransposeRule::new(),
119
118
// )));
120
- rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new ( HashJoinRule :: new ( ) ) ) ) ;
121
- rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new ( JoinCommuteRule :: new ( ) ) ) ) ;
122
119
rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
123
- InnerCrossJoinRule :: new ( ) ,
120
+ rules :: HashJoinRule :: new ( ) ,
124
121
) ) ) ;
125
- rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new ( JoinAssocRule :: new ( ) ) ) ) ;
126
122
rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
127
- JoinAbsorbFilterRule :: new ( ) ,
123
+ rules:: JoinCommuteRule :: new ( ) ,
124
+ ) ) ) ;
125
+ rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
126
+ rules:: InnerCrossJoinRule :: new ( ) ,
127
+ ) ) ) ;
128
+ rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
129
+ rules:: JoinAssocRule :: new ( ) ,
130
+ ) ) ) ;
131
+ rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
132
+ rules:: JoinAbsorbFilterRule :: new ( ) ,
128
133
) ) ) ;
129
134
// rule_wrappers.push(RuleWrapper::new_cascades(Arc::new(
130
135
// ProjectionPullUpJoin::new(),
131
136
// )));
132
137
rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
133
- EliminateProjectRule :: new ( ) ,
138
+ rules:: EliminateProjectRule :: new ( ) ,
139
+ ) ) ) ;
140
+ rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
141
+ rules:: ProjectMergeRule :: new ( ) ,
142
+ ) ) ) ;
143
+ rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new (
144
+ rules:: EliminateLimitRule :: new ( ) ,
134
145
) ) ) ;
135
- rule_wrappers. push ( RuleWrapper :: new_cascades ( Arc :: new ( ProjectMergeRule :: new ( ) ) ) ) ;
136
146
// rule_wrappers.push(RuleWrapper::new_cascades(Arc::new(
137
147
// EliminateFilterRule::new(),
138
148
// )));
@@ -188,7 +198,7 @@ impl DatafusionOptimizer {
188
198
189
199
/// The optimizer settings for three-join demo as a perfect optimizer.
190
200
pub fn new_alternative_physical_for_demo ( catalog : Arc < dyn Catalog > ) -> Self {
191
- let rules = PhysicalConversionRule :: all_conversions ( ) ;
201
+ let rules = rules :: PhysicalConversionRule :: all_conversions ( ) ;
192
202
let mut rule_wrappers = Vec :: new ( ) ;
193
203
for rule in rules {
194
204
rule_wrappers. push ( RuleWrapper :: new_cascades ( rule) ) ;
0 commit comments