From 3e38d3b0ed1ed2aba665e72a4df22c6e0624fe94 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 1 Nov 2022 11:17:15 +0100 Subject: [PATCH] [jOOQ/jOOQ#14155] Added failing test for BatchSingle --- .../java/org/jooq/impl/AbstractQuery.java | 9 +------- .../main/java/org/jooq/impl/BatchSingle.java | 3 ++- .../org/jooq/impl/DefaultExecuteContext.java | 21 +++++++++++++++++++ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java index a93053fe67..da83f1baf3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java @@ -284,14 +284,7 @@ abstract class AbstractQuery extends AbstractAttachableQueryPa // [#385] First time statement preparing else { - - - - - - - - + ctx.transformQuery(listener); listener.renderStart(ctx); rendered = getSQL0(ctx); diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java b/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java index 8d74bb3193..b87d94e076 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java @@ -186,7 +186,7 @@ final class BatchSingle extends AbstractBatch implements BatchBindStep { } private final int[] executePrepared() { - ExecuteContext ctx = new DefaultExecuteContext(configuration, new Query[] { query }); + DefaultExecuteContext ctx = new DefaultExecuteContext(configuration, new Query[] { query }); ExecuteListener listener = ExecuteListeners.get(ctx); Connection connection = ctx.connection(); @@ -195,6 +195,7 @@ final class BatchSingle extends AbstractBatch implements BatchBindStep { try { // [#8968] Keep start() event inside of lifecycle management listener.start(ctx); + ctx.transformQuery(listener); listener.renderStart(ctx); // [#1520] TODO: Should the number of bind values be checked, here? diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java index 6422afd954..202df9f0f8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +import static java.lang.Boolean.TRUE; import static org.jooq.conf.SettingsTools.renderLocale; import static org.jooq.impl.Tools.EMPTY_INT; import static org.jooq.impl.Tools.EMPTY_QUERY; @@ -66,6 +67,7 @@ import org.jooq.DDLQuery; import org.jooq.DSLContext; import org.jooq.Delete; import org.jooq.ExecuteContext; +import org.jooq.ExecuteListener; import org.jooq.ExecuteType; import org.jooq.Insert; import org.jooq.Merge; @@ -757,5 +759,24 @@ class DefaultExecuteContext implements ExecuteContext { @Override public final void release(Connection c) {} + } + + + final void transformQuery(ExecuteListener listener) { + + + + + if (TRUE.equals(settings().isTransformPatterns()) && configuration().requireCommercial(() -> "SQL transformations are a commercial only feature. Please consider upgrading to the jOOQ Professional Edition or jOOQ Enterprise Edition.")) { + + + + + } + + + + + } }