From 1c493fbb1900ab5abaa27dcd965e571d8b672708 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 18 Nov 2016 17:36:56 +0100 Subject: [PATCH] [#5094] StatementType.STATIC_STATEMENT is not applied to DSLContext.render(QueryPart) --- .../java/org/jooq/impl/AbstractContext.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java index 05a4331d0a..f4e3332eec 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java @@ -70,6 +70,8 @@ import org.jooq.VisitListener; import org.jooq.VisitListenerProvider; import org.jooq.conf.ParamType; import org.jooq.conf.Settings; +import org.jooq.conf.SettingsTools; +import org.jooq.conf.StatementType; /** * @author Lukas Eder @@ -96,10 +98,11 @@ abstract class AbstractContext> extends AbstractScope imple private final Deque visitParts; // [#2694] Unified RenderContext and BindContext traversal - ParamType paramType = ParamType.INDEXED; - boolean qualifySchema = true; - boolean qualifyCatalog = true; - CastMode castMode = CastMode.DEFAULT; + final ParamType forcedParamType; + ParamType paramType = ParamType.INDEXED; + boolean qualifySchema = true; + boolean qualifyCatalog = true; + CastMode castMode = CastMode.DEFAULT; AbstractContext(Configuration configuration, PreparedStatement stmt) { super(configuration); @@ -135,6 +138,10 @@ abstract class AbstractContext> extends AbstractScope imple this.visitParts = null; this.visitClauses = null; } + + forcedParamType = SettingsTools.getStatementType(settings()) == StatementType.STATIC_STATEMENT + ? ParamType.INLINED + : null; } // ------------------------------------------------------------------------ @@ -191,9 +198,8 @@ abstract class AbstractContext> extends AbstractScope imple * AbstractContext. */ private final Clause[] clause(QueryPart part) { - if (part instanceof QueryPartInternal && data(DATA_OMIT_CLAUSE_EVENT_EMISSION) == null) { + if (part instanceof QueryPartInternal && data(DATA_OMIT_CLAUSE_EVENT_EMISSION) == null) return ((QueryPartInternal) part).clauses(this); - } return null; } @@ -505,7 +511,7 @@ abstract class AbstractContext> extends AbstractScope imple @Override public final ParamType paramType() { - return paramType; + return forcedParamType != null ? forcedParamType : paramType; } @Override