[jOOQ/jOOQ#7421] [jOOQ/jOOQ#9832] Revert removal of FROM DUAL in MySQL

Newer versions of MariaDB and MySQL can do without FROM clause, so our "FROM dual" clause is no longer needed. There are some use cases in the jOOQ Open Source Edition (e.g. code generator), where wrong SQL is thus generated on MySQL 5.7. Thus, we'll postpone this improvement until we have a better solution.
This commit is contained in:
Lukas Eder 2020-02-21 10:48:32 +01:00
parent 4a63527e41
commit 27d422384a

View File

@ -72,11 +72,9 @@ import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.MARIADB;
// ...
// ...
import static org.jooq.SQLDialect.MYSQL;
// ...
// ...
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
// ...
@ -218,7 +216,9 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
static final Set<SQLDialect> SUPPORT_WINDOW_CLAUSE = SQLDialect.supportedBy(H2, MYSQL, POSTGRES);
private static final Set<SQLDialect> REQUIRES_FROM_CLAUSE = SQLDialect.supportedUntil(CUBRID, DERBY, FIREBIRD, HSQLDB);
// [#7421] [#9832] We can eventually stop generating the FROM clause in newer versions of MariaDB and MySQL
private static final Set<SQLDialect> REQUIRES_FROM_CLAUSE = SQLDialect.supportedBy(CUBRID, DERBY, FIREBIRD, HSQLDB, MARIADB, MYSQL);
private static final Set<SQLDialect> REQUIRES_DERIVED_TABLE_DML = SQLDialect.supportedBy(MARIADB, MYSQL);
private static final Set<SQLDialect> EMULATE_EMPTY_GROUP_BY_OTHER = SQLDialect.supportedBy(FIREBIRD, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE);
private static final Set<SQLDialect> SUPPORT_FULL_WITH_TIES = SQLDialect.supportedBy(H2);