From d1dc268091b2e6f55ec1aa68e698461593f79e52 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 26 Nov 2020 09:41:07 +0100 Subject: [PATCH] [jOOQ/jOOQ#11022] The NAME keyword in XMLELEMENT(NAME ) should be optional for the parser --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 8d82c60f0c..e95080b0b7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -294,6 +294,7 @@ import static org.jooq.impl.DSL.trim; import static org.jooq.impl.DSL.trunc; import static org.jooq.impl.DSL.unique; import static org.jooq.impl.DSL.unnest; +import static org.jooq.impl.DSL.unquotedName; import static org.jooq.impl.DSL.user; import static org.jooq.impl.DSL.values0; // ... @@ -7494,7 +7495,11 @@ final class ParserImpl implements Parser { private static final Field parseFieldXMLElementIf(ParserContext ctx) { if (parseFunctionNameIf(ctx, "XMLELEMENT")) { parse(ctx, '('); - parseKeyword(ctx, "NAME"); + parseKeywordIf(ctx, "NAME"); + + if (parseIf(ctx, ')')) + return xmlelement(unquotedName("NAME")); + Name name = parseIdentifier(ctx); XMLAttributes attr = null; List> content = new ArrayList<>();