diff --git a/jOOQ/src/main/java/org/jooq/Declaration.java b/jOOQ/src/main/java/org/jooq/Declaration.java index 0c124cdee0..69e79212dd 100644 --- a/jOOQ/src/main/java/org/jooq/Declaration.java +++ b/jOOQ/src/main/java/org/jooq/Declaration.java @@ -131,5 +131,6 @@ import org.jetbrains.annotations.*; + diff --git a/jOOQ/src/main/java/org/jooq/ForByStep.java b/jOOQ/src/main/java/org/jooq/ForByStep.java index 4a5953f4ee..df164c5721 100644 --- a/jOOQ/src/main/java/org/jooq/ForByStep.java +++ b/jOOQ/src/main/java/org/jooq/ForByStep.java @@ -78,5 +78,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/ForInStep.java b/jOOQ/src/main/java/org/jooq/ForInStep.java index 033db91638..a7fa51f8dd 100644 --- a/jOOQ/src/main/java/org/jooq/ForInStep.java +++ b/jOOQ/src/main/java/org/jooq/ForInStep.java @@ -116,5 +116,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/IfElseStep.java b/jOOQ/src/main/java/org/jooq/IfElseStep.java index c0fff31448..bc0d260d57 100644 --- a/jOOQ/src/main/java/org/jooq/IfElseStep.java +++ b/jOOQ/src/main/java/org/jooq/IfElseStep.java @@ -86,5 +86,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/IfThenStep.java b/jOOQ/src/main/java/org/jooq/IfThenStep.java index df164c5721..44490cbd0b 100644 --- a/jOOQ/src/main/java/org/jooq/IfThenStep.java +++ b/jOOQ/src/main/java/org/jooq/IfThenStep.java @@ -79,5 +79,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/LoopStep.java b/jOOQ/src/main/java/org/jooq/LoopStep.java index df164c5721..44490cbd0b 100644 --- a/jOOQ/src/main/java/org/jooq/LoopStep.java +++ b/jOOQ/src/main/java/org/jooq/LoopStep.java @@ -79,5 +79,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/RepeatUntilStep.java b/jOOQ/src/main/java/org/jooq/RepeatUntilStep.java index a568ea2570..9fb7d0dbc0 100644 --- a/jOOQ/src/main/java/org/jooq/RepeatUntilStep.java +++ b/jOOQ/src/main/java/org/jooq/RepeatUntilStep.java @@ -70,5 +70,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/Variable.java b/jOOQ/src/main/java/org/jooq/Variable.java index 3c15437be3..9c5f2cf2b7 100644 --- a/jOOQ/src/main/java/org/jooq/Variable.java +++ b/jOOQ/src/main/java/org/jooq/Variable.java @@ -118,5 +118,6 @@ package org.jooq; + diff --git a/jOOQ/src/main/java/org/jooq/impl/Assignment.java b/jOOQ/src/main/java/org/jooq/impl/Assignment.java index a788bdb5ab..5c67ffdde7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Assignment.java +++ b/jOOQ/src/main/java/org/jooq/impl/Assignment.java @@ -139,5 +139,6 @@ package org.jooq.impl; + diff --git a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java index 497ef2f51b..6930595f37 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java @@ -40,6 +40,7 @@ package org.jooq.impl; // ... // ... // ... +// ... import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.SQLDialect.H2; // ... @@ -64,8 +65,11 @@ import static org.jooq.impl.Keywords.K_END; import static org.jooq.impl.Keywords.K_EXECUTE_BLOCK; import static org.jooq.impl.Keywords.K_EXECUTE_IMMEDIATE; import static org.jooq.impl.Keywords.K_EXECUTE_STATEMENT; +import static org.jooq.impl.Keywords.K_IF; import static org.jooq.impl.Keywords.K_NOT; import static org.jooq.impl.Keywords.K_PROCEDURE; +import static org.jooq.impl.Keywords.K_THEN; +import static org.jooq.impl.Keywords.K_TRUE; import static org.jooq.impl.Tools.decrement; import static org.jooq.impl.Tools.increment; import static org.jooq.impl.Tools.toplevel; @@ -94,8 +98,6 @@ import org.jooq.conf.ParamType; import org.jooq.impl.ScopeMarker.ScopeContent; import org.jooq.impl.Tools.DataExtendedKey; -import org.jetbrains.annotations.Nullable; - /** * @author Lukas Eder */ @@ -222,6 +224,7 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { + case HSQLDB: case MARIADB: default: { @@ -364,9 +367,9 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { { - begin(ctx); + begin(ctx, topLevel); scopeDeclarations(ctx, c -> accept1(c)); - end(ctx); + end(ctx, topLevel); } } else @@ -500,9 +503,14 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { - private static final void begin(Context ctx) { + private static final void begin(Context ctx, boolean topLevel) { if (ctx.family() == H2) ctx.sql('{'); + + + + + else ctx.visit(K_BEGIN); @@ -514,12 +522,17 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { ctx.formatIndentStart(); } - private static final void end(Context ctx) { + private static final void end(Context ctx, boolean topLevel) { ctx.formatIndentEnd() .formatSeparator(); if (ctx.family() == H2) ctx.sql('}'); + + + + + else ctx.visit(K_END); diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java index 59bc4c222c..91a9380c0f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java @@ -293,6 +293,18 @@ package org.jooq.impl; + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateProcedureImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateProcedureImpl.java index c78b69c99a..4b5c9ef684 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateProcedureImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateProcedureImpl.java @@ -284,6 +284,9 @@ package org.jooq.impl; + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/DeclarationImpl.java b/jOOQ/src/main/java/org/jooq/impl/DeclarationImpl.java index 7a6937b26f..e0eac43726 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DeclarationImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DeclarationImpl.java @@ -191,5 +191,6 @@ package org.jooq.impl; + diff --git a/jOOQ/src/main/java/org/jooq/impl/RowAssignment.java b/jOOQ/src/main/java/org/jooq/impl/RowAssignment.java index b9aa59cabe..6ef8eb70e9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RowAssignment.java +++ b/jOOQ/src/main/java/org/jooq/impl/RowAssignment.java @@ -120,5 +120,6 @@ package org.jooq.impl; +