diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep1.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep1.java index a22c43a13d..5ff04d0985 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep1.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep1.java @@ -125,9 +125,15 @@ public interface SelectSeekStep1 extends SelectLimitStepORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep1 extends SelectLimitStepORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep1 extends SelectLimitStepORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep1 extends SelectLimitStepORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep1 extends SelectLimitStepORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep1 extends SelectLimitStepORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep10.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep10.java index 2072fcdd21..86b9ed3567 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep10.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep10.java @@ -125,9 +125,15 @@ public interface SelectSeekStep10ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep10ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep10ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep10ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep10ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep10ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep11.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep11.java index d6b580cafb..a930dc3952 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep11.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep11.java @@ -125,9 +125,15 @@ public interface SelectSeekStep11ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep11ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep11ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep11ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep11ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep11ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep12.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep12.java index a5e12e1c97..204d13f584 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep12.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep12.java @@ -125,9 +125,15 @@ public interface SelectSeekStep12ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep12ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep12ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep12ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep12ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep12ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep13.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep13.java index aa2e66562c..ec354b5482 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep13.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep13.java @@ -125,9 +125,15 @@ public interface SelectSeekStep13ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep13ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep13ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep13ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep13ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep13ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep14.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep14.java index 2deaf51d0e..b389bb9753 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep14.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep14.java @@ -125,9 +125,15 @@ public interface SelectSeekStep14ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep14ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep14ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep14ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep14ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep14ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep15.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep15.java index 81d928c6f9..73138dc2cb 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep15.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep15.java @@ -125,9 +125,15 @@ public interface SelectSeekStep15ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep15ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep15ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep15ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep15ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep15ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep16.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep16.java index 7b7d9dd0b2..b53e11a3b9 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep16.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep16.java @@ -125,9 +125,15 @@ public interface SelectSeekStep16ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep16ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep16ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep16ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep16ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep16ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep17.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep17.java index f83e3e726a..7b69fdb527 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep17.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep17.java @@ -125,9 +125,15 @@ public interface SelectSeekStep17ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep17ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep17ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep17ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep17ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep17ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep18.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep18.java index b831661667..9fa8f27f24 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep18.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep18.java @@ -125,9 +125,15 @@ public interface SelectSeekStep18ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep18ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep18ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep18ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep18ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep18ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep19.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep19.java index 98b8adfcfc..851581130c 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep19.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep19.java @@ -125,9 +125,15 @@ public interface SelectSeekStep19ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep19ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep19ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep19ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep19ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep19ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep2.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep2.java index 3eb9f1fec5..451a210ec3 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep2.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep2.java @@ -125,9 +125,15 @@ public interface SelectSeekStep2 extends SelectLimitSt * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep2 extends SelectLimitSt * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep2 extends SelectLimitSt * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep2 extends SelectLimitSt * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep2 extends SelectLimitSt * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep2 extends SelectLimitSt * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep20.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep20.java index 554cfe0871..9400f94ce1 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep20.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep20.java @@ -125,9 +125,15 @@ public interface SelectSeekStep20ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep20ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep20ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep20ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep20ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep20ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep21.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep21.java index c775ff57dd..a4df67bc62 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep21.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep21.java @@ -125,9 +125,15 @@ public interface SelectSeekStep21ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep21ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep21ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep21ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep21ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep21ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep22.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep22.java index af24374a28..5f63540ed1 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep22.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep22.java @@ -125,9 +125,15 @@ public interface SelectSeekStep22ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep22ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep22ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep22ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep22ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep22ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep3.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep3.java index 9252b88891..90ec7b28cf 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep3.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep3.java @@ -125,9 +125,15 @@ public interface SelectSeekStep3 extends SelectLim * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep3 extends SelectLim * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep3 extends SelectLim * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep3 extends SelectLim * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep3 extends SelectLim * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep3 extends SelectLim * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep4.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep4.java index 2848a02fba..12028a8a38 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep4.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep4.java @@ -125,9 +125,15 @@ public interface SelectSeekStep4 extends Selec * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep4 extends Selec * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep4 extends Selec * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep4 extends Selec * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep4 extends Selec * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep4 extends Selec * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep5.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep5.java index ff54e18a82..326b8c3546 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep5.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep5.java @@ -125,9 +125,15 @@ public interface SelectSeekStep5 extends S * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep5 extends S * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep5 extends S * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep5 extends S * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep5 extends S * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep5 extends S * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep6.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep6.java index 37b7c8fe1f..a02ba5bb4d 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep6.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep6.java @@ -125,9 +125,15 @@ public interface SelectSeekStep6 exten * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep6 exten * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep6 exten * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep6 exten * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep6 exten * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep6 exten * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep7.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep7.java index e5c44da506..d01f58f432 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep7.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep7.java @@ -125,9 +125,15 @@ public interface SelectSeekStep7 e * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep7 e * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep7 e * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep7 e * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep7 e * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep7 e * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep8.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep8.java index 7ff91e557a..0275fb0d5b 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep8.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep8.java @@ -125,9 +125,15 @@ public interface SelectSeekStep8ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep8ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep8ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep8ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep8ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep8ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStep9.java b/jOOQ/src/main/java/org/jooq/SelectSeekStep9.java index d90348068d..76752af243 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStep9.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStep9.java @@ -125,9 +125,15 @@ public interface SelectSeekStep9ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -181,9 +187,15 @@ public interface SelectSeekStep9ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -237,9 +249,15 @@ public interface SelectSeekStep9ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -292,9 +310,15 @@ public interface SelectSeekStep9ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -347,9 +371,15 @@ public interface SelectSeekStep9ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -404,9 +434,15 @@ public interface SelectSeekStep9ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/SelectSeekStepN.java b/jOOQ/src/main/java/org/jooq/SelectSeekStepN.java index 21504b8d7d..30e062987c 100644 --- a/jOOQ/src/main/java/org/jooq/SelectSeekStepN.java +++ b/jOOQ/src/main/java/org/jooq/SelectSeekStepN.java @@ -126,9 +126,15 @@ public interface SelectSeekStepN extends SelectLimitStep { * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -182,9 +188,15 @@ public interface SelectSeekStepN extends SelectLimitStep { * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -238,9 +250,15 @@ public interface SelectSeekStepN extends SelectLimitStep { * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -293,9 +311,15 @@ public interface SelectSeekStepN extends SelectLimitStep { * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK AFTER method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -348,9 +372,15 @@ public interface SelectSeekStepN extends SelectLimitStep { * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page @@ -405,9 +435,15 @@ public interface SelectSeekStepN extends SelectLimitStep { * The seek column list length must match the ORDER BY expression * list length. *

- * The SEEK BEFORE method currently does not support seeking - * NULL values, or operating with NULLS FIRST, - * NULLS LAST clauses in the ORDER BY clause. + *

NULL handling

+ *

+ * NULL handling in the SEEK clause is enabled + * only for ORDER BY expressions when providing explicit + * {@link SortField#nullsFirst()} or {@link SortField#nullsLast()} clauses, + * in case of which the SEEK predicate is always composed of + * multiple predicates containing {@link Field#isNull()} or + * {@link Field#isNotNull()}, respectively, never of ROW + * predicates. * * @see http://use-the-index-luke.com/sql/partial-results/fetch-next-page diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 3cf7dc4c6d..c4e4af16ed 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -4734,7 +4734,12 @@ final class SelectQueryImpl extends AbstractResultQuery imp c = or.getWhere(); } - if (o.size() > 1 && TRUE.equals(ctx.settings().isRenderRedundantConditionForSeekClause())) { + // [#2786] Redundant conditions don't make sense when enabling NULL ordering on the + // redundant condition's column. + if (o.size() > 1 + && TRUE.equals(ctx.settings().isRenderRedundantConditionForSeekClause()) + && o.get(0).$nullOrdering() == null + ) { if (o.get(0).getOrder() != DESC ^ seekBefore) c = seekCondition(o.get(0), s.get(0), Field::ge).and(c); else @@ -4752,10 +4757,32 @@ final class SelectQueryImpl extends AbstractResultQuery imp ) { Condition c = comp.apply(o.$field(), s); - if (o.$nullOrdering() == NULLS_LAST) - c = c.or(o.$field().isNull()); - - return c; + if (o.$nullOrdering() == NULLS_LAST) { + if (Tools.isVal1(s, v -> v.getValue() == null)) { + if (c instanceof QOM.Eq) + return o.$field().isNull(); + else if (c instanceof QOM.Gt) + return falseCondition(); + else + return o.$field().isNotNull(); + } + else + return c.or(o.$field().isNull()); + } + else if (o.$nullOrdering() == NULLS_FIRST) { + if (Tools.isVal1(s, v -> v.getValue() == null)) { + if (c instanceof QOM.Eq) + return o.$field().isNull(); + else if (c instanceof QOM.Gt) + return o.$field().isNotNull(); + else + return falseCondition(); + } + else + return c; + } + else + return c; }