From b3c8dce4abfb914c96f2f45e7b0fba6277f20dbf Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 16 Feb 2018 13:26:50 +0100 Subject: [PATCH] [#7191] Using VARBINARY type with length on Oracle fails in DDL statements --- jOOQ/src/main/java/org/jooq/impl/Tools.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index cda52f8b0c..915ab7557f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -610,6 +610,7 @@ final class Tools { private static final EnumSet REQUIRES_BACKSLASH_ESCAPING = EnumSet.of(MARIADB, MYSQL); private static final EnumSet NO_SUPPORT_NULL = EnumSet.of(DERBY, FIREBIRD); + private static final EnumSet NO_SUPPORT_BINARY_TYPE_LENGTH = EnumSet.of(POSTGRES); private static final EnumSet DEFAULT_BEFORE_NULL = EnumSet.of(FIREBIRD, HSQLDB); private static final EnumSet SUPPORT_MYSQL_SYNTAX = EnumSet.of(MARIADB, MYSQL); @@ -4037,8 +4038,8 @@ final class Tools { if (type.hasLength()) { - // [#6289] Some databases don't support lengths on binary types - if (type.isBinary() && ctx.family() == POSTGRES) + // [#6289] [#7191] Some databases don't support lengths on binary types + if (type.isBinary() && NO_SUPPORT_BINARY_TYPE_LENGTH.contains(ctx.family())) ctx.sql(typeName); else if (type.length() > 0) ctx.sql(typeName).sql('(').sql(type.length()).sql(')');