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-547744860
 
 
   > Quotes Julian's comment in the mailing list:
   > 
   > > Is there a change we could make to the rule API that would make it 
easier to customize rules? I have been thinking for a while about adding an 
“operand builder” to replace the static methods (e.g. RelOptRule.operandJ) that 
we use to build the operands inside rules. Maybe as part of this change, we 
could allow rules to clone themselves with slightly different parameters.
   > 
   > > I’m interested in hearing about a “big change” that would save us from a 
myriad of small changes in the coming years.
   > 
   > I'm also expecting if we can make more effort to do a bigger refactoring 
to make the RelOptRule customization more easier.
   
   If I understand correctly, what Julian's proposing is to refactor the 
RelOptRule interface so it's easier to specify which class of RelNode to match. 
In general I agree with this idea, but it's orthogonal to what I am fixing 
here. If we had such interface in place, we would still need to pass in logical 
class rather than the base class to avoid duplicating rule firing, which is 
what I am doing here.

----------------------------------------------------------------
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