alamb commented on PR #25688: URL: https://github.com/apache/datafusion/pull/25688#issuecomment-6014930191
> To implement an extension rule outside core, you need to understand the implicit constraints established by the surrounding default optimizer rules. Otherwise, changes in the default rules might break the plan. > Currently, many of these constraints are only documented locally inside individual rules. In my mind, the constraints are not imposed by the rules themselves, but are a property of the ExecutionPlan nodes -- there should be clear semantics of what each ExecutionPlan does and what is required of its input/output As long as these constraints are satisfied, then an OptimizerRule should be able to rearrange the plan however it sees fit as long as the resulting plan still produces the same output What is not clear to me is that there is any way to encode some sort of optimization property (e.g that limits have been pushed down) that gets tighter after each pass -- 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]
