From 6b70ac044ff9e9ca2da0b36bbfaad670dca70fcd Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 13 Jun 2022 15:30:29 +0200 Subject: [PATCH] [jOOQ/jOOQ#13664] Avoid ambiguous reference when using Table as SelectField for table conflicting with column --- jOOQ/src/main/java/org/jooq/impl/TableAsField.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/TableAsField.java b/jOOQ/src/main/java/org/jooq/impl/TableAsField.java index 3fb009bd6c..0794ba24b0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableAsField.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableAsField.java @@ -65,6 +65,10 @@ import static org.jooq.SQLDialect.SQLITE; // ... // ... // ... +import static org.jooq.impl.Keywords.K_AS; +import static org.jooq.impl.Keywords.K_CAST; +import static org.jooq.impl.Keywords.K_ROW; +import static org.jooq.impl.Tools.unalias; import static org.jooq.impl.Tools.BooleanDataKey.DATA_LIST_ALREADY_INDENTED; import java.util.Set; @@ -137,8 +141,10 @@ implements + // [#13664] Because of risk of ambiguity between table and column names, + // we can't just render the table name here. else - ctx.qualify(false, c -> c.visit(table)); + ctx.qualify(false, c -> c.visit(K_CAST).sql(" (").visit(K_ROW).sql(" (").visit(table).sql(".*) ").visit(K_AS).sql(' ').visit(unalias(table)).sql(')')); } @Override