diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 2591bf8758..9c1cb8093a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -6535,10 +6535,17 @@ final class ParserImpl implements Parser { return result; } - private static final DataType parseDataTypeLength(ParserContext ctx, DataType result) { + private static final DataType parseDataTypeLength(ParserContext ctx, DataType in) { + DataType result = in; + if (parseIf(ctx, '(')) { if (!parseKeywordIf(ctx, "MAX")) result = result.length((int) (long) parseUnsignedInteger(ctx)); + + if (in == SQLDataType.VARCHAR || in == SQLDataType.CHAR) + if (!parseKeywordIf(ctx, "BYTE")) + parseKeywordIf(ctx, "CHAR"); + parse(ctx, ')'); }