diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java index 4e0e617414..3b48c93698 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java @@ -253,6 +253,9 @@ final class CreateTableImpl extends AbstractQuery implements .sql(' '); Tools.toSQLDDLTypeDeclaration(ctx, type); + if (asList().contains(ctx.family())) + acceptDefault(ctx, type); + if (type.nullable()) { // [#4321] Not all dialects support explicit NULL type declarations @@ -263,8 +266,8 @@ final class CreateTableImpl extends AbstractQuery implements ctx.sql(' ').keyword("not null"); } - if (type.defaulted()) - ctx.sql(' ').keyword("default").sql(' ').visit(type.defaultValue()); + if (!asList().contains(ctx.family())) + acceptDefault(ctx, type); if (i < columnFields.size() - 1) ctx.sql(',').formatSeparator(); @@ -290,6 +293,11 @@ final class CreateTableImpl extends AbstractQuery implements } } + private void acceptDefault(Context ctx, DataType type) { + if (type.defaulted()) + ctx.sql(' ').keyword("default").sql(' ').visit(type.defaultValue()); + } + private final void acceptCreateTableAsSelect(Context ctx) { ctx.start(CREATE_TABLE); toSQLCreateTableName(ctx);