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]
