[jOOQ/jOOQ#14058] WindowSpecification:: should return UnmodifiableList<? extends GroupField>
This commit is contained in:
parent
ada001c9dc
commit
eedab96a69
@ -89,21 +89,21 @@ public interface WindowPartitionByStep<T> extends WindowOrderByStep<T> {
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
WindowOrderByStep<T> partitionBy(Field<?>... fields);
|
||||
WindowOrderByStep<T> partitionBy(GroupField... fields);
|
||||
|
||||
/**
|
||||
* Add a <code>PARTITION BY</code> clause to the window functions.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
WindowOrderByStep<T> partitionBy(Collection<? extends Field<?>> fields);
|
||||
WindowOrderByStep<T> partitionBy(Collection<? extends GroupField> fields);
|
||||
|
||||
/**
|
||||
* Add a <code>PARTITION BY 1</code> clause to the window functions, where
|
||||
* such a clause is required by the syntax of an RDBMS.
|
||||
*
|
||||
* @deprecated - 3.10 - [#6427] - This synthetic clause is no longer
|
||||
* supported, use {@link #partitionBy(Field...)} instead, or
|
||||
* supported, use {@link #partitionBy(GroupField...)} instead, or
|
||||
* omit the clause entirely.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "3.10")
|
||||
|
||||
@ -63,7 +63,7 @@ import org.jetbrains.annotations.ApiStatus.Experimental;
|
||||
* .andCurrentRow();
|
||||
* </code></pre>
|
||||
* <p>
|
||||
* Instances can be created using {@link DSL#partitionBy(Field...)},
|
||||
* Instances can be created using {@link DSL#partitionBy(GroupField...)},
|
||||
* {@link DSL#orderBy(OrderField...)}, and overloads as well as rows / range /
|
||||
* groups related methods in {@link DSL}.
|
||||
*
|
||||
@ -87,7 +87,7 @@ public interface WindowSpecification extends QueryPart {
|
||||
* Subject to change in future jOOQ versions, use at your own risk.
|
||||
*/
|
||||
@Experimental
|
||||
@NotNull UnmodifiableList<? extends Field<?>> $partitionBy();
|
||||
@NotNull UnmodifiableList<? extends GroupField> $partitionBy();
|
||||
|
||||
/**
|
||||
* Experimental query object model accessor method, see also {@link QOM}.
|
||||
|
||||
@ -103,21 +103,21 @@ public interface WindowSpecificationPartitionByStep extends WindowSpecificationO
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
WindowSpecificationOrderByStep partitionBy(Field<?>... fields);
|
||||
WindowSpecificationOrderByStep partitionBy(GroupField... fields);
|
||||
|
||||
/**
|
||||
* Add a <code>PARTITION BY</code> clause to the window specification.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
WindowSpecificationOrderByStep partitionBy(Collection<? extends Field<?>> fields);
|
||||
WindowSpecificationOrderByStep partitionBy(Collection<? extends GroupField> fields);
|
||||
|
||||
/**
|
||||
* Add a <code>PARTITION BY 1</code> clause to the window specification,
|
||||
* where such a clause is required by the syntax of an RDBMS.
|
||||
*
|
||||
* @deprecated - 3.10 - [#6427] - This synthetic clause is no longer
|
||||
* supported, use {@link #partitionBy(Field...)} instead, or
|
||||
* supported, use {@link #partitionBy(GroupField...)} instead, or
|
||||
* omit the clause entirely.
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "3.10")
|
||||
|
||||
@ -61,6 +61,7 @@ import java.util.Set;
|
||||
import org.jooq.Context;
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.GroupField;
|
||||
import org.jooq.Name;
|
||||
import org.jooq.OrderField;
|
||||
// ...
|
||||
@ -345,13 +346,13 @@ implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public final WindowOrderByStep<T> partitionBy(Field<?>... fields) {
|
||||
public final WindowOrderByStep<T> partitionBy(GroupField... fields) {
|
||||
windowSpecification.partitionBy(fields);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final WindowOrderByStep<T> partitionBy(Collection<? extends Field<?>> fields) {
|
||||
public final WindowOrderByStep<T> partitionBy(Collection<? extends GroupField> fields) {
|
||||
windowSpecification.partitionBy(fields);
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -12101,8 +12101,8 @@ public class DSL {
|
||||
* It can also be useful for other, similar clauses, e.g. when passing
|
||||
* optional expressions to window function clauses, such as:
|
||||
* <ul>
|
||||
* <li>{@link DSL#partitionBy(Field...)}</li>
|
||||
* <li>{@link DSL#orderBy(Field...)}</li>
|
||||
* <li>{@link DSL#partitionBy(GroupField...)}</li>
|
||||
* <li>{@link DSL#orderBy(OrderField...)}</li>
|
||||
* </ul>
|
||||
* In clauses that project fields to a given {@link Record} type, the
|
||||
* {@link #noField()} simply projects <code>NULL</code> and cannot be used
|
||||
@ -12131,8 +12131,8 @@ public class DSL {
|
||||
* It can also be useful for other, similar clauses, e.g. when passing
|
||||
* optional expressions to window function clauses, such as:
|
||||
* <ul>
|
||||
* <li>{@link DSL#partitionBy(Field...)}</li>
|
||||
* <li>{@link DSL#orderBy(Field...)}</li>
|
||||
* <li>{@link DSL#partitionBy(GroupField...)}</li>
|
||||
* <li>{@link DSL#orderBy(OrderField...)}</li>
|
||||
* </ul>
|
||||
* In clauses that project fields to a given {@link Record} type, the
|
||||
* {@link #noField()} simply projects <code>NULL</code> and cannot be used
|
||||
@ -12163,8 +12163,8 @@ public class DSL {
|
||||
* It can also be useful for other, similar clauses, e.g. when passing
|
||||
* optional expressions to window function clauses, such as:
|
||||
* <ul>
|
||||
* <li>{@link DSL#partitionBy(Field...)}</li>
|
||||
* <li>{@link DSL#orderBy(Field...)}</li>
|
||||
* <li>{@link DSL#partitionBy(GroupField...)}</li>
|
||||
* <li>{@link DSL#orderBy(OrderField...)}</li>
|
||||
* </ul>
|
||||
* In clauses that project fields to a given {@link Record} type, the
|
||||
* {@link #noField()} simply projects <code>NULL</code> and cannot be used
|
||||
@ -12195,8 +12195,8 @@ public class DSL {
|
||||
* It can also be useful for other, similar clauses, e.g. when passing
|
||||
* optional expressions to window function clauses, such as:
|
||||
* <ul>
|
||||
* <li>{@link DSL#partitionBy(Field...)}</li>
|
||||
* <li>{@link DSL#orderBy(Field...)}</li>
|
||||
* <li>{@link DSL#partitionBy(GroupField...)}</li>
|
||||
* <li>{@link DSL#orderBy(OrderField...)}</li>
|
||||
* </ul>
|
||||
* In clauses that project fields to a given {@link Record} type, the
|
||||
* {@link #noField()} simply projects <code>NULL</code> and cannot be used
|
||||
@ -28854,7 +28854,7 @@ public class DSL {
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
public static WindowSpecificationOrderByStep partitionBy(Field<?>... fields) {
|
||||
public static WindowSpecificationOrderByStep partitionBy(GroupField... fields) {
|
||||
return new WindowSpecificationImpl().partitionBy(fields);
|
||||
}
|
||||
|
||||
@ -28863,7 +28863,7 @@ public class DSL {
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
public static WindowSpecificationOrderByStep partitionBy(Collection<? extends Field<?>> fields) {
|
||||
public static WindowSpecificationOrderByStep partitionBy(Collection<? extends GroupField> fields) {
|
||||
return new WindowSpecificationImpl().partitionBy(fields);
|
||||
}
|
||||
|
||||
|
||||
@ -50,6 +50,7 @@ import java.util.function.Predicate;
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.Function1;
|
||||
import org.jooq.GroupField;
|
||||
import org.jooq.Name;
|
||||
import org.jooq.OrderField;
|
||||
import org.jooq.QueryPart;
|
||||
@ -329,7 +330,7 @@ final class WindowDefinitionImpl extends AbstractQueryPart implements WindowDefi
|
||||
}
|
||||
|
||||
@Override
|
||||
public final UnmodifiableList<? extends Field<?>> $partitionBy() {
|
||||
public final UnmodifiableList<? extends GroupField> $partitionBy() {
|
||||
return QOM.unmodifiable($windowSpecification() == null ? new QueryPartList<>() : $windowSpecification().$partitionBy());
|
||||
}
|
||||
|
||||
|
||||
@ -94,6 +94,7 @@ import java.util.function.Predicate;
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.Function1;
|
||||
import org.jooq.GroupField;
|
||||
import org.jooq.OrderField;
|
||||
// ...
|
||||
import org.jooq.QueryPart;
|
||||
@ -410,12 +411,12 @@ implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public final WindowSpecificationPartitionByStep partitionBy(Field<?>... fields) {
|
||||
public final WindowSpecificationPartitionByStep partitionBy(GroupField... fields) {
|
||||
return partitionBy(Arrays.asList(fields));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final WindowSpecificationPartitionByStep partitionBy(Collection<? extends Field<?>> fields) {
|
||||
public final WindowSpecificationPartitionByStep partitionBy(Collection<? extends GroupField> fields) {
|
||||
partitionBy.addAll(fields);
|
||||
return this;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user