From 63379a23432f72815ee095560336fcb984698be4 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 2 Aug 2018 18:15:42 +0200 Subject: [PATCH] [#7711] Support recent features for Sybase ASE --- jOOQ/src/main/java/org/jooq/impl/Alias.java | 1 + .../java/org/jooq/impl/AlterTableImpl.java | 22 +++++++++++++++++++ .../main/java/org/jooq/impl/BlockImpl.java | 6 +++++ .../src/main/java/org/jooq/impl/Keywords.java | 1 + .../java/org/jooq/impl/NullStatement.java | 8 ++++++- 5 files changed, 37 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Alias.java b/jOOQ/src/main/java/org/jooq/impl/Alias.java index 263f8becd1..dc484ab34d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Alias.java +++ b/jOOQ/src/main/java/org/jooq/impl/Alias.java @@ -48,6 +48,7 @@ import static org.jooq.Clause.TABLE_REFERENCE; // ... // ... // ... +// ... import static org.jooq.SQLDialect.CUBRID; import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.FIREBIRD; diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java index 2b27983b89..5091da9b1c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java @@ -109,6 +109,7 @@ import static org.jooq.impl.Keywords.K_RENAME_INDEX; import static org.jooq.impl.Keywords.K_RENAME_OBJECT; import static org.jooq.impl.Keywords.K_RENAME_TABLE; import static org.jooq.impl.Keywords.K_RENAME_TO; +import static org.jooq.impl.Keywords.K_REPLACE; import static org.jooq.impl.Keywords.K_SET_DATA_TYPE; import static org.jooq.impl.Keywords.K_SET_DEFAULT; import static org.jooq.impl.Keywords.K_SET_NOT_NULL; @@ -117,6 +118,7 @@ import static org.jooq.impl.Keywords.K_TO; import static org.jooq.impl.Keywords.K_TYPE; import static org.jooq.impl.Keywords.K_USING_INDEX; import static org.jooq.impl.Keywords.K_WHEN; +import static org.jooq.impl.Keywords.K_WITH_NO_DATACOPY; import static org.jooq.impl.Tools.begin; import static org.jooq.impl.Tools.beginExecuteImmediate; import static org.jooq.impl.Tools.beginTryCatch; @@ -722,6 +724,8 @@ final class AlterTableImpl extends AbstractQuery implements + + @@ -1035,6 +1039,14 @@ final class AlterTableImpl extends AbstractQuery implements + + + + + + + + @@ -1112,6 +1124,7 @@ final class AlterTableImpl extends AbstractQuery implements + default: ctx.sql(' ').visit(K_SET_DEFAULT); break; @@ -1174,6 +1187,11 @@ final class AlterTableImpl extends AbstractQuery implements ctx.sql(' ').visit(K_CASCADE); } + + + + + ctx.end(ALTER_TABLE_DROP); } else if (dropConstraint != null) { @@ -1213,6 +1231,7 @@ final class AlterTableImpl extends AbstractQuery implements + default: ctx.visit(K_DROP); break; @@ -1308,6 +1327,9 @@ final class AlterTableImpl extends AbstractQuery implements + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java index 5caed715e7..d0a1ab51b8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +// ... // ... // ... import static org.jooq.SQLDialect.FIREBIRD; @@ -184,6 +185,7 @@ final class BlockImpl extends AbstractQuery implements Block { + case FIREBIRD: case MARIADB: default: @@ -214,6 +216,9 @@ final class BlockImpl extends AbstractQuery implements Block { if (!(s instanceof Block)) + + + ctx.sql(';'); } } @@ -231,6 +236,7 @@ final class BlockImpl extends AbstractQuery implements Block { + default: ctx.sql(';'); } diff --git a/jOOQ/src/main/java/org/jooq/impl/Keywords.java b/jOOQ/src/main/java/org/jooq/impl/Keywords.java index cd990fdf06..fb4e337558 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Keywords.java +++ b/jOOQ/src/main/java/org/jooq/impl/Keywords.java @@ -303,6 +303,7 @@ final class Keywords { static final Keyword K_WITH_GRANT_OPTION = keyword("with grant option"); static final Keyword K_WITH_LOCK = keyword("with lock"); static final Keyword K_WITH_NO_DATA = keyword("with no data"); + static final Keyword K_WITH_NO_DATACOPY = keyword("with no datacopy"); static final Keyword K_WITH_PRIMARY_KEY = keyword("with primary key"); static final Keyword K_WITH_READ_ONLY = keyword("with read only"); static final Keyword K_WITH_ROLLUP = keyword("with rollup"); diff --git a/jOOQ/src/main/java/org/jooq/impl/NullStatement.java b/jOOQ/src/main/java/org/jooq/impl/NullStatement.java index 16bb25eea3..832c33c832 100644 --- a/jOOQ/src/main/java/org/jooq/impl/NullStatement.java +++ b/jOOQ/src/main/java/org/jooq/impl/NullStatement.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +// ... import static org.jooq.impl.DSL.falseCondition; import static org.jooq.impl.DSL.one; import static org.jooq.impl.DSL.select; @@ -69,8 +70,13 @@ final class NullStatement extends AbstractStatement { + + + + + default: - ctx.visit(K_NULL); + ctx.visit(K_NULL).sql(';'); break; } }