diff --git a/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java b/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java index 6cc2bb5078..8167e9cdb7 100644 --- a/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java +++ b/jOOQ/src/main/java/org/jooq/SelectLimitAfterOffsetStep.java @@ -61,6 +61,7 @@ import static org.jooq.SQLDialect.MYSQL; import static org.jooq.SQLDialect.POSTGRES; // ... // ... +// ... import static org.jooq.SQLDialect.SQLITE; // ... // ... diff --git a/jOOQ/src/main/java/org/jooq/SelectOffsetStep.java b/jOOQ/src/main/java/org/jooq/SelectOffsetStep.java index d7acfa5164..594c532147 100644 --- a/jOOQ/src/main/java/org/jooq/SelectOffsetStep.java +++ b/jOOQ/src/main/java/org/jooq/SelectOffsetStep.java @@ -62,6 +62,7 @@ import static org.jooq.SQLDialect.MYSQL; import static org.jooq.SQLDialect.POSTGRES; // ... // ... +// ... import static org.jooq.SQLDialect.SQLITE; // ... // ... diff --git a/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java index 594699dc42..8af4145ebc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java @@ -228,9 +228,11 @@ final class DeleteQueryImpl extends AbstractDMLQuery implem Table t = table(ctx); + boolean multiTableJoin = (SUPPORT_MULTITABLE_DELETE.contains(ctx.dialect()) && t instanceof JoinTable); + boolean specialDeleteAsSyntax = SPECIAL_DELETE_AS_SYNTAX.contains(ctx.dialect()); + // [#11924] Multiple tables listed in the FROM clause mean this is a // MySQL style multi table DELETE - boolean multiTableJoin = (SUPPORT_MULTITABLE_DELETE.contains(ctx.dialect()) && t instanceof JoinTable); if (multiTableJoin) // No table declarations in this case, but references @@ -245,10 +247,10 @@ final class DeleteQueryImpl extends AbstractDMLQuery implem // [#2464] Use the USING clause to declare aliases in MySQL else - ctx.visit(K_FROM).sql(' ').declareTables(!SPECIAL_DELETE_AS_SYNTAX.contains(ctx.dialect()), c -> c.visit(t)); + ctx.visit(K_FROM).sql(' ').declareTables(!specialDeleteAsSyntax, c -> c.visit(t)); // [#11925] In MySQL, the tables in FROM must be repeated in USING - if (!using.isEmpty() || multiTableJoin || Tools.alias(t) != null) { + if (!using.isEmpty() || multiTableJoin || specialDeleteAsSyntax && Tools.alias(t) != null) { TableList u; if (REQUIRE_REPEAT_FROM_IN_USING.contains(ctx.dialect()) && !using.contains(t)) { diff --git a/jOOQ/src/main/java/org/jooq/impl/Limit.java b/jOOQ/src/main/java/org/jooq/impl/Limit.java index 6d88570456..24904e12dc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Limit.java +++ b/jOOQ/src/main/java/org/jooq/impl/Limit.java @@ -296,6 +296,13 @@ final class Limit extends AbstractQueryPart { + + + + + + + default: { acceptDefault(ctx, castMode); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/Plus.java b/jOOQ/src/main/java/org/jooq/impl/Plus.java index b0eccb0912..b822987d92 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Plus.java +++ b/jOOQ/src/main/java/org/jooq/impl/Plus.java @@ -37,7 +37,8 @@ */ package org.jooq.impl; -// ... + +