[ https://issues.apache.org/jira/browse/CALCITE-7050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17956693#comment-17956693 ]
xiong duan commented on CALCITE-7050: ------------------------------------- [~xuzifu666] [~jensen] These are two completely different stages. In the ReloSql stage, we can control only MySQL to rewrite other databases without rewriting them. If a rule is added, it will take effect at a whole stage. This is not the solution that this PR should have. We can create a new PR to add this Rule.I believe that databases that can perform FULL JOIN are not desirable to rewrite. > Invalid unparse for FULL JOIN in MySQLDialect > ---------------------------------------------- > > Key: CALCITE-7050 > URL: https://issues.apache.org/jira/browse/CALCITE-7050 > Project: Calcite > Issue Type: Bug > Reporter: xiong duan > Assignee: Yu Xu > Priority: Major > Labels: pull-request-available > > The SQL in MySQL: > {code:java} > SELECT * FROM test002 as table1 full join test002 as table2 on table1.id1 = > table2.id1; {code} > throws exception: > {code:java} > SQL ERROR [1064] [42000]: You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use near 'full join test002 as table2 on table1.id1 = table2.id1 {code} > Test case in RelToSqlConverterTest: > {code:java} > @Test void testFullJoin() { > String sql = "select *\n" > + "from \"store\" as s\n" > + "full join \"employee\" as e on true\n"; > final String expectedMysql = "SELECT *\n" > + "FROM `foodmart`.`store`\n" > + "FULL JOIN `foodmart`.`employee` ON TRUE"; > sql(sql).withMysql().ok(expectedMysql); > } {code} > We already have `supportsJoinType` when the jointype is JoinRelTpte.FULL > return false. -- This message was sent by Atlassian Jira (v8.20.10#820010)