@@ -286,34 +286,25 @@ impl TreeNodeRewriter for Rewriter<'_> {
286286
287287 fn f_down ( & mut self , node : LogicalPlan ) -> Result < Transformed < LogicalPlan > > {
288288 if self . apply_order == ApplyOrder :: TopDown {
289- optimize_plan_node ( node, self . rule , self . config )
289+ {
290+ self . rule . rewrite ( node, self . config )
291+ }
290292 } else {
291293 Ok ( Transformed :: no ( node) )
292294 }
293295 }
294296
295297 fn f_up ( & mut self , node : LogicalPlan ) -> Result < Transformed < LogicalPlan > > {
296298 if self . apply_order == ApplyOrder :: BottomUp {
297- optimize_plan_node ( node, self . rule , self . config )
299+ {
300+ self . rule . rewrite ( node, self . config )
301+ }
298302 } else {
299303 Ok ( Transformed :: no ( node) )
300304 }
301305 }
302306}
303307
304- /// Invokes the Optimizer rule to rewrite the LogicalPlan in place.
305- fn optimize_plan_node (
306- plan : LogicalPlan ,
307- rule : & dyn OptimizerRule ,
308- config : & dyn OptimizerConfig ,
309- ) -> Result < Transformed < LogicalPlan > > {
310- if rule. supports_rewrite ( ) {
311- rule. rewrite ( plan, config)
312- } else {
313- Ok ( Transformed :: no ( plan) )
314- }
315- }
316-
317308impl Optimizer {
318309 /// Optimizes the logical plan by applying optimizer rules, and
319310 /// invoking observer function after each call
@@ -359,7 +350,9 @@ impl Optimizer {
359350 & mut Rewriter :: new ( apply_order, rule. as_ref ( ) , config) ,
360351 ) ,
361352 // rule handles recursion itself
362- None => optimize_plan_node ( new_plan, rule. as_ref ( ) , config) ,
353+ None => {
354+ rule. rewrite ( new_plan, config)
355+ } ,
363356 }
364357 . and_then ( |tnr| {
365358 // run checks optimizer invariant checks, per optimizer rule applied
0 commit comments