You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/01/27 22:19:34 UTC

[jira] [Commented] (CALCITE-571) ReduceExpressionsRule tries to reduce SemiJoin condition to non-equi condition

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