diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java index 89ef0f098b..469f2f2021 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDataType.java @@ -469,6 +469,11 @@ implements } final AbstractDataType length0(Integer l) { + + // [#18742] There are no zero length strings or binary strings in SQL + if (l != null && l == 0) + l = null; + if (eq(length0(), l)) return this; else diff --git a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java index 0d0f5535b4..9683521710 100644 --- a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java @@ -1695,6 +1695,17 @@ final class MetaImpl extends AbstractMeta { + + + + case POSTGRES: + case YUGABYTEDB: + + // [#18742] The pgjdbc driver reports a meaningless TEXT[] length. + if (precision == Integer.MAX_VALUE && "_text".equals(typeName)) + precision = 0; + + break; // [#17284] Computed columns are reported as defaults case DERBY: