[ https://issues.apache.org/jira/browse/CALCITE-2947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16800083#comment-16800083 ]
Stamatis Zampetakis commented on CALCITE-2947: ---------------------------------------------- Is this related to CALCITE-2901? What do you think [~mgelbana]? > Type mismatch assertion error when converting NOT IN subquery > ------------------------------------------------------------- > > Key: CALCITE-2947 > URL: https://issues.apache.org/jira/browse/CALCITE-2947 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Haisheng Yuan > Priority: Major > > Repro: > Add the following test to SqlToRelConverterTest.java. > {code:java} > @Test public void testSubQueryNotIN() { > final String sql = "select deptno\n" > + "from EMP e\n" > + "where deptno not in (select deptno\n" > + "from EMP where empno=e.empno)"; > sql(sql).ok(); > } > {code} > Error: > {code:java} > java.lang.AssertionError: type mismatch: > ref: > INTEGER NOT NULL > input: > INTEGER > at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31) > at org.apache.calcite.plan.RelOptUtil.eq(RelOptUtil.java:1832) > at org.apache.calcite.rex.RexChecker.visitInputRef(RexChecker.java:125) > at org.apache.calcite.rex.RexChecker.visitInputRef(RexChecker.java:57) > at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:112) > at org.apache.calcite.rex.RexChecker.visitCall(RexChecker.java:140) > at org.apache.calcite.rex.RexChecker.visitCall(RexChecker.java:57) > at org.apache.calcite.rex.RexCall.accept(RexCall.java:191) > at org.apache.calcite.rel.core.Filter.isValid(Filter.java:120) > at > org.apache.calcite.rel.logical.LogicalFilter.<init>(LogicalFilter.java:70) > at > org.apache.calcite.rel.logical.LogicalFilter.create(LogicalFilter.java:114) > at > org.apache.calcite.rel.logical.LogicalFilter.create(LogicalFilter.java:101) > at > org.apache.calcite.rel.core.RelFactories$FilterFactoryImpl.createFilter(RelFactories.java:300) > at > org.apache.calcite.sql2rel.SqlToRelConverter.createJoin(SqlToRelConverter.java:2433) > {code} > If we change not in subquery to in subquery, it can run without error. -- This message was sent by Atlassian JIRA (v7.6.3#76005)