Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
Hi all
I have a problem when using calcite, which is 'relnode convert sql statement
example:
I create a test like below
// RelToSqlConverterTest.java @Test public void testLeftJoinRel2Sql() { final RelBuilder builder = relBuilder(); final RelNode rel = builder .scan("EMP") .scan("DEPT") .join(JoinRelType.LEFT, builder.and( builder.call(SqlStdOperatorTable.EQUALS, builder.field(2, 0, "DEPTNO"), builder.field(2, 1, "DEPTNO") ), builder.call(SqlStdOperatorTable.LIKE, builder.field(2, 1, "DNAME"), builder.literal("ACCOUNTING")))) .build(); final String sql = toSql(rel); final String expectedSql = "SELECT *\n" + "FROM \"scott\".\"EMP\"\n" + "LEFT JOIN \"scott\".\"DEPT\" ON \"EMP\".\"DEPTNO\" = \"DEPT\".\"DEPTNO\"\n" + "AND \"DEPT\".\"DNAME\" LIKE 'ACCOUNTING'"; assertThat(sql, isLinux(expectedSql)); }
this relNode cannot convert sql statement.
I try to debug it, `org.apache.calcite.rel.rel2sql.SqlImplementor#convertConditionToSqlNode` may forgot to handle this case, which sqlKind is SqlKind.LIKE.
If it is a bug, I am willing to fix it.
Thanks.
Attachments
Attachments
Issue Links
- is duplicated by
-
CALCITE-1640 SqlImplementor (RelToSql) doesn't handle join cond same as filter
- Closed
- links to