diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 676f0bbaf7..5f26350944 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -1670,7 +1670,12 @@ final class ParserImpl implements Parser { if (fields == null && parseIf(ctx, ')')) break valuesLoop; - List> values = parseFields(ctx); + List> values = new ArrayList>(); + do { + Field value = parseKeywordIf(ctx, "DEFAULT") ? default_() : parseField(ctx); + values.add(value); + } + while (parseIf(ctx, ',')); if (fields != null && fields.length != values.size()) throw ctx.exception("Insert field size (" + fields.length + ") must match values size (" + values.size() + ")"); @@ -1884,7 +1889,12 @@ final class ParserImpl implements Parser { parse(ctx, ')'); parseKeyword(ctx, "VALUES"); parse(ctx, '('); - insertValues = parseFields(ctx); + insertValues = new ArrayList>(); + do { + Field value = parseKeywordIf(ctx, "DEFAULT") ? default_() : parseField(ctx); + insertValues.add(value); + } + while (parseIf(ctx, ',')); parse(ctx, ')'); if (insertColumns.length != insertValues.size())