xndai commented on issue #1543: [CALCITE-3455] Redundant rule firing for both 
logical and physical nodes
URL: https://github.com/apache/calcite/pull/1543#issuecomment-561899807
 
 
   Thanks @zabetak for the pointer. After reviewing the whole thread, I now 
understand why @vlsi believes this is dup of 2223. 
   
   I think "single convention" and "convention preserving" rules are the 
concepts that capture exactly what we need.
   
   For "single convention", although user can specify operand class, some rules 
today don't have extension points, e.g. ProjectMergeRule. Anyone who would want 
to update those rule to only match a given convention would have to copy and 
rewrite the whole rule. Or at least sub-class the existing rules.
   
   And then there's no way to support "convention preserving" as the actual 
convention needs to be defined when defining the rule.
   
   Personally I agree with @vlsi that this is one outstanding missing piece of 
Calcite which affects planning performance quite a bit. Most of the Calcite 
users would just use the default rule set, and expect them to work out of the 
box. It would be too much to ask them to rewrite or even sub-class the rules.  
   
   My patch here provides a temporary solution to address the most pressing 
need - those rules I updated do get fired a lot in practice. But if we can 
reach a conclusion on 2223 (looks like we are very close), this patch won't be 
needed.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to