[#6312] Document DISTINCT predicate emulation using INTERSECT

This commit is contained in:
lukaseder 2017-06-05 21:47:49 +02:00
parent 7c3a77a509
commit 879e28dfb7

View File

@ -1058,6 +1058,12 @@ public interface Field<T> extends SelectField<T>, GroupField, FieldOrRow {
* In {@link SQLDialect#SQLITE}, this can be emulated through
* <code><pre>[this] IS NOT [value]</pre></code>
* <p>
* In databases that support <code>INTERSECT</code> (see
* {@link Select#intersect(Select)}, this predicate can be emulated as
* follows: <code><pre>
* NOT EXISTS (SELECT [this] INTERSECT SELECT [value])
* </pre></code>
* <p>
* If this is not supported by the underlying database, jOOQ will render
* this instead: <code><pre>
* CASE WHEN [this] IS NULL AND [value] IS NULL THEN FALSE
@ -1081,6 +1087,12 @@ public interface Field<T> extends SelectField<T>, GroupField, FieldOrRow {
* In {@link SQLDialect#SQLITE}, this can be emulated through
* <code><pre>[this] IS NOT [value]</pre></code>
* <p>
* In databases that support <code>INTERSECT</code> (see
* {@link Select#intersect(Select)}, this predicate can be emulated as
* follows: <code><pre>
* NOT EXISTS (SELECT [this] INTERSECT SELECT [value])
* </pre></code>
* <p>
* If this is not supported by the underlying database, jOOQ will render
* this instead: <code><pre>
* CASE WHEN [this] IS NULL AND [field] IS NULL THEN FALSE
@ -1104,6 +1116,12 @@ public interface Field<T> extends SelectField<T>, GroupField, FieldOrRow {
* In {@link SQLDialect#SQLITE}, this can be emulated through
* <code><pre>[this] IS [value]</pre></code>
* <p>
* In databases that support <code>INTERSECT</code> (see
* {@link Select#intersect(Select)}, this predicate can be emulated as
* follows: <code><pre>
* EXISTS (SELECT [this] INTERSECT SELECT [value])
* </pre></code>
* <p>
* If this is not supported by the underlying database, jOOQ will render
* this instead: <code><pre>
* CASE WHEN [this] IS NULL AND [value] IS NULL THEN TRUE
@ -1127,6 +1145,12 @@ public interface Field<T> extends SelectField<T>, GroupField, FieldOrRow {
* In {@link SQLDialect#SQLITE}, this can be emulated through
* <code><pre>[this] IS [value]</pre></code>
* <p>
* In databases that support <code>INTERSECT</code> (see
* {@link Select#intersect(Select)}, this predicate can be emulated as
* follows: <code><pre>
* EXISTS (SELECT [this] INTERSECT SELECT [value])
* </pre></code>
* <p>
* If this is not supported by the underlying database, jOOQ will render
* this instead: <code><pre>
* CASE WHEN [this] IS NULL AND [field] IS NULL THEN TRUE