diff --git a/jOOQ/src/main/java/org/jooq/impl/ArrayOfValues.java b/jOOQ/src/main/java/org/jooq/impl/ArrayOfValues.java index 120e104d3d..89d3fcb8d1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ArrayOfValues.java +++ b/jOOQ/src/main/java/org/jooq/impl/ArrayOfValues.java @@ -112,27 +112,27 @@ final class ArrayOfValues extends AbstractTable implements UNotYetImplem + + + + + + + + + + + + + + case CUBRID: - case DERBY: - case FIREBIRD: - case IGNITE: - - case MARIADB: - case MYSQL: - - - - case SQLITE: - - - - ctx.visit(new ArrayTableEmulation(array).as(alias, fieldAliases)); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java b/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java index 5edc425659..4f5f1c32ee 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/ArrayTable.java @@ -176,18 +176,30 @@ final class ArrayTable extends AbstractTable implements UNotYetImplement case H2: return new H2ArrayTable().as(alias); - // [#756] These dialects need special care when aliasing unnested - // arrays + // Most dialects can simulate unnested arrays using UNION ALL - case HSQLDB: - case POSTGRES: - case YUGABYTEDB: - return new PostgresHSQLDBTable().as(alias, fieldAliases); - // Other dialects can simulate unnested arrays using UNION ALL - default: + + + + + + + + + + + + + case CUBRID: + case DERBY: + case FIREBIRD: + case IGNITE: + case MARIADB: + case MYSQL: + case SQLITE: if (array.getDataType().getType().isArray() && array instanceof Param) return emulate(); @@ -200,6 +212,10 @@ final class ArrayTable extends AbstractTable implements UNotYetImplement else return DSL.table("{0}", array).as(alias); + + // [#756] The standard SQL behaviour + default: + return new PostgresHSQLDBTable().as(alias, fieldAliases); } }