diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java index 0f9446e945..885a9b5f37 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRenderContext.java @@ -736,6 +736,9 @@ class DefaultRenderContext extends AbstractContext implements Ren Param param = (Param) internal; if (!param.isInline()) { + + // [#16340] Increment index even if we don't need it internally, while rendering + nextIndex(); bindValues.add(param); Integer threshold = settings().getInlineThreshold(); diff --git a/jOOQ/src/main/java/org/jooq/impl/Val.java b/jOOQ/src/main/java/org/jooq/impl/Val.java index 9e70a2bbbd..03b43a18e3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Val.java +++ b/jOOQ/src/main/java/org/jooq/impl/Val.java @@ -351,7 +351,7 @@ final class Val extends AbstractParam implements UEmpty { @NotNull final String getBindVariable(Context ctx) { if (ctx.paramType() == NAMED || ctx.paramType() == NAMED_OR_INLINED) { - int index = ctx.nextIndex(); + int index = ctx.peekIndex(); String prefix = defaultIfNull(ctx.settings().getRenderNamedParamPrefix(), ":"); if (StringUtils.isBlank(getParamName()))