@@ -16,12 +16,11 @@ use crate::{
1616 transforming_rewrite, transforming_rewrite_with_root, udf_expr, udf_expr_var_arg,
1717 udf_fun_expr_args, udf_fun_expr_args_empty_tail, BetweenExprNegated , BinaryExprOp ,
1818 CastExprDataType , ChangeUserMemberValue , ColumnExprColumn , CubeScanAliasToCube ,
19- CubeScanLimit , FilterMemberMember , FilterMemberOp , FilterMemberValues , FilterOpOp ,
19+ FilterMemberMember , FilterMemberOp , FilterMemberValues , FilterOpOp ,
2020 FilterReplacerAliasToCube , FilterReplacerAliases , InListExprNegated , LikeExprEscapeChar ,
21- LikeExprNegated , LimitFetch , LimitSkip , ListPattern , ListType , LiteralExprValue ,
22- LogicalPlanLanguage , SegmentMemberMember , TimeDimensionDateRange ,
23- TimeDimensionDateRangeReplacerDateRange , TimeDimensionDateRangeReplacerMember ,
24- TimeDimensionGranularity , TimeDimensionName ,
21+ LikeExprNegated , ListPattern , ListType , LiteralExprValue , LogicalPlanLanguage ,
22+ SegmentMemberMember , TimeDimensionDateRange , TimeDimensionDateRangeReplacerDateRange ,
23+ TimeDimensionDateRangeReplacerMember , TimeDimensionGranularity , TimeDimensionName ,
2524 } ,
2625 config:: ConfigObj ,
2726 transport:: { ext:: V1CubeMetaExt , MemberType , MetaContext } ,
@@ -131,27 +130,22 @@ impl RewriteRules for FilterRules {
131130 ) ,
132131 ) ,
133132 limit(
134- "?new_limit_skip " ,
135- "?new_limit_fetch " ,
133+ "LimitSkip:None " ,
134+ "LimitFetch:0 " ,
136135 cube_scan(
137136 "?source_table_name" ,
138137 "?members" ,
139138 "?filters" ,
140139 "?order" ,
141- "?new_limit " ,
140+ "?limit " ,
142141 "?offset" ,
143142 "?split" ,
144143 "?can_pushdown_join" ,
145144 "?wrapped" ,
146145 "?ungrouped" ,
147146 ) ,
148147 ) ,
149- self . push_down_limit_filter(
150- "?literal_false" ,
151- "?new_limit" ,
152- "?new_limit_skip" ,
153- "?new_limit_fetch" ,
154- ) ,
148+ self . push_down_limit_filter( "?literal_false" ) ,
155149 ) ,
156150 // Transform Filter: Boolean(true)
157151 // It's safe to push down filter under projection, next filter-truncate-true will truncate it
@@ -2553,31 +2547,13 @@ impl FilterRules {
25532547 fn push_down_limit_filter (
25542548 & self ,
25552549 literal_var : & ' static str ,
2556- new_limit_var : & ' static str ,
2557- new_limit_skip_var : & ' static str ,
2558- new_limit_fetch_var : & ' static str ,
25592550 ) -> impl Fn ( & mut CubeEGraph , & mut Subst ) -> bool {
25602551 let literal_var = var ! ( literal_var) ;
2561- let new_limit_var = var ! ( new_limit_var) ;
2562- let new_limit_skip_var = var ! ( new_limit_skip_var) ;
2563- let new_limit_fetch_var = var ! ( new_limit_fetch_var) ;
25642552 move |egraph, subst| {
25652553 if let Some ( ConstantFolding :: Scalar ( literal_value) ) =
25662554 & egraph[ subst[ literal_var] ] . data . constant
25672555 {
25682556 if let ScalarValue :: Boolean ( Some ( false ) ) = literal_value {
2569- subst. insert (
2570- new_limit_var,
2571- egraph. add ( LogicalPlanLanguage :: CubeScanLimit ( CubeScanLimit ( Some ( 0 ) ) ) ) ,
2572- ) ;
2573- subst. insert (
2574- new_limit_skip_var,
2575- egraph. add ( LogicalPlanLanguage :: LimitSkip ( LimitSkip ( Some ( 0 ) ) ) ) ,
2576- ) ;
2577- subst. insert (
2578- new_limit_fetch_var,
2579- egraph. add ( LogicalPlanLanguage :: LimitFetch ( LimitFetch ( Some ( 0 ) ) ) ) ,
2580- ) ;
25812557 return true ;
25822558 }
25832559 }
0 commit comments