diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java index 5ac665fa46..d0ac5c58cb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractContext.java @@ -41,6 +41,7 @@ package org.jooq.impl; import static java.util.Arrays.asList; +import static org.jooq.conf.ParamType.INDEXED; import static org.jooq.impl.Utils.DATA_OMIT_CLAUSE_EVENT_EMISSION; import java.sql.PreparedStatement; @@ -89,9 +90,9 @@ abstract class AbstractContext> implements Context { private final Deque visitParts; // [#2694] Unified RenderContext and BindContext traversal - ParamType paramType; - boolean qualify = true; - CastMode castMode = CastMode.DEFAULT; + ParamType paramType = ParamType.INDEXED; + boolean qualify = true; + CastMode castMode = CastMode.DEFAULT; SQLDialect[] castDialects; AbstractContext(Configuration configuration, PreparedStatement stmt) { @@ -474,7 +475,7 @@ abstract class AbstractContext> implements Context { @Override public final C paramType(ParamType p) { - paramType = p; + paramType = (p == null ? INDEXED : p); return (C) this; } diff --git a/jOOQ/src/test/java/org/jooq/test/RenderContextTest.java b/jOOQ/src/test/java/org/jooq/test/RenderContextTest.java index f8d1eff578..e376400faa 100644 --- a/jOOQ/src/test/java/org/jooq/test/RenderContextTest.java +++ b/jOOQ/src/test/java/org/jooq/test/RenderContextTest.java @@ -40,6 +40,10 @@ */ package org.jooq.test; +import static org.jooq.conf.ParamType.INDEXED; +import static org.jooq.conf.ParamType.INLINED; +import static org.jooq.conf.ParamType.NAMED; + import org.jooq.Context; import org.jooq.RenderContext; import org.jooq.impl.CustomCondition; @@ -53,6 +57,14 @@ import org.junit.Test; */ public class RenderContextTest extends AbstractTest { + @Test + public void testParamType() { + assertEquals(INDEXED, create.renderContext().paramType()); + assertEquals(INDEXED, r_ref().paramType()); + assertEquals(INLINED, r_refI().paramType()); + assertEquals(NAMED, r_refP().paramType()); + } + @Test public void testData() { RenderContext ctx = create.renderContext();