diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index f7735c5de6..7dffbcb4d9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -1479,9 +1479,16 @@ public class DefaultBinding implements Binding { @Override final void set0(BindingSetStatementContext ctx, Object[] value) throws SQLException { switch (ctx.family()) { + case POSTGRES: { + + // [#12485] Passing the array string as OTHER (OID = unspecified) may prevent poor + // decisions by the PostgreSQL optimiser. + ctx.statement().setObject(ctx.index(), toPGArrayString(value), Types.OTHER); + break; + } + - case POSTGRES: case YUGABYTEDB: { ctx.statement().setString(ctx.index(), toPGArrayString(value)); break;