From 1f35febea7b9ee6c8f293b376045262b423175f3 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 24 Sep 2024 14:41:33 +0200 Subject: [PATCH] [jOOQ/jOOQ#17320] Regression when generating DDL from certain generated views --- jOOQ/src/main/java/org/jooq/impl/DDL.java | 19 +++++++++++++++++++ .../main/java/org/jooq/impl/ParserImpl.java | 6 +----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DDL.java b/jOOQ/src/main/java/org/jooq/impl/DDL.java index 2b9ccc98b7..605db62686 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DDL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DDL.java @@ -122,6 +122,7 @@ import org.jooq.TableOptions.TableType; // ... // ... import org.jooq.UniqueKey; +import org.jooq.impl.QOM.CreateView; import org.jooq.DDLExportConfiguration.InlineForeignKeyConstraints; import org.jooq.tools.JooqLogger; import org.jooq.tools.StringUtils; @@ -723,6 +724,24 @@ final class DDL { + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 89a30d1065..124c92214a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -7269,10 +7269,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { @Override public final Table parseTable() { - return parseJoinedTable(() -> peekKeyword(delimiterRequired - ? KEYWORD_LOOKUP_IN_FROM - : KEYWORD_LOOKUP_IN_SELECT_FROM - )); + return parseJoinedTable(() -> peekKeyword(KEYWORD_LOOKUP_IN_SELECT_FROM) || (!delimiterRequired && peekKeyword(KEYWORD_LOOKUP_IN_STATEMENTS))); } private final Table parseLateral(BooleanSupplier forbiddenKeywords) { @@ -15604,7 +15601,6 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { static { Set set = new TreeSet<>(asList(KEYWORDS_IN_FROM)); - set.addAll(asList(KEYWORDS_IN_STATEMENTS)); set.addAll(asList( "CONNECT BY",