[jOOQ/jOOQ#10178] Add RowN.is[Not]DistinctFrom(Select)

This commit is contained in:
Lukas Eder 2020-05-11 15:08:44 +02:00
parent fdd1b6b647
commit 483a0e2a51
47 changed files with 616 additions and 43 deletions

View File

@ -477,6 +477,13 @@ public interface Row1<T1> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record1<T1>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -505,6 +512,13 @@ public interface Row1<T1> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record1<T1>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -522,6 +522,13 @@ public interface Row10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -550,6 +557,13 @@ public interface Row10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -527,6 +527,13 @@ public interface Row11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends Row
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -555,6 +562,13 @@ public interface Row11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends Row
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -532,6 +532,13 @@ public interface Row12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extend
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -560,6 +567,13 @@ public interface Row12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extend
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -537,6 +537,13 @@ public interface Row13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> e
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -565,6 +572,13 @@ public interface Row13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> e
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -542,6 +542,13 @@ public interface Row14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -570,6 +577,13 @@ public interface Row14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -547,6 +547,13 @@ public interface Row15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -575,6 +582,13 @@ public interface Row15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -552,6 +552,13 @@ public interface Row16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -580,6 +587,13 @@ public interface Row16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -557,6 +557,13 @@ public interface Row17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -585,6 +592,13 @@ public interface Row17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -562,6 +562,13 @@ public interface Row18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -590,6 +597,13 @@ public interface Row18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -567,6 +567,13 @@ public interface Row19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -595,6 +602,13 @@ public interface Row19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -482,6 +482,13 @@ public interface Row2<T1, T2> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record2<T1, T2>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -510,6 +517,13 @@ public interface Row2<T1, T2> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record2<T1, T2>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -572,6 +572,13 @@ public interface Row20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -600,6 +607,13 @@ public interface Row20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -577,6 +577,13 @@ public interface Row21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20, Field<T21> t21);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -605,6 +612,13 @@ public interface Row21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20, Field<T21> t21);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -582,6 +582,13 @@ public interface Row22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20, Field<T21> t21, Field<T22> t22);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -610,6 +617,13 @@ public interface Row22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20, Field<T21> t21, Field<T22> t22);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -487,6 +487,13 @@ public interface Row3<T1, T2, T3> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record3<T1, T2, T3>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -515,6 +522,13 @@ public interface Row3<T1, T2, T3> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record3<T1, T2, T3>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -492,6 +492,13 @@ public interface Row4<T1, T2, T3, T4> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record4<T1, T2, T3, T4>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -520,6 +527,13 @@ public interface Row4<T1, T2, T3, T4> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record4<T1, T2, T3, T4>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -497,6 +497,13 @@ public interface Row5<T1, T2, T3, T4, T5> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record5<T1, T2, T3, T4, T5>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -525,6 +532,13 @@ public interface Row5<T1, T2, T3, T4, T5> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record5<T1, T2, T3, T4, T5>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -502,6 +502,13 @@ public interface Row6<T1, T2, T3, T4, T5, T6> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -530,6 +537,13 @@ public interface Row6<T1, T2, T3, T4, T5, T6> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -507,6 +507,13 @@ public interface Row7<T1, T2, T3, T4, T5, T6, T7> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -535,6 +542,13 @@ public interface Row7<T1, T2, T3, T4, T5, T6, T7> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -512,6 +512,13 @@ public interface Row8<T1, T2, T3, T4, T5, T6, T7, T8> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -540,6 +547,13 @@ public interface Row8<T1, T2, T3, T4, T5, T6, T7, T8> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -517,6 +517,13 @@ public interface Row9<T1, T2, T3, T4, T5, T6, T7, T8, T9> extends Row {
@Support
Condition isDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -545,6 +552,13 @@ public interface Row9<T1, T2, T3, T4, T5, T6, T7, T8, T9> extends Row {
@Support
Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -468,6 +468,13 @@ public interface RowN extends Row {
@Support
Condition isDistinctFrom(Field<?>... values);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isDistinctFrom(Select<? extends Record> select);
/**
* Compare this row value expression with another row value expression for
* distinctness.
@ -496,6 +503,13 @@ public interface RowN extends Row {
@Support
Condition isNotDistinctFrom(Field<?>... values);
/**
* Compare this row value expression with another row value expression for
* distinctness.
*/
@Support
Condition isNotDistinctFrom(Select<? extends Record> select);
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------

View File

@ -510,6 +510,11 @@ final class RowImpl1<T1> extends AbstractRow implements Row1<T1> {
return isNotDistinctFrom(row(t1));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record1<T1>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row1<T1> row) {
return new RowIsDistinctFrom(this, row, false);
@ -530,6 +535,11 @@ final class RowImpl1<T1> extends AbstractRow implements Row1<T1> {
return isDistinctFrom(row(t1));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record1<T1>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -555,6 +555,11 @@ final class RowImpl10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends AbstractR
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> row) {
return new RowIsDistinctFrom(this, row, false);
@ -575,6 +580,11 @@ final class RowImpl10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends AbstractR
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -560,6 +560,11 @@ final class RowImpl11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends Abst
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> row) {
return new RowIsDistinctFrom(this, row, false);
@ -580,6 +585,11 @@ final class RowImpl11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends Abst
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -565,6 +565,11 @@ final class RowImpl12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extends
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> row) {
return new RowIsDistinctFrom(this, row, false);
@ -585,6 +590,11 @@ final class RowImpl12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extends
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -570,6 +570,11 @@ final class RowImpl13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ex
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> row) {
return new RowIsDistinctFrom(this, row, false);
@ -590,6 +595,11 @@ final class RowImpl13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ex
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -575,6 +575,11 @@ final class RowImpl14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> row) {
return new RowIsDistinctFrom(this, row, false);
@ -595,6 +600,11 @@ final class RowImpl14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -580,6 +580,11 @@ final class RowImpl15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> row) {
return new RowIsDistinctFrom(this, row, false);
@ -600,6 +605,11 @@ final class RowImpl15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -585,6 +585,11 @@ final class RowImpl16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> row) {
return new RowIsDistinctFrom(this, row, false);
@ -605,6 +610,11 @@ final class RowImpl16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -590,6 +590,11 @@ final class RowImpl17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> row) {
return new RowIsDistinctFrom(this, row, false);
@ -610,6 +615,11 @@ final class RowImpl17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -595,6 +595,11 @@ final class RowImpl18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> row) {
return new RowIsDistinctFrom(this, row, false);
@ -615,6 +620,11 @@ final class RowImpl18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -600,6 +600,11 @@ final class RowImpl19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> row) {
return new RowIsDistinctFrom(this, row, false);
@ -620,6 +625,11 @@ final class RowImpl19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -515,6 +515,11 @@ final class RowImpl2<T1, T2> extends AbstractRow implements Row2<T1, T2> {
return isNotDistinctFrom(row(t1, t2));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record2<T1, T2>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row2<T1, T2> row) {
return new RowIsDistinctFrom(this, row, false);
@ -535,6 +540,11 @@ final class RowImpl2<T1, T2> extends AbstractRow implements Row2<T1, T2> {
return isDistinctFrom(row(t1, t2));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record2<T1, T2>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -605,6 +605,11 @@ final class RowImpl20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> row) {
return new RowIsDistinctFrom(this, row, false);
@ -625,6 +630,11 @@ final class RowImpl20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -610,6 +610,11 @@ final class RowImpl21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> row) {
return new RowIsDistinctFrom(this, row, false);
@ -630,6 +635,11 @@ final class RowImpl21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -615,6 +615,11 @@ final class RowImpl22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> row) {
return new RowIsDistinctFrom(this, row, false);
@ -635,6 +640,11 @@ final class RowImpl22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T1
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -520,6 +520,11 @@ final class RowImpl3<T1, T2, T3> extends AbstractRow implements Row3<T1, T2, T3>
return isNotDistinctFrom(row(t1, t2, t3));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record3<T1, T2, T3>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row3<T1, T2, T3> row) {
return new RowIsDistinctFrom(this, row, false);
@ -540,6 +545,11 @@ final class RowImpl3<T1, T2, T3> extends AbstractRow implements Row3<T1, T2, T3>
return isDistinctFrom(row(t1, t2, t3));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record3<T1, T2, T3>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -525,6 +525,11 @@ final class RowImpl4<T1, T2, T3, T4> extends AbstractRow implements Row4<T1, T2,
return isNotDistinctFrom(row(t1, t2, t3, t4));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record4<T1, T2, T3, T4>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row4<T1, T2, T3, T4> row) {
return new RowIsDistinctFrom(this, row, false);
@ -545,6 +550,11 @@ final class RowImpl4<T1, T2, T3, T4> extends AbstractRow implements Row4<T1, T2,
return isDistinctFrom(row(t1, t2, t3, t4));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record4<T1, T2, T3, T4>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -530,6 +530,11 @@ final class RowImpl5<T1, T2, T3, T4, T5> extends AbstractRow implements Row5<T1,
return isNotDistinctFrom(row(t1, t2, t3, t4, t5));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record5<T1, T2, T3, T4, T5>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row5<T1, T2, T3, T4, T5> row) {
return new RowIsDistinctFrom(this, row, false);
@ -550,6 +555,11 @@ final class RowImpl5<T1, T2, T3, T4, T5> extends AbstractRow implements Row5<T1,
return isDistinctFrom(row(t1, t2, t3, t4, t5));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record5<T1, T2, T3, T4, T5>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -535,6 +535,11 @@ final class RowImpl6<T1, T2, T3, T4, T5, T6> extends AbstractRow implements Row6
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row6<T1, T2, T3, T4, T5, T6> row) {
return new RowIsDistinctFrom(this, row, false);
@ -555,6 +560,11 @@ final class RowImpl6<T1, T2, T3, T4, T5, T6> extends AbstractRow implements Row6
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record6<T1, T2, T3, T4, T5, T6>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -540,6 +540,11 @@ final class RowImpl7<T1, T2, T3, T4, T5, T6, T7> extends AbstractRow implements
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row7<T1, T2, T3, T4, T5, T6, T7> row) {
return new RowIsDistinctFrom(this, row, false);
@ -560,6 +565,11 @@ final class RowImpl7<T1, T2, T3, T4, T5, T6, T7> extends AbstractRow implements
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record7<T1, T2, T3, T4, T5, T6, T7>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -545,6 +545,11 @@ final class RowImpl8<T1, T2, T3, T4, T5, T6, T7, T8> extends AbstractRow impleme
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row8<T1, T2, T3, T4, T5, T6, T7, T8> row) {
return new RowIsDistinctFrom(this, row, false);
@ -565,6 +570,11 @@ final class RowImpl8<T1, T2, T3, T4, T5, T6, T7, T8> extends AbstractRow impleme
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record8<T1, T2, T3, T4, T5, T6, T7, T8>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -550,6 +550,11 @@ final class RowImpl9<T1, T2, T3, T4, T5, T6, T7, T8, T9> extends AbstractRow imp
return isNotDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row9<T1, T2, T3, T4, T5, T6, T7, T8, T9> row) {
return new RowIsDistinctFrom(this, row, false);
@ -570,6 +575,11 @@ final class RowImpl9<T1, T2, T3, T4, T5, T6, T7, T8, T9> extends AbstractRow imp
return isDistinctFrom(row(t1, t2, t3, t4, t5, t6, t7, t8, t9));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record9<T1, T2, T3, T4, T5, T6, T7, T8, T9>> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -507,6 +507,11 @@ final class RowImplN extends AbstractRow implements RowN {
return isNotDistinctFrom(row(values));
}
@Override
public final Condition isNotDistinctFrom(Select<? extends Record> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(RowN row) {
return new RowIsDistinctFrom(this, row, false);
@ -527,6 +532,11 @@ final class RowImplN extends AbstractRow implements RowN {
return isDistinctFrom(row(values));
}
@Override
public final Condition isDistinctFrom(Select<? extends Record> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------

View File

@ -58,19 +58,20 @@ import static org.jooq.SQLDialect.SQLITE;
// ...
// ...
// ...
import static org.jooq.impl.DSL.condition;
import static org.jooq.impl.DSL.exists;
import static org.jooq.impl.DSL.notExists;
import static org.jooq.impl.DSL.select;
import static org.jooq.impl.Keywords.K_IS;
import static org.jooq.impl.Keywords.K_NOT;
import java.util.Set;
import org.jooq.Clause;
import org.jooq.Configuration;
import org.jooq.Context;
import org.jooq.QueryPartInternal;
import org.jooq.Record;
import org.jooq.Row;
import org.jooq.SQLDialect;
import org.jooq.Select;
/**
* @author Lukas Eder
@ -85,16 +86,21 @@ final class RowIsDistinctFrom extends AbstractCondition {
private static final Set<SQLDialect> SUPPORT_DISTINCT_WITH_ARROW = SQLDialect.supportedBy(MARIADB, MYSQL);
private final Row lhs;
private final Row rhs;
private final Row rhsRow;
private final Select<?> rhsSelect;
private final boolean not;
private transient QueryPartInternal mySQLCondition;
private transient QueryPartInternal sqliteCondition;
private transient QueryPartInternal compareCondition;
RowIsDistinctFrom(Row lhs, Row rhs, boolean not) {
this.lhs = lhs;
this.rhs = rhs;
this.rhsRow = rhs;
this.rhsSelect = null;
this.not = not;
}
RowIsDistinctFrom(Row lhs, Select<?> rhs, boolean not) {
this.lhs = lhs;
this.rhsRow = null;
this.rhsSelect = rhs;
this.not = not;
}
@ -105,48 +111,58 @@ final class RowIsDistinctFrom extends AbstractCondition {
@Override
public final void accept(Context<?> ctx) {
ctx.visit(delegate(ctx.configuration()));
}
@Override // Avoid AbstractCondition implementation
public final Clause[] clauses(Context<?> ctx) {
return null;
}
/**
* Get a delegate <code>CompareCondition</code>, in case the context
* {@link SQLDialect} natively supports the <code>IS DISTINCT FROM</code>
* clause.
*/
private final QueryPartInternal delegate(Configuration configuration) {
// [#3511] These dialects need to emulate the IS DISTINCT FROM predicate,
// optimally using INTERSECT...
// [#7222] [#7224] Make sure the columns are aliased
if (EMULATE_DISTINCT_PREDICATE.contains(configuration.family())) {
return not
? (QueryPartInternal) exists(select(lhs.fields()).intersect(select(rhs.fields())))
: (QueryPartInternal) notExists(select(lhs.fields()).intersect(select(rhs.fields())));
if (EMULATE_DISTINCT_PREDICATE.contains(ctx.family())) {
Select<Record> intersect = select(lhs.fields()).intersect(rhsSelect != null ? rhsSelect : select(rhsRow.fields()));
ctx.visit(not ? exists(intersect) : notExists(intersect));
}
// MySQL knows the <=> operator
else if (SUPPORT_DISTINCT_WITH_ARROW.contains(configuration.family())) {
if (mySQLCondition == null)
mySQLCondition = (QueryPartInternal) (not
? condition("{0} <=> {1}", lhs, rhs)
: condition("{not}({0} <=> {1})", lhs, rhs));
else if (SUPPORT_DISTINCT_WITH_ARROW.contains(ctx.family())) {
if (!not)
ctx.visit(K_NOT).sql('(');
return mySQLCondition;
ctx.visit(lhs).sql(" <=> ");
if (rhsRow != null)
ctx.visit(rhsRow);
else
ctx.sql('(')
.subquery(true)
.formatIndentStart()
.formatNewLine()
.visit(rhsSelect)
.formatIndentEnd()
.formatNewLine()
.subquery(false)
.sql(')');
if (!not)
ctx.sql(')');
}
// SQLite knows the IS / IS NOT predicate
else if (SQLITE == configuration.family()) {
if (sqliteCondition == null)
sqliteCondition = (QueryPartInternal) (not
? condition("{0} {is} {1}", lhs, rhs)
: condition("{0} {is not} {1}", lhs, rhs));
else if (SQLITE == ctx.family()) {
ctx.visit(lhs).sql(' ').visit(K_IS).sql(' ');
return sqliteCondition;
if (!not)
ctx.visit(K_NOT).sql(' ');
if (rhsRow != null)
ctx.visit(rhsRow);
else
ctx.sql('(')
.subquery(true)
.formatIndentStart()
.formatNewLine()
.visit(rhsSelect)
.formatIndentEnd()
.formatNewLine()
.subquery(false)
.sql(')');
}
@ -166,10 +182,15 @@ final class RowIsDistinctFrom extends AbstractCondition {
// These dialects natively support the IS DISTINCT FROM predicate:
// H2, Postgres
else {
if (compareCondition == null)
compareCondition = new RowCondition(lhs, rhs, not ? IS_NOT_DISTINCT_FROM : IS_DISTINCT_FROM);
return compareCondition;
ctx.visit(rhsRow != null
? new RowCondition(lhs, rhsRow, not ? IS_NOT_DISTINCT_FROM : IS_DISTINCT_FROM)
: new RowSubqueryCondition(lhs, rhsSelect, not ? IS_NOT_DISTINCT_FROM : IS_DISTINCT_FROM)
);
}
}
@Override // Avoid AbstractCondition implementation
public final Clause[] clauses(Context<?> ctx) {
return null;
}
}