diff --git a/jOOQ/src/main/java/org/jooq/impl/Overlay.java b/jOOQ/src/main/java/org/jooq/impl/Overlay.java index 3b8fff82dd..d03da1f4db 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Overlay.java +++ b/jOOQ/src/main/java/org/jooq/impl/Overlay.java @@ -41,6 +41,7 @@ package org.jooq.impl; // ... // ... // ... +// ... import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.H2; // ... @@ -98,19 +99,27 @@ final class Overlay extends AbstractField { @Override public final void accept(Context ctx) { - if (length != null) { + Field l = length; + + + + + + + + if (l != null) { if (NO_SUPPORT.contains(ctx.family())) { ctx.visit( DSL.substring(in, inline(1), startIndex.minus(inline(1))) .concat(placing) - .concat(DSL.substring(in, startIndex.plus(length))) + .concat(DSL.substring(in, startIndex.plus(l))) ); } else { ctx.visit(F_OVERLAY).sql('(').visit(in).sql(' ') .visit(K_PLACING).sql(' ').visit(placing).sql(' ') .visit(K_FROM).sql(' ').visit(startIndex).sql(' ') - .visit(K_FOR).sql(' ').visit(length).sql(')'); + .visit(K_FOR).sql(' ').visit(l).sql(')'); } } else {