[ https://issues.apache.org/jira/browse/CALCITE-3171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Danny Chan updated CALCITE-3171: -------------------------------- Summary: SemiJoin on conditions push down throws IndexOutOfBoundsException (was: RelOptUtil#pushDownJoinConditions should handle SEMI/ANTI join specially about project shift mapping) > SemiJoin on conditions push down throws IndexOutOfBoundsException > ----------------------------------------------------------------- > > Key: CALCITE-3171 > URL: https://issues.apache.org/jira/browse/CALCITE-3171 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.19.0 > Reporter: godfrey he > Priority: Major > > the following code in RelOptUtil#pushDownJoinConditions only does not > consider SEMI/ANTI join > {code:java} > if (!extraLeftExprs.isEmpty() || !extraRightExprs.isEmpty()) { > Mappings.TargetMapping mapping = > Mappings.createShiftMapping( > leftCount + extraLeftExprs.size() > + rightCount + extraRightExprs.size(), > 0, 0, leftCount, > leftCount, leftCount + extraLeftExprs.size(), rightCount); > relBuilder.project(relBuilder.fields(mapping.inverse())); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)