From f5b2ff20a0fa20265491aa4593297a66d15da432 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 27 Nov 2020 16:36:49 +0100 Subject: [PATCH] [jOOQ/jOOQ#11042] Add support for parsing INSERT .. WITH .. SELECT --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index d928efa756..7bc7c90a33 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -2001,14 +2001,14 @@ final class ParserImpl implements Parser { returning = onDuplicate = s1.set(map); } - else if (peekSelect(ctx, true)){ + else if (peekSelectOrWith(ctx, true)){ // [#10954] These are moved into the INSERT .. SELECT clause handling. They should not be necessary here // either, but it seems we currently don't correctly implement nesting scopes? ctx.scopeEnd(); ctx.scopeStart(); - SelectQueryImpl select = parseSelect(ctx); + Select select = parseWithOrSelect(ctx); returning = onDuplicate = (fields == null) ? s1.select(select) @@ -2021,7 +2021,7 @@ final class ParserImpl implements Parser { returning = onDuplicate = s1.defaultValues(); } else - throw ctx.expected("DEFAULT VALUES", "SELECT", "SET", "VALUES"); + throw ctx.expected("DEFAULT VALUES", "WITH", "SELECT", "SET", "VALUES"); if (parseKeywordIf(ctx, "ON")) { if (parseKeywordIf(ctx, "DUPLICATE KEY UPDATE")) {