alamb commented on PR #26757:
URL: https://github.com/apache/datafusion/pull/26757#issuecomment-6633761936

   I am sorry I can't read so much text or PRs in 
   
   > **The end state I'm aiming for (#26481)**
   > The physical planner owns the steps a plan needs to be correct: it records 
the query's output ordering, picks each join's mode when it creates the join, 
and runs enforcement.
   > Rules before enforcement keep the results unchanged, may leave 
requirements unmet, and stay correct on plans that already contain repartitions 
and sorts.
   > Rules after enforcement receive a valid plan and return one, without 
relying on plan shapes for correctness, so they can be reordered and run again.
   
   I don't quite understand this end state. If the physical planner always 
produces correct plans (including sorting and ordering requirement enforcement) 
how would we have rules that ran **before** enforcement?
   
   If that is the state your are aiming for, do we need AnalyzerRules at all?  
It almost seems as if the only AnalyzerRule will be EnforceRequirements?
   


-- 
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