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
