diff --git a/jOOQ/src/main/java/org/jooq/WindowPartitionByStep.java b/jOOQ/src/main/java/org/jooq/WindowPartitionByStep.java index ce5ba5569c..978f4e03dc 100644 --- a/jOOQ/src/main/java/org/jooq/WindowPartitionByStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowPartitionByStep.java @@ -89,21 +89,21 @@ public interface WindowPartitionByStep extends WindowOrderByStep { */ @NotNull @Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) - WindowOrderByStep partitionBy(Field... fields); + WindowOrderByStep partitionBy(GroupField... fields); /** * Add a PARTITION BY clause to the window functions. */ @NotNull @Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) - WindowOrderByStep partitionBy(Collection> fields); + WindowOrderByStep partitionBy(Collection fields); /** * Add a PARTITION BY 1 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") diff --git a/jOOQ/src/main/java/org/jooq/WindowSpecification.java b/jOOQ/src/main/java/org/jooq/WindowSpecification.java index 53327406e7..74b0e91341 100644 --- a/jOOQ/src/main/java/org/jooq/WindowSpecification.java +++ b/jOOQ/src/main/java/org/jooq/WindowSpecification.java @@ -63,7 +63,7 @@ import org.jetbrains.annotations.ApiStatus.Experimental; * .andCurrentRow(); * *

- * 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> $partitionBy(); + @NotNull UnmodifiableList $partitionBy(); /** * Experimental query object model accessor method, see also {@link QOM}. diff --git a/jOOQ/src/main/java/org/jooq/WindowSpecificationPartitionByStep.java b/jOOQ/src/main/java/org/jooq/WindowSpecificationPartitionByStep.java index 10b5922f64..57efa0ef08 100644 --- a/jOOQ/src/main/java/org/jooq/WindowSpecificationPartitionByStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowSpecificationPartitionByStep.java @@ -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 PARTITION BY clause to the window specification. */ @NotNull @Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) - WindowSpecificationOrderByStep partitionBy(Collection> fields); + WindowSpecificationOrderByStep partitionBy(Collection fields); /** * Add a PARTITION BY 1 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") diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractWindowFunction.java b/jOOQ/src/main/java/org/jooq/impl/AbstractWindowFunction.java index 7927d57f74..8cbed54a85 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractWindowFunction.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractWindowFunction.java @@ -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 partitionBy(Field... fields) { + public final WindowOrderByStep partitionBy(GroupField... fields) { windowSpecification.partitionBy(fields); return this; } @Override - public final WindowOrderByStep partitionBy(Collection> fields) { + public final WindowOrderByStep partitionBy(Collection fields) { windowSpecification.partitionBy(fields); return this; } diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 09cb5f22cf..11f334cdc6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -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: *

    - *
  • {@link DSL#partitionBy(Field...)}
  • - *
  • {@link DSL#orderBy(Field...)}
  • + *
  • {@link DSL#partitionBy(GroupField...)}
  • + *
  • {@link DSL#orderBy(OrderField...)}
  • *
* In clauses that project fields to a given {@link Record} type, the * {@link #noField()} simply projects NULL 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: *
    - *
  • {@link DSL#partitionBy(Field...)}
  • - *
  • {@link DSL#orderBy(Field...)}
  • + *
  • {@link DSL#partitionBy(GroupField...)}
  • + *
  • {@link DSL#orderBy(OrderField...)}
  • *
* In clauses that project fields to a given {@link Record} type, the * {@link #noField()} simply projects NULL 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: *
    - *
  • {@link DSL#partitionBy(Field...)}
  • - *
  • {@link DSL#orderBy(Field...)}
  • + *
  • {@link DSL#partitionBy(GroupField...)}
  • + *
  • {@link DSL#orderBy(OrderField...)}
  • *
* In clauses that project fields to a given {@link Record} type, the * {@link #noField()} simply projects NULL 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: *
    - *
  • {@link DSL#partitionBy(Field...)}
  • - *
  • {@link DSL#orderBy(Field...)}
  • + *
  • {@link DSL#partitionBy(GroupField...)}
  • + *
  • {@link DSL#orderBy(OrderField...)}
  • *
* In clauses that project fields to a given {@link Record} type, the * {@link #noField()} simply projects NULL 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> fields) { + public static WindowSpecificationOrderByStep partitionBy(Collection fields) { return new WindowSpecificationImpl().partitionBy(fields); } diff --git a/jOOQ/src/main/java/org/jooq/impl/WindowDefinitionImpl.java b/jOOQ/src/main/java/org/jooq/impl/WindowDefinitionImpl.java index 0820c148d5..3dc5489c3e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/WindowDefinitionImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/WindowDefinitionImpl.java @@ -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> $partitionBy() { + public final UnmodifiableList $partitionBy() { return QOM.unmodifiable($windowSpecification() == null ? new QueryPartList<>() : $windowSpecification().$partitionBy()); } diff --git a/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java b/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java index 443547a7fe..2035cd1cef 100644 --- a/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java @@ -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> fields) { + public final WindowSpecificationPartitionByStep partitionBy(Collection fields) { partitionBy.addAll(fields); return this; }