diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java index fc71b927fa..ec7d45cede 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java @@ -136,7 +136,7 @@ final class CreateTableImpl extends AbstractQuery implements private static final EnumSet NO_SUPPORT_IF_NOT_EXISTS = EnumSet.of(DERBY, FIREBIRD); private static final EnumSet NO_SUPPORT_WITH_DATA = EnumSet.of(H2, MARIADB, MYSQL, SQLITE); private static final EnumSet EMULATE_INDEXES_IN_BLOCK = EnumSet.of(POSTGRES); - private static final EnumSet EMULATE_ENUM_TYPES_AS_CHECK = EnumSet.of(CUBRID, DERBY, FIREBIRD, H2, HSQLDB, POSTGRES, SQLITE); + private static final EnumSet EMULATE_ENUM_TYPES_AS_CHECK = EnumSet.of(CUBRID, DERBY, FIREBIRD, H2, HSQLDB, SQLITE); private static final EnumSet REQUIRES_WITH_DATA = EnumSet.of(HSQLDB); private static final EnumSet WRAP_SELECT_IN_PARENS = EnumSet.of(HSQLDB); private static final EnumSet SUPPORT_TEMPORARY = EnumSet.of(MARIADB, MYSQL, POSTGRES); diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 749c564d67..ce7df4d58e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -4217,7 +4217,6 @@ final class Tools { @SuppressWarnings("unchecked") DataType enumType = (DataType) type; - Object[] enums = enumConstants(enumType); switch (ctx.family()) { @@ -4229,7 +4228,7 @@ final class Tools { ctx.visit(K_ENUM).sql('('); String separator = ""; - for (Object e : enums) { + for (Object e : enumConstants(enumType)) { ctx.sql(separator).visit(DSL.inline(((EnumType) e).getLiteral())); separator = ", "; } @@ -4238,8 +4237,15 @@ final class Tools { return; } + // [#7597] In PostgreSQL, the enum type reference should be used + + + + case POSTGRES: + break; + default: { - type = emulateEnumType(enumType, enums); + type = emulateEnumType(enumType, enumConstants(enumType)); break; } }