From a762a767ef335050f5b91ca99303a650e78a38fe Mon Sep 17 00:00:00 2001 From: lukaseder Date: Sat, 30 May 2015 09:05:18 +0200 Subject: [PATCH] [#4321] Invalid SQL generated when using nullable data types for Derby --- .../src/main/java/org/jooq/impl/CreateTableImpl.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java index 21314468bd..96287c28ee 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java @@ -47,6 +47,7 @@ import static org.jooq.Clause.CREATE_TABLE_COLUMNS; import static org.jooq.Clause.CREATE_TABLE_NAME; // ... // ... +import static org.jooq.SQLDialect.DERBY; // ... import static org.jooq.SQLDialect.POSTGRES; // ... @@ -179,10 +180,15 @@ class CreateTableImpl extends AbstractQuery implements .sql(' '); Utils.toSQLDDLTypeDeclaration(ctx, type); - if (type.nullable()) - ctx.sql(' ').keyword("null"); - else + if (type.nullable()) { + + // [#4321] Not all dialects support explicit NULL type declarations + if (!asList(DERBY).contains(ctx.family())) + ctx.sql(' ').keyword("null"); + } + else { ctx.sql(' ').keyword("not null"); + } if (i < columnFields.size() - 1) ctx.sql(',').formatSeparator();