From 71d9953f01996edf8e6f205b95202eaaaf729589 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Sun, 24 Jan 2016 00:00:17 +0100 Subject: [PATCH] [#4981] Wrong SQL generated for CREATE TABLE .. AS SELECT in HSQLDB --- .../java/org/jooq/impl/CreateTableImpl.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java index b6d2298a5f..913ba58b6c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateTableImpl.java @@ -52,6 +52,7 @@ import static org.jooq.Clause.CREATE_TABLE_NAME; import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.FIREBIRD; // ... +import static org.jooq.SQLDialect.HSQLDB; // ... import static org.jooq.SQLDialect.POSTGRES; // ... @@ -261,15 +262,12 @@ class CreateTableImpl extends AbstractQuery implements ctx.formatSeparator() .keyword("as"); - - - - - - - - - { + if (asList(HSQLDB).contains(ctx.family())) { + ctx.sql(" (") + .formatIndentStart() + .formatNewLine(); + } + else { ctx.formatSeparator(); } @@ -277,13 +275,15 @@ class CreateTableImpl extends AbstractQuery implements .visit(select) .end(CREATE_TABLE_AS); + if (asList(HSQLDB).contains(ctx.family())) { + ctx.formatIndentEnd() + .formatNewLine() + .sql(')'); - - - - - - + if (ctx.family() == HSQLDB) + ctx.sql(' ') + .keyword("with data"); + } ctx.end(CREATE_TABLE); }