From f35e3ea504b69011cbe6aa8f932e7bfaa81bde1e Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 1 Sep 2020 10:55:50 +0200 Subject: [PATCH] [jOOQ/jOOQ#10565] Support using FOR XML and FOR JSON in CREATE VIEW --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 0536f57af2..210c16f85f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -1356,7 +1356,7 @@ final class ParserImpl implements Parser { CombineOperator combine; while ((combine = parseCombineOperatorIf(ctx, false)) != null) { if (degree == null) - degree = result.getSelect().size(); + degree = Tools.degree(result); switch (combine) { case UNION: @@ -1385,7 +1385,7 @@ final class ParserImpl implements Parser { CombineOperator combine; while ((combine = parseCombineOperatorIf(ctx, true)) != null) { if (degree == null) - degree = result.getSelect().size(); + degree = Tools.degree(result); switch (combine) { case INTERSECT: @@ -3401,10 +3401,10 @@ final class ParserImpl implements Parser { parseKeyword(ctx, "AS"); Select select = parseWithOrSelect(ctx); + int degree = Tools.degree(select); - if (fields.length > 0 && fields.length != select.getSelect().size()) - throw ctx.exception("Select list size (" + select.getSelect().size() + ") must match declared field size (" + fields.length + ")"); - + if (fields.length > 0 && fields.length != degree) + throw ctx.exception("Select list size (" + degree + ") must match declared field size (" + fields.length + ")"); return ifNotExists ? ctx.dsl.createViewIfNotExists(view, fields).as(select)