From 68f6b7e3334412fad4e8ac5969c99316cb68abcf Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 29 Sep 2025 10:59:21 +0200 Subject: [PATCH] [jOOQ/jOOQ#18742] Fix regression PostgreSQL text[] types are reported to have a COLUMN_SIZE of 2147483647 by the pgjdbc driver, which we should ignore. Ignoring a length of 0 currently didn't work, though. --- .../src/main/java/org/jooq/impl/AbstractDataType.java | 5 +++++ jOOQ/src/main/java/org/jooq/impl/MetaImpl.java | 11 +++++++++++ 2 files changed, 16 insertions(+) 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: