[jOOQ/jOOQ#16332] Fix regression in internal bindParamListener feature

This commit is contained in:
Lukas Eder 2024-02-26 16:11:21 +01:00
parent e99c73b762
commit e9d3564ebd

View File

@ -15381,9 +15381,17 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
// [#11054] Use a VisitListener to find actual Params in the expression tree,
// which may have more refined DataTypes attached to them, from context
dsl.configuration().deriveAppending(onVisitStart(ctx -> {
if (ctx.queryPart() instanceof Param<?> p)
if (!params.containsKey(p.getParamName()))
params.put(p.getParamName(), p);
if (ctx.queryPart() instanceof Param<?> p) {
if (!p.isInline()) {
String name = p.getParamName();
if (name == null)
name = "" + ctx.context().peekIndex();
if (!params.containsKey(name))
params.put(name, p);
}
}
})).dsl().render(result);
for (String name : bindParams.keySet())