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]

Reply via email to