From b53e922e9ed481e048a73c46f99b75870dced5aa Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 16 Oct 2024 15:49:23 +0200 Subject: [PATCH] [jOOQ/jOOQ#16874] CREATE TABLE and other DDL statements don't qualify tables in BigQuery --- .../main/java/org/jooq/impl/TableFieldImpl.java | 16 ++++++++++++++-- jOOQ/src/main/java/org/jooq/impl/TableImpl.java | 12 +----------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java index a8058d184e..14aa84fde4 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java @@ -44,6 +44,7 @@ import static java.util.stream.Collectors.joining; import static org.jooq.Clause.FIELD; import static org.jooq.Clause.FIELD_REFERENCE; // ... +// ... import static org.jooq.conf.RenderImplicitJoinType.DEFAULT; import static org.jooq.conf.RenderImplicitJoinType.SCALAR_SUBQUERY; import static org.jooq.impl.DSL.select; @@ -56,6 +57,7 @@ import static org.jooq.impl.Tools.ExtendedDataKey.DATA_RENDER_TABLE; import static org.jooq.impl.UpdateQueryImpl.NO_SUPPORT_UPDATE_JOIN; import static org.jooq.tools.StringUtils.defaultIfNull; +import java.util.Set; import java.util.stream.Stream; import org.jooq.Binding; @@ -68,8 +70,10 @@ import org.jooq.DataType; import org.jooq.Field; import org.jooq.GeneratorStatementType; import org.jooq.Name; +// ... import org.jooq.Record; import org.jooq.RowId; +import org.jooq.SQLDialect; import org.jooq.Table; import org.jooq.TableField; import org.jooq.Update; @@ -94,9 +98,13 @@ implements UEmpty { - private static final Clause[] CLAUSES = { FIELD, FIELD_REFERENCE }; + private static final Clause[] CLAUSES = { FIELD, FIELD_REFERENCE }; - private final Table table; + + + + + private final Table table; @SuppressWarnings("unchecked") TableFieldImpl(Name name, DataType type, Comment comment) { @@ -253,6 +261,10 @@ implements + + + + else c.visit(table).sql('.'); } diff --git a/jOOQ/src/main/java/org/jooq/impl/TableImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableImpl.java index 4bb3b947ee..14503c6f99 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableImpl.java @@ -44,8 +44,6 @@ import static org.jooq.Clause.TABLE_ALIAS; import static org.jooq.Clause.TABLE_REFERENCE; // ... // ... -// ... -import static org.jooq.SQLDialect.DUCKDB; import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.SQLDialect.HSQLDB; // ... @@ -61,7 +59,6 @@ import static org.jooq.impl.QueryPartListView.wrap; import static org.jooq.impl.SchemaImpl.DEFAULT_SCHEMA; import static org.jooq.impl.Tools.EMPTY_OBJECT; import static org.jooq.impl.Tools.getMappedTable; -import static org.jooq.impl.Tools.unwrap; import static org.jooq.impl.Tools.BooleanDataKey.DATA_RENDER_IMPLICIT_JOIN; import static org.jooq.tools.StringUtils.defaultIfNull; @@ -74,13 +71,13 @@ import org.jooq.Clause; import org.jooq.Comment; import org.jooq.Condition; import org.jooq.Context; +import org.jooq.DDLQuery; import org.jooq.DataType; import org.jooq.Field; import org.jooq.ForeignKey; import org.jooq.InverseForeignKey; import org.jooq.JoinType; import org.jooq.Name; -// ... import org.jooq.Record; import org.jooq.Row; import org.jooq.SQLDialect; @@ -120,10 +117,6 @@ implements private static final Set NO_SUPPORT_QUALIFIED_TVF_CALLS = SQLDialect.supportedBy(HSQLDB, POSTGRES, YUGABYTEDB); private static final Set REQUIRES_TVF_TABLE_CONSTRUCTOR = SQLDialect.supportedBy(HSQLDB); - - - - final FieldsImpl fields; final Alias> alias; final Condition where; @@ -487,9 +480,6 @@ implements if (!noSchemaMapping && ctx.qualifySchema() && (ctx.declareTables() || (!NO_SUPPORT_QUALIFIED_TVF_CALLS.contains(ctx.dialect()) || parameters == null) - - - )) { QualifiedImpl.acceptMappedSchemaPrefix(ctx, getSchema()); }