From 39977aaa5b046fca21cdfb6c6f459e2450a4a2ce Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 18 Jan 2018 11:35:01 +0100 Subject: [PATCH] [#6474] Support anonymous blocks in SQL Server --- .../main/java/org/jooq/impl/BlockImpl.java | 3 ++- .../java/org/jooq/impl/NullStatement.java | 21 +++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java index 6cabd84bce..8033e7ca29 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java @@ -52,7 +52,6 @@ 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_NOT; -import static org.jooq.impl.Keywords.K_NULL; import static org.jooq.impl.Tools.decrement; import static org.jooq.impl.Tools.increment; import static org.jooq.impl.Tools.DataKey.DATA_BLOCK_NESTING; @@ -152,6 +151,7 @@ final class BlockImpl extends AbstractQuery implements Block { + default: { accept0(ctx); break; @@ -177,6 +177,7 @@ final class BlockImpl extends AbstractQuery implements Block { + case FIREBIRD: case MARIADB: default: diff --git a/jOOQ/src/main/java/org/jooq/impl/NullStatement.java b/jOOQ/src/main/java/org/jooq/impl/NullStatement.java index 145bbf0065..00352c0d27 100644 --- a/jOOQ/src/main/java/org/jooq/impl/NullStatement.java +++ b/jOOQ/src/main/java/org/jooq/impl/NullStatement.java @@ -37,6 +37,10 @@ */ package org.jooq.impl; +import static org.jooq.impl.DSL.falseCondition; +import static org.jooq.impl.DSL.one; +import static org.jooq.impl.DSL.select; +import static org.jooq.impl.Keywords.K_IF; import static org.jooq.impl.Keywords.K_NULL; import org.jooq.Clause; @@ -50,11 +54,24 @@ final class NullStatement extends AbstractStatement { /** * Generated UID */ - private static final long serialVersionUID = -1065054646570980726L; + private static final long serialVersionUID = -1065054646570980726L; + static final NullStatement INSTANCE = new NullStatement(); @Override public final void accept(Context ctx) { - ctx.visit(K_NULL); + switch (ctx.family()) { + + + + + + + + + default: + ctx.visit(K_NULL); + break; + } } @Override