From 19913c0521314501f60b3e96b066120f4dd62876 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 18 Jan 2021 17:28:34 +0100 Subject: [PATCH] [jOOQ/jOOQ#6956] Support MARIADB and MYSQL - Added MariaDB annotations - Test workarounds for missing REFERENCING clause support --- .../main/java/org/jooq/impl/CreateTriggerImpl.java | 11 +++++++++++ jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java | 3 ++- jOOQ/src/main/java/org/jooq/impl/Tools.java | 9 +++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java index e00a32377b..829475ab34 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java @@ -483,6 +483,17 @@ package org.jooq.impl; + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java index b7414ca38d..66602d8da6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateViewImpl.java @@ -50,6 +50,7 @@ import static org.jooq.SQLDialect.FIREBIRD; // ... // ... // ... +import static org.jooq.SQLDialect.MYSQL; // ... import static org.jooq.SQLDialect.POSTGRES; // ... @@ -104,7 +105,7 @@ final class CreateViewImpl extends AbstractRowCountQuery imple */ private static final long serialVersionUID = 8904572826501186329L; private static final Clause[] CLAUSES = { CREATE_VIEW }; - private static final Set NO_SUPPORT_IF_NOT_EXISTS = SQLDialect.supportedBy(DERBY, FIREBIRD, POSTGRES); + private static final Set NO_SUPPORT_IF_NOT_EXISTS = SQLDialect.supportedBy(DERBY, FIREBIRD, MYSQL, POSTGRES); private final boolean ifNotExists; private final boolean orReplace; diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 08ec16b330..8a8fd8adc5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -5284,6 +5284,15 @@ final class Tools { return updateCounts == 1; } + /** + * Increment a counter, run a runnable, and decrement the counter again. + */ + static final void increment(Map data, DataKey key, Runnable runnable) { + increment(data, key); + runnable.run(); + decrement(data, key); + } + /** * Increment a counter and return true if the counter was zero prior to * incrementing.