From baa74331736ba202967331842ff83055a142deed Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 20 Nov 2023 10:57:31 +0100 Subject: [PATCH] [jOOQ/jOOQ#2682] [jOOQ/jOOQ#15632] InsertQueryImpl::estimatedRowCount When there is an inline derived table in an INSERT statement, then the estimated row count should be unknown as we'll generate an INSERT .. SELECT, with potentially 0 rows. When rendering the query, the InsertQueryImpl.select property isn't null, due to a transformation, but when executing the query, it's null. --- .../main/java/org/jooq/impl/AbstractDMLQuery.java | 2 +- .../java/org/jooq/impl/InlineDerivedTable.java | 14 ++------------ .../main/java/org/jooq/impl/InsertQueryImpl.java | 6 ++++++ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java index d7dae9e2ea..fe66f84726 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java @@ -291,7 +291,7 @@ abstract class AbstractDMLQuery extends AbstractRowCountQuery return table; } - final Table table(Context ctx) { + final Table table(Scope ctx) { diff --git a/jOOQ/src/main/java/org/jooq/impl/InlineDerivedTable.java b/jOOQ/src/main/java/org/jooq/impl/InlineDerivedTable.java index cb8eb37f89..f3c7e5a4a8 100644 --- a/jOOQ/src/main/java/org/jooq/impl/InlineDerivedTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/InlineDerivedTable.java @@ -43,25 +43,15 @@ import static org.jooq.impl.DSL.table; import static org.jooq.impl.Tools.anyMatch; import static org.jooq.tools.StringUtils.defaultIfNull; -import java.util.List; - -import org.jooq.Check; import org.jooq.Condition; import org.jooq.Context; -import org.jooq.ForeignKey; -import org.jooq.Identity; -import org.jooq.Index; import org.jooq.QueryPart; import org.jooq.Record; // ... +import org.jooq.Scope; import org.jooq.Select; import org.jooq.Table; -import org.jooq.TableField; // ... -import org.jooq.UniqueKey; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; /** * @author Lukas Eder @@ -212,7 +202,7 @@ final class InlineDerivedTable extends DerivedTable { return table; } - static final Table inlineDerivedTable(Context ctx, Table t) { + static final Table inlineDerivedTable(Scope ctx, Table t) { diff --git a/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java index 02052b5e35..9fde1e4d3d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java @@ -1215,6 +1215,12 @@ implements + + + + + +