git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

JoinPushThroughJoinRule not applied on plan


I wanted to apply JoinPushThroughJoinRule.LEFT and
JoinPushThroughJoinRule.RIGHT to the plan for optimization. So I added
those 2 rules to Program and ran it as a sequence of programs.

But I am not getting plan applied with these rules

I did read [here
<https://issues.apache.org/jira/browse/CALCITE-457?focusedCommentId=14205221&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14205221>]
that adding rules does not mean that the plan will be better. So sanity
checks may fail. In my case, during onMatch() checks (in matchRecurse()
from ValcanoRuleCall.java), it fails because of no parents for the subsets
(getParentRels() returns empty list) .

Thus there are no successors and the recursion has not been trigerred. So
the rules has not been fired (onMatch() in JoinPushThroughJoinRule.java has
not been called at all). What can be done for that?

Any other flags need to be enabled or rules to be added??


Thanks in advance