11use crate :: {
22 compile:: rewrite:: {
33 agg_fun_expr, aggregate, alias_expr, all_members,
4- analysis:: {
5- ConstantFolding , LogicalPlanAnalysis , LogicalPlanData , MemberNamesToExpr , OriginalExpr ,
6- } ,
4+ analysis:: { ConstantFolding , LogicalPlanData , MemberNamesToExpr , OriginalExpr } ,
75 binary_expr, cast_expr, change_user_expr, column_expr, cross_join, cube_scan,
86 cube_scan_filters_empty_tail, cube_scan_members, cube_scan_members_empty_tail,
97 cube_scan_order_empty_tail, dimension_expr, expr_column_name, fun_expr, join, like_expr,
108 limit, list_concat_pushdown_replacer, list_concat_pushup_replacer, literal_expr,
119 literal_member, measure_expr, member_pushdown_replacer, member_replacer,
1210 merged_members_replacer, original_expr_name, projection, referenced_columns, rewrite,
13- rewriter:: { CubeEGraph , RewriteRules } ,
11+ rewriter:: { CubeEGraph , CubeRewrite , RewriteRules } ,
1412 rules:: {
1513 replacer_flat_push_down_node_substitute_rules, replacer_push_down_node,
1614 replacer_push_down_node_substitute_rules, utils,
@@ -40,7 +38,7 @@ use datafusion::{
4038 physical_plan:: aggregates:: AggregateFunction ,
4139 scalar:: ScalarValue ,
4240} ;
43- use egg:: { Id , Rewrite , Subst , Var } ;
41+ use egg:: { Id , Subst , Var } ;
4442use itertools:: { EitherOrBoth , Itertools } ;
4543use std:: {
4644 collections:: { HashMap , HashSet } ,
@@ -56,7 +54,7 @@ pub struct MemberRules {
5654}
5755
5856impl RewriteRules for MemberRules {
59- fn rewrite_rules ( & self ) -> Vec < Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > > {
57+ fn rewrite_rules ( & self ) -> Vec < CubeRewrite > {
6058 let mut rules = vec ! [
6159 transforming_rewrite(
6260 "cube-scan" ,
@@ -442,7 +440,7 @@ impl MemberRules {
442440 name : & str ,
443441 member_fn : impl Fn ( & str ) -> String ,
444442 relation : Option < & ' static str > ,
445- ) -> Vec < Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > > {
443+ ) -> Vec < CubeRewrite > {
446444 vec ! [
447445 transforming_rewrite(
448446 & format!( "member-pushdown-replacer-column-{}" , name) ,
@@ -477,7 +475,7 @@ impl MemberRules {
477475 ]
478476 }
479477
480- fn member_pushdown_rules ( & self ) -> Vec < Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > > {
478+ fn member_pushdown_rules ( & self ) -> Vec < CubeRewrite > {
481479 let mut rules = Vec :: new ( ) ;
482480 let member_replacer_fn = |members| {
483481 member_pushdown_replacer (
@@ -931,10 +929,7 @@ impl MemberRules {
931929 ) ,
932930 ) ) ;
933931
934- fn list_concat_terminal (
935- name : & str ,
936- member_fn : String ,
937- ) -> Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > {
932+ fn list_concat_terminal ( name : & str , member_fn : String ) -> CubeRewrite {
938933 rewrite (
939934 & format ! ( "list-concat-terminal-{}" , name) ,
940935 list_concat_pushdown_replacer ( member_fn. to_string ( ) ) ,
@@ -1001,7 +996,7 @@ impl MemberRules {
1001996 }
1002997
1003998 pub fn measure_rewrites (
1004- rules : & mut Vec < Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > > ,
999+ rules : & mut Vec < CubeRewrite > ,
10051000 pushdown_measure_rewrite : impl Fn (
10061001 & ' static str ,
10071002 String ,
@@ -1010,7 +1005,7 @@ impl MemberRules {
10101005 Option < & ' static str > ,
10111006 Option < & ' static str > ,
10121007 Option < & ' static str > ,
1013- ) -> Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > ,
1008+ ) -> CubeRewrite ,
10141009 ) {
10151010 rules. push ( pushdown_measure_rewrite (
10161011 "member-pushdown-replacer-agg-fun" ,
@@ -1760,7 +1755,7 @@ impl MemberRules {
17601755 distinct_var : Option < & ' static str > ,
17611756 fun_var : Option < & ' static str > ,
17621757 cast_data_type_var : Option < & ' static str > ,
1763- ) -> Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > {
1758+ ) -> CubeRewrite {
17641759 transforming_chain_rewrite (
17651760 & format ! ( "measure-{}" , name) ,
17661761 member_replacer ( "?aggr_expr" , "?alias_to_cube" , "?aliases" ) ,
@@ -2761,7 +2756,7 @@ impl MemberRules {
27612756 right_members_expr : String ,
27622757 left_members : & ' static str ,
27632758 right_members : & ' static str ,
2764- ) -> Rewrite < LogicalPlanLanguage , LogicalPlanAnalysis > {
2759+ ) -> CubeRewrite {
27652760 transforming_rewrite (
27662761 & format ! ( "push-down-cross-join-to-cube-scan-{}" , name) ,
27672762 cross_join (
0 commit comments