[ https://issues.apache.org/jira/browse/CALCITE-4249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17195630#comment-17195630 ]
Julian Hyde commented on CALCITE-4249: -------------------------------------- I don't think it's a duplicate. There is a proposed fix in https://github.com/apache/calcite/pull/2147. > Assertion error for NOT operator in join condition in Rel2SqlConverter > ---------------------------------------------------------------------- > > Key: CALCITE-4249 > URL: https://issues.apache.org/jira/browse/CALCITE-4249 > Project: Calcite > Issue Type: Bug > Reporter: Steven Talbot > Assignee: Julian Hyde > Priority: Major > > The following test shows the bug if you put it in RelToSqlConverter > {code:java} > @Test void testJoinWithNotLikeConditionRel2Sql() { > final Function<RelBuilder, RelNode> relFn = b -> b > .scan("EMP") > .scan("DEPT") > .join(JoinRelType.LEFT, > b.and( > b.call(SqlStdOperatorTable.EQUALS, > b.field(2, 0, "DEPTNO"), > b.field(2, 1, "DEPTNO")), > b.call(SqlStdOperatorTable.NOT, > b.call(SqlStdOperatorTable.LIKE, > b.field(2, 1, "DNAME"), > b.literal("ACCOUNTING_FOO")) > ) > )) > .build(); > final String expectedSql = "SELECT *\n" > + "FROM \"scott\".\"EMP\"\n" > + "LEFT JOIN \"scott\".\"DEPT\" " > + "ON \"EMP\".\"DEPTNO\" = \"DEPT\".\"DEPTNO\" " > + "AND \"DEPT\".\"DNAME\" NOT LIKE 'ACCOUNTING'"; > relFn(relFn).ok(expectedSql); > } > {code} > It blows up with the following stacktrace top: > {noformat} > java.lang.AssertionError: NOT(LIKE($9, 'ACCOUNTING_FOO')) > at > org.apache.calcite.rel.rel2sql.SqlImplementor.convertConditionToSqlNode(SqlImplementor.java:350) > at > org.apache.calcite.rel.rel2sql.SqlImplementor.convertConditionToSqlNode(SqlImplementor.java:286) > at > org.apache.calcite.rel.rel2sql.RelToSqlConverter.visit(RelToSqlConverter.java:213) > at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:524) > at > org.apache.calcite.rel.rel2sql.RelToSqlConverter.dispatch(RelToSqlConverter.java:131) > at > org.apache.calcite.rel.rel2sql.RelToSqlConverter.visitInput(RelToSqlConverter.java:139){noformat} > -- This message was sent by Atlassian Jira (v8.3.4#803005)