File tree Expand file tree Collapse file tree
datafusion/optimizer/src/simplify_expressions Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -191,23 +191,12 @@ impl<S: SimplifyInfo> ExprSimplifier<S> {
191191
192192 let mut num_iterations = 0 ;
193193 loop {
194- let result = expr. rewrite ( & mut const_evaluator) ?;
195- let mut transformed = result. transformed ;
196- expr = result. data ;
197-
198- let result = expr. rewrite ( & mut simplifier) ?;
199- transformed |= result. transformed ;
200- expr = result. data ;
201-
202- let result = expr. rewrite ( & mut guarantee_rewriter) ?;
203- transformed |= result. transformed ;
204- expr = result. data ;
205-
206- // shorten inlist should be started after other inlist rules are applied
207- let result = expr. rewrite ( & mut shorten_in_list_simplifier) ?;
208- transformed |= result. transformed ;
209- expr = result. data ;
210-
194+ let Transformed { data, transformed, .. } = expr
195+ . rewrite ( & mut const_evaluator) ?
196+ . transform_data ( |expr| expr. rewrite ( & mut simplifier) ) ?
197+ . transform_data ( |expr| expr. rewrite ( & mut guarantee_rewriter) ) ?
198+ . transform_data ( |expr| expr. rewrite ( & mut shorten_in_list_simplifier) ) ?;
199+ expr = data;
211200 num_iterations += 1 ;
212201 if !transformed || num_iterations >= self . max_simplifier_iterations {
213202 return Ok ( ( expr, num_iterations) ) ;
You can’t perform that action at this time.
0 commit comments