Zoltan Haindrich created CALCITE-2842:
-----------------------------------------

             Summary: Computing digest of 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: Julian Hyde



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)

Reply via email to