[jOOQ/jOOQ#13553] Add asMultiset(Field<?>|Name|String alias) overloads.

This commit is contained in:
Lukas Eder 2022-05-16 10:21:42 +02:00
parent b95715d1fc
commit 5b5a57eab8
4 changed files with 69 additions and 1 deletions

View File

@ -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<Result<R>> asMultiset();
/**
* Turn this {@link TableLike} expression into a
* {@link DSL#multiset(TableLike)}.
*/
@NotNull
@Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
Field<Result<R>> asMultiset(String alias);
/**
* Turn this {@link TableLike} expression into a
* {@link DSL#multiset(TableLike)}.
*/
@NotNull
@Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
Field<Result<R>> asMultiset(Name alias);
/**
* Turn this {@link TableLike} expression into a
* {@link DSL#multiset(TableLike)}.
*/
@NotNull
@Support({ H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
Field<Result<R>> asMultiset(Field<?> alias);
/**
* The underlying table representation of this object.
* <p>

View File

@ -307,6 +307,21 @@ abstract class AbstractTable<R extends Record> extends AbstractNamed implements
return DSL.multiset(this);
}
@Override
public final Field<Result<R>> asMultiset(String alias) {
return DSL.multiset(this).as(alias);
}
@Override
public final Field<Result<R>> asMultiset(Name alias) {
return DSL.multiset(this).as(alias);
}
@Override
public final Field<Result<R>> asMultiset(Field<?> alias) {
return DSL.multiset(this).as(alias);
}
@Override
public final Table<R> asTable() {
return this;

View File

@ -2871,6 +2871,21 @@ implements
return getDelegate().asMultiset();
}
@Override
public final Field<Result<R>> asMultiset(String alias) {
return getDelegate().asMultiset(alias);
}
@Override
public final Field<Result<R>> asMultiset(Name alias) {
return getDelegate().asMultiset(alias);
}
@Override
public final Field<Result<R>> asMultiset(Field<?> alias) {
return getDelegate().asMultiset(alias);
}
@Override
public final Table<R> asTable() {
return getDelegate().asTable();

View File

@ -662,6 +662,21 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
return DSL.multiset(this);
}
@Override
public final Field<Result<R>> asMultiset(String alias) {
return DSL.multiset(this).as(alias);
}
@Override
public final Field<Result<R>> asMultiset(Name alias) {
return DSL.multiset(this).as(alias);
}
@Override
public final Field<Result<R>> asMultiset(Field<?> alias) {
return DSL.multiset(this).as(alias);
}
@Override
public final Table<R> asTable() {
// [#13349] Delay the possibly expensive computation of the auto alias,