From 3e19bf12d58eeafd7a6c6d345aa456d6c6bc8fcd Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 11 Mar 2020 17:29:05 +0100 Subject: [PATCH] [jOOQ/jOOQ#8384] Emulate support for INSERT INTO t [ AS alias ] --- .../main/java/org/jooq/impl/AbstractDMLQuery.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java index 0ba8759256..cd4643eb7a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java @@ -41,10 +41,17 @@ import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; // ... // ... +// ... +import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.FIREBIRD; +import static org.jooq.SQLDialect.H2; // ... import static org.jooq.SQLDialect.HSQLDB; // ... +import static org.jooq.SQLDialect.MARIADB; +// ... +import static org.jooq.SQLDialect.MYSQL; +// ... // ... // ... // ... @@ -138,6 +145,8 @@ abstract class AbstractDMLQuery extends AbstractRowCountQuery private static final long serialVersionUID = -7438014075226919192L; private static final JooqLogger log = JooqLogger.getLogger(AbstractQuery.class); + private static final Set NO_SUPPORT_INSERT_ALIASED_TABLE = SQLDialect.supportedBy(DERBY, H2, MARIADB, MYSQL); + @@ -260,7 +269,11 @@ abstract class AbstractDMLQuery extends AbstractRowCountQuery - return table(); + // [#8382] [#8384] Table might be aliased and dialect doesn't like that + if (NO_SUPPORT_INSERT_ALIASED_TABLE.contains(ctx.dialect()) && this instanceof Insert) + return Tools.aliased(table()); + else + return table(); } // @Override