jayzhan211 commented on issue #26481: URL: https://github.com/apache/datafusion/issues/26481#issuecomment-6407609999
@2010YOUY01 Yes. The split PR keeps today's rule order: everything up to and including `EnsureRequirements` becomes the analyzer, and no rule moves. It also adds `satisfy_requirements`, which debug builds use to check that the analyzer leaves a valid plan. I checked the reorders because the goal was an analyzer for correctness and an optimizer that is valid in, valid out, and today's rules don't split that way. Moved after `EnsureRequirements`, `join_selection` and the `OutputRequirements` marker break correctness, and `WindowTopN`, `EliminateConstantJoin` and `LimitedDistinctAggregation` give worse plans. So `EnsureRequirements` is the boundary, and the analyzer holds every rule that has to run before it. I'll open the split PR next, then a separate issue each for `WindowTopN` and `join_selection`, and fix them there. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
