From 98634f9be36f11327e83f08bc06beacff9f03f37 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 5 Jan 2018 16:15:03 +0100 Subject: [PATCH] [#7008] Supported DROP and CREATE SCHEMA for MariaDB --- .../main/java/org/jooq/AlterTableStep.java | 48 +++++++++++++++---- .../java/org/jooq/impl/AlterTableImpl.java | 22 ++++++--- 2 files changed, 56 insertions(+), 14 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/AlterTableStep.java b/jOOQ/src/main/java/org/jooq/AlterTableStep.java index df8b4b9bbc..3cd57dfc2b 100644 --- a/jOOQ/src/main/java/org/jooq/AlterTableStep.java +++ b/jOOQ/src/main/java/org/jooq/AlterTableStep.java @@ -439,7 +439,11 @@ public interface AlterTableStep { *

* This is an alias for {@link #dropColumns(Collection)}. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep drop(Field... fields); /** @@ -448,7 +452,11 @@ public interface AlterTableStep { *

* This is an alias for {@link #dropColumns(Collection)}. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep drop(Name... fields); /** @@ -457,28 +465,44 @@ public interface AlterTableStep { *

* This is an alias for {@link #dropColumns(Collection)}. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep drop(String... fields); /** * Add an DROP COLUMN clause to the ALTER TABLE * statement. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep dropColumns(Field... fields); /** * Add an DROP COLUMN clause to the ALTER TABLE * statement. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep dropColumns(Name... fields); /** * Add an DROP COLUMN clause to the ALTER TABLE * statement. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep dropColumns(String... fields); /** @@ -487,14 +511,22 @@ public interface AlterTableStep { *

* This is an alias for {@link #dropColumns(Collection)}. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep drop(Collection> fields); /** * Add an DROP COLUMN clause to the ALTER TABLE * statement. */ - @Support({ H2, FIREBIRD }) +<<<<<<< HEAD + @Support({ H2, FIREBIRD, MARIADB, MYSQL }) +======= + @Support({ H2, FIREBIRD, MARIADB }) +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git AlterTableDropStep dropColumns(Collection> fields); /** diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java index ab4013445b..bc43b3e9c6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java @@ -60,6 +60,11 @@ import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.FIREBIRD; // ... import static org.jooq.SQLDialect.HSQLDB; +import static org.jooq.SQLDialect.MARIADB; +<<<<<<< HEAD +import static org.jooq.SQLDialect.MYSQL; +======= +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git // ... import static org.jooq.SQLDialect.POSTGRES; // ... @@ -163,11 +168,16 @@ final class AlterTableImpl extends AbstractQuery implements /** * Generated UID */ - private static final long serialVersionUID = 8904572826501186329L; - private static final Clause[] CLAUSES = { ALTER_TABLE }; - private static final EnumSet NO_SUPPORT_IF_EXISTS = EnumSet.of(CUBRID, DERBY, FIREBIRD); - private static final EnumSet SUPPORT_RENAME_TABLE = EnumSet.of(DERBY); - private static final EnumSet NO_SUPPORT_ALTER_TYPE_AND_NULL = EnumSet.of(POSTGRES); + private static final long serialVersionUID = 8904572826501186329L; + private static final Clause[] CLAUSES = { ALTER_TABLE }; + private static final EnumSet NO_SUPPORT_IF_EXISTS = EnumSet.of(CUBRID, DERBY, FIREBIRD); + private static final EnumSet SUPPORT_RENAME_TABLE = EnumSet.of(DERBY); + private static final EnumSet NO_SUPPORT_ALTER_TYPE_AND_NULL = EnumSet.of(POSTGRES); +<<<<<<< HEAD + private static final EnumSet REQUIRE_REPEAT_KEYWORD_ON_MULTI_ALTER = EnumSet.of(FIREBIRD, MARIADB, MYSQL); +======= + private static final EnumSet REQUIRE_REPEAT_KEYWORD_ON_MULTI_ALTER = EnumSet.of(FIREBIRD, MARIADB); +>>>>>>> branch 'master' of https://lukaseder@bitbucket.org/lukaseder/jooq.git @@ -988,7 +998,7 @@ final class AlterTableImpl extends AbstractQuery implements else if (dropColumns != null) { ctx.start(ALTER_TABLE_DROP); - if (family == FIREBIRD) { + if (REQUIRE_REPEAT_KEYWORD_ON_MULTI_ALTER.contains(family)) { String separator = ""; for (Field dropColumn : dropColumns) {