alamb commented on PR #25688: URL: https://github.com/apache/datafusion/pull/25688#issuecomment-6006612748
> # What I mean by extensible boundaries Thank you @2010YOUY01 and @zhuqi-lucas Extensible boundaries are an interesting idea, do you have any particular use case in mind for this? The one usecase I know of is a OptimizerRule that may disturb sorting or distribution requirements (and thus needs to run the EnforceRequirements pass again). I think this usecase can be satisfied by having the OptimizerRule just call EnforceRequirements again explicitly so the requirements are satisfied after the rule runs. As neat an idea of having multiple classes of constraints that can be satisfied at different points, I think it makes it harder to reason about the optimizer as a whole and any OptimizerRule individually -- we would need some way for each rule to communicate what its expected input and output boundary was I also don't see the split of "invalid plan" --> "valid plan" as embodied in AnalayzeRule / OptimizerRule as preventing us from adding some sort of extensible boundaries in the future (though they would likely not have an invalid/valid boundary) 🤔 -- 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]
