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]

Reply via email to