diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 9c346732e8..dac07fca96 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -3319,7 +3319,13 @@ public class DefaultBinding implements Binding { int length; for (length = 0; length < maxLength && (pos + length) < string.length(); length++) { - int digit = string.charAt(pos + length) - '0'; + char c = string.charAt(pos + length); + + // [#11485] Some RDBMS seem to prepend + to large years, e.g. +10000-01-01 + if (c == '+' && length == 0) + continue; + + int digit = c - '0'; if (digit >= 0 && digit < 10) result = result * 10 + digit; diff --git a/jOOQ/src/main/java/org/jooq/impl/Like.java b/jOOQ/src/main/java/org/jooq/impl/Like.java index af416942b1..7c234351ad 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Like.java +++ b/jOOQ/src/main/java/org/jooq/impl/Like.java @@ -115,7 +115,7 @@ implements private static final Set REQUIRES_CAST_ON_LIKE = SQLDialect.supportedBy(DERBY, POSTGRES, YUGABYTEDB); - private static final Set NO_SUPPORT_ILIKE = SQLDialect.supportedBy(CUBRID, DERBY, FIREBIRD, HSQLDB, MARIADB, MYSQL, SQLITE); + private static final Set NO_SUPPORT_ILIKE = SQLDialect.supportedBy(CUBRID, DERBY, FIREBIRD, HSQLDB, MARIADB, MYSQL, SQLITE, TRINO); @Override public final void accept(Context ctx) {