diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 646155039a..5e88231493 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -774,10 +774,10 @@ final class Tools { private static final Set REQUIRES_BACKSLASH_ESCAPING = SQLDialect.supportedBy(MARIADB, MYSQL); private static final Set NO_SUPPORT_NULL = SQLDialect.supportedBy(DERBY, FIREBIRD, HSQLDB); private static final Set NO_SUPPORT_BINARY_TYPE_LENGTH = SQLDialect.supportedBy(POSTGRES); + private static final Set NO_SUPPORT_TIMESTAMP_PRECISION = SQLDialect.supportedBy(DERBY); private static final Set NO_SUPPORT_CAST_TYPE_IN_DDL = SQLDialect.supportedBy(MARIADB, MYSQL); private static final Set DEFAULT_BEFORE_NULL = SQLDialect.supportedBy(FIREBIRD, HSQLDB); private static final Set SUPPORT_MYSQL_SYNTAX = SQLDialect.supportedBy(MARIADB, MYSQL); - private static final Set SUPPORT_POSTGRES_SYNTAX = SQLDialect.supportedBy(POSTGRES); // ------------------------------------------------------------------------ // XXX: Record constructors and related methods @@ -4921,7 +4921,7 @@ final class Tools { ctx.sql(typeName); } } - else if (type.hasPrecision() && type.precision() > 0) { + else if (type.hasPrecision() && type.precision() > 0 && (!type.isTimestamp() || !NO_SUPPORT_TIMESTAMP_PRECISION.contains(ctx.family()))) { if (type.hasScale()) ctx.sql(typeName).sql('(').sql(type.precision()).sql(", ").sql(type.scale()).sql(')'); else