[jOOQ/jOOQ#15592] Add missing Asterisk and QualifiedAsterisk.except(Collection<? extends Field<?>>) overloads

This commit is contained in:
Lukas Eder 2023-09-14 15:21:01 +02:00
parent 9b2d1226f7
commit 5352cdfce3
5 changed files with 39 additions and 3 deletions

View File

@ -40,6 +40,8 @@ package org.jooq;
import org.jetbrains.annotations.*;
import org.jetbrains.annotations.ApiStatus.Experimental;
import java.util.Collection;
import org.jooq.impl.DSL;
import org.jooq.impl.QOM;
import org.jooq.impl.QOM.UnmodifiableList;
@ -106,6 +108,17 @@ public non-sealed interface Asterisk extends SelectFieldOrAsterisk {
@Support
Asterisk except(Field<?>... fields);
/**
* The asterisk (<code>*</code>) to be used in <code>SELECT</code> clauses.
* <p>
* This expression is a convenient way to select "all but some fields". Some
* dialects (e.g. {@link SQLDialect#H2}) implement this feature natively. In
* other dialects, jOOQ expands the asterisk if possible.
*/
@NotNull
@Support
Asterisk except(Collection<? extends Field<?>> fields);
// -------------------------------------------------------------------------
// XXX: Query Object Model
// -------------------------------------------------------------------------

View File

@ -37,11 +37,13 @@
*/
package org.jooq;
import java.util.Collection;
import org.jooq.impl.QOM;
import org.jooq.impl.QOM.UnmodifiableList;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.ApiStatus.Experimental;
import org.jetbrains.annotations.NotNull;
/**
@ -113,6 +115,18 @@ public non-sealed interface QualifiedAsterisk extends SelectFieldOrAsterisk {
@Support
QualifiedAsterisk except(Field<?>... fields);
/**
* The qualified asterisk (<code>t.* EXCEPT (fields)</code>) expression to
* be used in <code>SELECT</code> clauses.
* <p>
* This expression is a convenient way to select "all but some fields". Some
* dialects (e.g. {@link SQLDialect#H2}) implement this feature natively. In
* other dialects, jOOQ expands the asterisk if possible.
*/
@NotNull
@Support
QualifiedAsterisk except(Collection<? extends Field<?>> fields);
// -------------------------------------------------------------------------
// XXX: Query Object Model
// -------------------------------------------------------------------------

View File

@ -136,7 +136,8 @@ final class AsteriskImpl extends AbstractQueryPart implements Asterisk {
return except(Arrays.asList(f));
}
final Asterisk except(Collection<? extends Field<?>> f) {
@Override
public final Asterisk except(Collection<? extends Field<?>> f) {
QueryPartList<Field<?>> list = new QueryPartList<>();
list.addAll(fields);

View File

@ -119,7 +119,8 @@ final class QualifiedAsteriskImpl extends AbstractQueryPart implements Qualified
return except(Arrays.asList(f));
}
final QualifiedAsterisk except(Collection<? extends Field<?>> f) {
@Override
public final QualifiedAsterisk except(Collection<? extends Field<?>> f) {
QueryPartList<Field<?>> list = new QueryPartList<>();
list.addAll(fields);

View File

@ -37,6 +37,8 @@
*/
package org.jooq.impl;
import java.util.Collection;
import org.jooq.Clause;
import org.jooq.Context;
import org.jooq.Field;
@ -189,6 +191,11 @@ implements
return new QualifiedAsteriskProxy((QualifiedAsteriskImpl) delegate.except(fields), position);
}
@Override
public final QualifiedAsterisk except(Collection<? extends Field<?>> fields) {
return new QualifiedAsteriskProxy((QualifiedAsteriskImpl) delegate.except(fields), position);
}
// -------------------------------------------------------------------------
// XXX: Query Object Model
// -------------------------------------------------------------------------