[
https://issues.apache.org/jira/browse/CALCITE-571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14294202#comment-14294202
]
Julian Hyde commented on CALCITE-571:
-------------------------------------
ReduceExpressionsRule tries to reduce SemiJoin condition to non-equi condition.
If the reduced condition is no longer an equi-condition (e.g. "l.deptno =
r.deptno" becomes "l.deptno = 100" because we have a predicate "r.deptno =
100") then the rule should not try to change the SemiJoin.
The same applies to other types of join that must be equi-joins.
> ReduceExpressionsRule tries to reduce SemiJoin condition to non-equi condition
> ------------------------------------------------------------------------------
>
> Key: CALCITE-571
> URL: https://issues.apache.org/jira/browse/CALCITE-571
> Project: Calcite
> Issue Type: Bug
> Reporter: Jesus Camacho Rodriguez
> Assignee: Julian Hyde
>
> Hive's unit test that reproduces the problem: vector_mapjoin_reduce
> Stack Trace:
> {noformat}
> Unexpected exception java.lang.AssertionError
> at org.apache.calcite.rel.core.SemiJoin.copy(SemiJoin.java:82)
> at org.apache.calcite.rel.core.SemiJoin.copy(SemiJoin.java:42)
> at
> org.apache.calcite.rel.rules.ReduceExpressionsRule$3.onMatch(ReduceExpressionsRule.java:224)
> at
> org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:326)
> at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:515)
> at
> org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:392)
> at
> org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:285)
> at
> org.apache.calcite.plan.hep.HepInstruction$RuleCollection.execute(HepInstruction.java:72)
> at
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:207)
> at
> org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:194)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)