From a159800f89f1c38e6f4525e3abaeeb5f0ac43e6a Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 29 Jul 2020 13:24:46 +0200 Subject: [PATCH] [jOOQ/jOOQ#10459] Empty GROUP BY emulation stops working in HSQLDB 2.5.1 --- jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 24362e0c5b..785dcca221 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -247,7 +247,8 @@ final class SelectQueryImpl extends AbstractResultQuery imp // [#7421] [#9832] We can eventually stop generating the FROM clause in newer versions of MariaDB and MySQL private static final Set REQUIRES_FROM_CLAUSE = SQLDialect.supportedBy(CUBRID, DERBY, FIREBIRD, HSQLDB, MARIADB, MYSQL); private static final Set REQUIRES_DERIVED_TABLE_DML = SQLDialect.supportedBy(MARIADB, MYSQL); - private static final Set EMULATE_EMPTY_GROUP_BY_OTHER = SQLDialect.supportedUntil(FIREBIRD, HSQLDB, MARIADB, MYSQL, SQLITE); + private static final Set EMULATE_EMPTY_GROUP_BY_CONSTANT = SQLDialect.supportedUntil(DERBY, HSQLDB); + private static final Set EMULATE_EMPTY_GROUP_BY_OTHER = SQLDialect.supportedUntil(FIREBIRD, MARIADB, MYSQL, SQLITE); private static final Set SUPPORT_FULL_WITH_TIES = SQLDialect.supportedBy(H2); @@ -1763,7 +1764,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp // [#4292] Some dialects accept constant expressions in GROUP BY // Note that dialects may consider constants as indexed field // references, as in the ORDER BY clause! - if (family == DERBY) + if (EMULATE_EMPTY_GROUP_BY_CONSTANT.contains(context.dialect())) context.sql('0'); // [#4447] CUBRID can't handle subqueries in GROUP BY