From 5b5a57eab80a890aeea4c32305988dffbca49c91 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 16 May 2022 10:21:42 +0200 Subject: [PATCH] [jOOQ/jOOQ#13553] Add asMultiset(Field|Name|String alias) overloads. --- jOOQ/src/main/java/org/jooq/TableLike.java | 25 ++++++++++++++++++- .../java/org/jooq/impl/AbstractTable.java | 15 +++++++++++ .../main/java/org/jooq/impl/SelectImpl.java | 15 +++++++++++ .../java/org/jooq/impl/SelectQueryImpl.java | 15 +++++++++++ 4 files changed, 69 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/TableLike.java b/jOOQ/src/main/java/org/jooq/TableLike.java index 80bead287f..84cab799e7 100644 --- a/jOOQ/src/main/java/org/jooq/TableLike.java +++ b/jOOQ/src/main/java/org/jooq/TableLike.java @@ -50,7 +50,6 @@ import static org.jooq.SQLDialect.SQLITE; // ... // ... import static org.jooq.SQLDialect.YUGABYTEDB; -import static org.jooq.impl.DSL.selectFrom; import java.util.Collection; import java.util.function.BiFunction; @@ -85,6 +84,30 @@ extends @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) Field> asMultiset(); + /** + * Turn this {@link TableLike} expression into a + * {@link DSL#multiset(TableLike)}. + */ + @NotNull + @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) + Field> asMultiset(String alias); + + /** + * Turn this {@link TableLike} expression into a + * {@link DSL#multiset(TableLike)}. + */ + @NotNull + @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) + Field> asMultiset(Name alias); + + /** + * Turn this {@link TableLike} expression into a + * {@link DSL#multiset(TableLike)}. + */ + @NotNull + @Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) + Field> asMultiset(Field alias); + /** * The underlying table representation of this object. *

diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java b/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java index 9697861693..15fedb3a53 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java @@ -307,6 +307,21 @@ abstract class AbstractTable extends AbstractNamed implements return DSL.multiset(this); } + @Override + public final Field> asMultiset(String alias) { + return DSL.multiset(this).as(alias); + } + + @Override + public final Field> asMultiset(Name alias) { + return DSL.multiset(this).as(alias); + } + + @Override + public final Field> asMultiset(Field alias) { + return DSL.multiset(this).as(alias); + } + @Override public final Table asTable() { return this; diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java index 3202e1b01d..d8c9fa6643 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java @@ -2871,6 +2871,21 @@ implements return getDelegate().asMultiset(); } + @Override + public final Field> asMultiset(String alias) { + return getDelegate().asMultiset(alias); + } + + @Override + public final Field> asMultiset(Name alias) { + return getDelegate().asMultiset(alias); + } + + @Override + public final Field> asMultiset(Field alias) { + return getDelegate().asMultiset(alias); + } + @Override public final Table asTable() { return getDelegate().asTable(); diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 2647fab463..354ef00698 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -662,6 +662,21 @@ final class SelectQueryImpl extends AbstractResultQuery imp return DSL.multiset(this); } + @Override + public final Field> asMultiset(String alias) { + return DSL.multiset(this).as(alias); + } + + @Override + public final Field> asMultiset(Name alias) { + return DSL.multiset(this).as(alias); + } + + @Override + public final Field> asMultiset(Field alias) { + return DSL.multiset(this).as(alias); + } + @Override public final Table asTable() { // [#13349] Delay the possibly expensive computation of the auto alias,