[
https://issues.apache.org/jira/browse/CALCITE-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jesus Camacho Rodriguez resolved CALCITE-2842.
----------------------------------------------
Resolution: Fixed
Fix Version/s: 1.19.0
Fixed in
[880393ee46352dea1569380bbdbc8004f7b39990|https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=880393ee46352dea1569380bbdbc8004f7b39990].
Thanks [~kgyrtkirk]
> 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
> Fix For: 1.19.0
>
> Time Spent: 40m
> 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)