You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Jesus Camacho Rodriguez (JIRA)" <ji...@apache.org> on 2019/02/21 05:00:00 UTC
[jira] [Assigned] (CALCITE-2842) Computing RexCall digest
containing IN expressions leads to Exceptions
[ https://issues.apache.org/jira/browse/CALCITE-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesus Camacho Rodriguez reassigned CALCITE-2842:
------------------------------------------------
Assignee: Zoltan Haindrich (was: Julian Hyde)
> Computing RexCall digest containing IN expressions leads to Exceptions
> ----------------------------------------------------------------------
>
> Key: CALCITE-2842
> URL: https://issues.apache.org/jira/browse/CALCITE-2842
> Project: Calcite
> Issue Type: Bug
> Reporter: Zoltan Haindrich
> Assignee: Zoltan Haindrich
> Priority: Major
> Labels: pull-request-available
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Testcase:
> {code}
> /* RexProgramTest */
> @Test public void testInDigest() {
> RexNode e = in(vInt(), literal(1), literal(2));
> assertThat(e.toString(), is("IN(?0.int0, 1, 2)"));
> }
> /* RexProgramBuilder */
> protected RexNode in(Iterable<? extends RexNode> nodes) {
> return rexBuilder.makeCall(SqlStdOperatorTable.IN,
> ImmutableList.copyOf(nodes));
> }
> {code}
> The exception is due to that it tries to look at the other operand https://github.com/apache/calcite/blob/883666929478aabe07ee5b9e572c43a6f1a703e2/core/src/main/java/org/apache/calcite/rex/RexCall.java#L115
> [SIMPLE_BINARY_OPS|https://github.com/apache/calcite/blob/883666929478aabe07ee5b9e572c43a6f1a703e2/core/src/main/java/org/apache/calcite/rex/RexCall.java#L64] contains [COMPARISION|https://github.com/apache/calcite/blob/883666929478aabe07ee5b9e572c43a6f1a703e2/core/src/main/java/org/apache/calcite/sql/SqlKind.java#L1248] which also contains "IN"
> this was introduced in CALCITE-2454 a few days ago; bug not released
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)