Closed unique-fun closed 10 months ago
@Test
public void test_error_sql2() {
String sql3 = "SELECT ua.id\n"
+ " FROM table1 ua\n"
+ " JOIN (WITH RECURSIVE cte_name (id, pid,device_sn)\n"
+ " AS (SELECT id, pid, device_sn\n"
+ " FROM unit\n"
+ " WHERE id IN ('1000')\n"
+ " UNION ALL\n"
+ " SELECT\n"
+ " c.id, c.pid, r.device_sn\n"
+ " FROM cte_name AS r\n"
+ " JOIN unit c ON r.id = c.pid\n"
+ " )\n"
+ " SELECT id, pid, device_sn FROM cte_name\n"
+ " ) us on us.id = ua.unit_id";
List<SQLStatement> parseStatements = SQLUtils.parseStatements(sql3, DbType.mysql);
System.out.println(parseStatements);
}
run ok:
[SELECT ua.id
FROM table1 ua
JOIN (
WITH RECURSIVE cte_name (id, pid, device_sn) AS (
SELECT id, pid, device_sn
FROM unit
WHERE id IN ('1000')
UNION ALL
SELECT c.id, c.pid, r.device_sn
FROM cte_name r
JOIN unit c ON r.id = c.pid
)
SELECT id, pid, device_sn
FROM cte_name
) us
ON us.id = ua.unit_id]
进程已结束,退出代码为 0
wait for 1.2.21 version
druid version 1.2.20
MySQL 8.0.23
SQL works in mysql , if fails in druid ,errors below: