All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jooq.Row4 Maven / Gradle / Ivy

There is a newer version: 3.19.9
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Other licenses:
 * -----------------------------------------------------------------------------
 * Commercial licenses for this work are available. These replace the above
 * ASL 2.0 and offer limited warranties, support, maintenance, and commercial
 * database integrations.
 *
 * For more information, please visit: http://www.jooq.org/licenses
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */
package org.jooq;

// ...
import static org.jooq.SQLDialect.CUBRID;
// ...
import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.H2;
// ...
import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.MARIADB;
import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
// ...
// ...
// ...

import org.jooq.Comparator;
import org.jooq.conf.Settings;
import org.jooq.impl.DSL;

import java.util.Collection;

import javax.annotation.Generated;

/**
 * A model type for a row value expression with degree 4.
 * 

* Note: Not all databases support row value expressions, but many row value * expression operations can be emulated on all databases. See relevant row * value expression method Javadocs for details. * * @author Lukas Eder */ @Generated("This class was generated using jOOQ-tools") public interface Row4 extends Row { // ------------------------------------------------------------------------ // Field accessors // ------------------------------------------------------------------------ /** * Get the first field. */ Field field1(); /** * Get the second field. */ Field field2(); /** * Get the third field. */ Field field3(); /** * Get the fourth field. */ Field field4(); // ------------------------------------------------------------------------ // Generic comparison predicates // ------------------------------------------------------------------------ /** * Compare this row value expression with another row value expression * using a dynamic comparator. *

* See the explicit comparison methods for details. Note, not all * {@link Comparator} types are supported * * @see #equal(Row4) * @see #notEqual(Row4) * @see #lessThan(Row4) * @see #lessOrEqual(Row4) * @see #greaterThan(Row4) * @see #greaterOrEqual(Row4) */ @Support Condition compare(Comparator comparator, Row4 row); /** * Compare this row value expression with a record * using a dynamic comparator. *

* See the explicit comparison methods for details. Note, not all * {@link Comparator} types are supported * * @see #equal(Record4) * @see #notEqual(Record4) * @see #lessThan(Record4) * @see #lessOrEqual(Record4) * @see #greaterThan(Record4) * @see #greaterOrEqual(Record4) */ @Support Condition compare(Comparator comparator, Record4 record); /** * Compare this row value expression with another row value expression * using a dynamic comparator. *

* See the explicit comparison methods for details. Note, not all * {@link Comparator} types are supported * * @see #equal(Row4) * @see #notEqual(Row4) * @see #lessThan(Row4) * @see #lessOrEqual(Row4) * @see #greaterThan(Row4) * @see #greaterOrEqual(Row4) */ @Support Condition compare(Comparator comparator, T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression * using a dynamic comparator. *

* See the explicit comparison methods for details. Note, not all * {@link Comparator} types are supported * * @see #equal(Row4) * @see #notEqual(Row4) * @see #lessThan(Row4) * @see #lessOrEqual(Row4) * @see #greaterThan(Row4) * @see #greaterOrEqual(Row4) */ @Support Condition compare(Comparator comparator, Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect * using a dynamic comparator. *

* See the explicit comparison methods for details. Note, not all * {@link Comparator} types are supported * * @see #equal(Select) * @see #notEqual(Select) * @see #lessThan(Select) * @see #lessOrEqual(Select) * @see #greaterThan(Select) * @see #greaterOrEqual(Select) */ @Support Condition compare(Comparator comparator, Select> select); /** * Compare this row value expression with a subselect * using a dynamic comparator. *

* See the explicit comparison methods for details. Note, not all * {@link Comparator} types are supported * * @see #equal(Select) * @see #notEqual(Select) * @see #lessThan(Select) * @see #lessOrEqual(Select) * @see #greaterThan(Select) * @see #greaterOrEqual(Select) */ @Support Condition compare(Comparator comparator, QuantifiedSelect> select); // ------------------------------------------------------------------------ // Equal / Not equal comparison predicates // ------------------------------------------------------------------------ /** * Compare this row value expression with another row value expression for * equality. *

* Row equality comparison predicates can be emulated in those databases * that do not support such predicates natively: * (A, B) = (1, 2) is equivalent to * A = 1 AND B = 2 */ @Support Condition equal(Row4 row); /** * Compare this row value expression with a record for equality. * * @see #equal(Row4) */ @Support Condition equal(Record4 record); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(Row4) */ @Support Condition equal(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(Row4) */ @Support Condition equal(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for equality. * * @see #equal(Row4) */ @Support Condition equal(Select> select); /** * Compare this row value expression with a subselect for equality. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition equal(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(Row4) */ @Support Condition eq(Row4 row); /** * Compare this row value expression with a record for equality. * * @see #equal(Row4) */ @Support Condition eq(Record4 record); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(Row4) */ @Support Condition eq(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(Row4) */ @Support Condition eq(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for equality. * * @see #equal(Row4) */ @Support Condition eq(Select> select); /** * Compare this row value expression with a subselect for equality. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition eq(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * non-equality. *

* Row non-equality comparison predicates can be emulated in those * databases that do not support such predicates natively: * (A, B) <> (1, 2) is equivalent to * NOT(A = 1 AND B = 2) */ @Support Condition notEqual(Row4 row); /** * Compare this row value expression with a record for non-equality * * @see #notEqual(Row4) */ @Support Condition notEqual(Record4 record); /** * Compare this row value expression with another row value expression for. * non-equality * * @see #notEqual(Row4) */ @Support Condition notEqual(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(Row4) */ @Support Condition notEqual(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for non-equality. * * @see #notEqual(Row4) */ @Support Condition notEqual(Select> select); /** * Compare this row value expression with a subselect for non-equality. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition notEqual(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(Row4) */ @Support Condition ne(Row4 row); /** * Compare this row value expression with a record for non-equality. * * @see #notEqual(Row4) */ @Support Condition ne(Record4 record); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(Row4) */ @Support Condition ne(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(Row4) */ @Support Condition ne(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for non-equality. * * @see #notEqual(Row4) */ @Support Condition ne(Select> select); /** * Compare this row value expression with a subselect for non-equality. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition ne(QuantifiedSelect> select); // ------------------------------------------------------------------------ // Ordering comparison predicates // ------------------------------------------------------------------------ /** * Compare this row value expression with another row value expression for * order. *

* Row order comparison predicates can be emulated in those * databases that do not support such predicates natively: * (A, B, C) < (1, 2, 3) is equivalent to * A < 1 OR (A = 1 AND B < 2) OR (A = 1 AND B = 2 AND C < 3) */ @Support Condition lessThan(Row4 row); /** * Compare this row value expression with a record for order. * * @see #lessThan(Row4) */ @Support Condition lessThan(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(Row4) */ @Support Condition lessThan(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(Row4) */ @Support Condition lessThan(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #lessThan(Row4) */ @Support Condition lessThan(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition lessThan(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(Row4) */ @Support Condition lt(Row4 row); /** * Compare this row value expression with a record for order. * * @see #lessThan(Row4) */ @Support Condition lt(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(Row4) */ @Support Condition lt(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(Row4) */ @Support Condition lt(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #lessThan(Row4) */ @Support Condition lt(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition lt(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. *

* Row order comparison predicates can be emulated in those * databases that do not support such predicates natively: * (A, B) <= (1, 2) is equivalent to * A < 1 OR (A = 1 AND B < 2) OR (A = 1 AND B = 2) */ @Support Condition lessOrEqual(Row4 row); /** * Compare this row value expression with a record for order. * * @see #lessOrEqual(Row4) */ @Support Condition lessOrEqual(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(Row4) */ @Support Condition lessOrEqual(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(Row4) */ @Support Condition lessOrEqual(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #lessOrEqual(Row4) */ @Support Condition lessOrEqual(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition lessOrEqual(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(Row4) */ @Support Condition le(Row4 row); /** * Compare this row value expression with a record for order. * * @see #lessOrEqual(Row4) */ @Support Condition le(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(Row4) */ @Support Condition le(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(Row4) */ @Support Condition le(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #lessOrEqual(Row4) */ @Support Condition le(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition le(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. *

* Row order comparison predicates can be emulated in those * databases that do not support such predicates natively: * (A, B, C) > (1, 2, 3) is equivalent to * A > 1 OR (A = 1 AND B > 2) OR (A = 1 AND B = 2 AND C > 3) */ @Support Condition greaterThan(Row4 row); /** * Compare this row value expression with a record for order. * * @see #greaterThan(Row4) */ @Support Condition greaterThan(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(Row4) */ @Support Condition greaterThan(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(Row4) */ @Support Condition greaterThan(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #greaterThan(Row4) */ @Support Condition greaterThan(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition greaterThan(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(Row4) */ @Support Condition gt(Row4 row); /** * Compare this row value expression with a record for order. * * @see #greaterThan(Row4) */ @Support Condition gt(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(Row4) */ @Support Condition gt(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(Row4) */ @Support Condition gt(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #greaterThan(Row4) */ @Support Condition gt(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition gt(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. *

* Row order comparison predicates can be emulated in those * databases that do not support such predicates natively: * (A, B) >= (1, 2) is equivalent to * A > 1 OR (A = 1 AND B > 2) OR (A = 1 AND B = 2) */ @Support Condition greaterOrEqual(Row4 row); /** * Compare this row value expression with a record for order. * * @see #greaterOrEqual(Row4) */ @Support Condition greaterOrEqual(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(Row4) */ @Support Condition greaterOrEqual(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(Row4) */ @Support Condition greaterOrEqual(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #greaterOrEqual(Row4) */ @Support Condition greaterOrEqual(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition greaterOrEqual(QuantifiedSelect> select); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(Row4) */ @Support Condition ge(Row4 row); /** * Compare this row value expression with a record for order. * * @see #greaterOrEqual(Row4) */ @Support Condition ge(Record4 record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(Row4) */ @Support Condition ge(T1 t1, T2 t2, T3 t3, T4 t4); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(Row4) */ @Support Condition ge(Field t1, Field t2, Field t3, Field t4); /** * Compare this row value expression with a subselect for order. * * @see #greaterOrEqual(Row4) */ @Support Condition ge(Select> select); /** * Compare this row value expression with a subselect for order. * * @see DSL#all(Field) * @see DSL#all(Select) * @see DSL#all(Object...) * @see DSL#any(Field) * @see DSL#any(Select) * @see DSL#any(Object...) */ @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) Condition ge(QuantifiedSelect> select); // ------------------------------------------------------------------------ // [NOT] BETWEEN predicates // ------------------------------------------------------------------------ /** * Check if this row value expression is within a range of two other row * value expressions. * * @see #between(Row4, Row4) */ @Support BetweenAndStep4 between(T1 minValue1, T2 minValue2, T3 minValue3, T4 minValue4); /** * Check if this row value expression is within a range of two other row * value expressions. * * @see #between(Row4, Row4) */ @Support BetweenAndStep4 between(Field minValue1, Field minValue2, Field minValue3, Field minValue4); /** * Check if this row value expression is within a range of two other row * value expressions. * * @see #between(Row4, Row4) */ @Support BetweenAndStep4 between(Row4 minValue); /** * Check if this row value expression is within a range of two records. * * @see #between(Row4, Row4) */ @Support BetweenAndStep4 between(Record4 minValue); /** * Check if this row value expression is within a range of two other row * value expressions. *

* This is the same as calling between(minValue).and(maxValue) *

* The expression A BETWEEN B AND C is equivalent to the * expression A >= B AND A <= C for those SQL dialects that do * not properly support the BETWEEN predicate for row value * expressions */ @Support Condition between(Row4 minValue, Row4 maxValue); /** * Check if this row value expression is within a range of two records. *

* This is the same as calling between(minValue).and(maxValue) * * @see #between(Row4, Row4) */ @Support Condition between(Record4 minValue, Record4 maxValue); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. * * @see #betweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 betweenSymmetric(T1 minValue1, T2 minValue2, T3 minValue3, T4 minValue4); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. * * @see #betweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 betweenSymmetric(Field minValue1, Field minValue2, Field minValue3, Field minValue4); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. * * @see #betweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 betweenSymmetric(Row4 minValue); /** * Check if this row value expression is within a symmetric range of two * records. * * @see #betweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 betweenSymmetric(Record4 minValue); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. *

* This is the same as calling betweenSymmetric(minValue).and(maxValue) *

* The expression A BETWEEN SYMMETRIC B AND C is equivalent to * the expression (A >= B AND A <= C) OR (A >= C AND A <= B) * for those SQL dialects that do not properly support the * BETWEEN predicate for row value expressions */ @Support Condition betweenSymmetric(Row4 minValue, Row4 maxValue); /** * Check if this row value expression is within a symmetric range of two * records. *

* This is the same as calling betweenSymmetric(minValue).and(maxValue) * * @see #betweenSymmetric(Row4, Row4) */ @Support Condition betweenSymmetric(Record4 minValue, Record4 maxValue); /** * Check if this row value expression is not within a range of two other * row value expressions. * * @see #between(Row4, Row4) */ @Support BetweenAndStep4 notBetween(T1 minValue1, T2 minValue2, T3 minValue3, T4 minValue4); /** * Check if this row value expression is not within a range of two other * row value expressions. * * @see #notBetween(Row4, Row4) */ @Support BetweenAndStep4 notBetween(Field minValue1, Field minValue2, Field minValue3, Field minValue4); /** * Check if this row value expression is not within a range of two other * row value expressions. * * @see #notBetween(Row4, Row4) */ @Support BetweenAndStep4 notBetween(Row4 minValue); /** * Check if this row value expression is within a range of two records. * * @see #notBetween(Row4, Row4) */ @Support BetweenAndStep4 notBetween(Record4 minValue); /** * Check if this row value expression is not within a range of two other * row value expressions. *

* This is the same as calling notBetween(minValue).and(maxValue) *

* The expression A NOT BETWEEN B AND C is equivalent to the * expression A < B OR A > C for those SQL dialects that do * not properly support the BETWEEN predicate for row value * expressions */ @Support Condition notBetween(Row4 minValue, Row4 maxValue); /** * Check if this row value expression is within a range of two records. *

* This is the same as calling notBetween(minValue).and(maxValue) * * @see #notBetween(Row4, Row4) */ @Support Condition notBetween(Record4 minValue, Record4 maxValue); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. * * @see #notBetweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 notBetweenSymmetric(T1 minValue1, T2 minValue2, T3 minValue3, T4 minValue4); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. * * @see #notBetweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 notBetweenSymmetric(Field minValue1, Field minValue2, Field minValue3, Field minValue4); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. * * @see #notBetweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 notBetweenSymmetric(Row4 minValue); /** * Check if this row value expression is not within a symmetric range of two * records. * * @see #notBetweenSymmetric(Row4, Row4) */ @Support BetweenAndStep4 notBetweenSymmetric(Record4 minValue); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. *

* This is the same as calling notBetweenSymmetric(minValue).and(maxValue) *

* The expression A NOT BETWEEN SYMMETRIC B AND C is equivalent * to the expression (A < B OR A > C) AND (A < C OR A > B) for * those SQL dialects that do not properly support the BETWEEN * predicate for row value expressions */ @Support Condition notBetweenSymmetric(Row4 minValue, Row4 maxValue); /** * Check if this row value expression is not within a symmetric range of two * records. *

* This is the same as calling notBetweenSymmetric(minValue).and(maxValue) * * @see #notBetweenSymmetric(Row4, Row4) */ @Support Condition notBetweenSymmetric(Record4 minValue, Record4 maxValue); // ------------------------------------------------------------------------ // [NOT] DISTINCT predicates // ------------------------------------------------------------------------ // ------------------------------------------------------------------------ // [NOT] IN predicates // ------------------------------------------------------------------------ /** * Compare this row value expression with a set of row value expressions for * equality. *

* Row IN predicates can be emulated in those databases that do not support * such predicates natively: (A, B) IN ((1, 2), (3, 4)) is * equivalent to ((A, B) = (1, 2)) OR ((A, B) = (3, 4)), which * is equivalent to (A = 1 AND B = 2) OR (A = 3 AND B = 4) *

* Note that generating dynamic SQL with arbitrary-length * IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • IN predicates on temporary tables
  • *
  • IN predicates on unnested array bind variables
  • *
*/ @Support Condition in(Collection> rows); /** * Compare this row value expression with a set of records for * equality. *

* Row IN predicates can be emulated in those databases that do not support * such predicates natively: (A, B) IN ((1, 2), (3, 4)) is * equivalent to ((A, B) = (1, 2)) OR ((A, B) = (3, 4)), which * is equivalent to (A = 1 AND B = 2) OR (A = 3 AND B = 4) *

* Note that generating dynamic SQL with arbitrary-length * IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • IN predicates on temporary tables
  • *
  • IN predicates on unnested array bind variables
  • *
*/ @Support Condition in(Result> result); /** * Compare this row value expression with a set of row value expressions for * equality. *

* Note that generating dynamic SQL with arbitrary-length * IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • IN predicates on temporary tables
  • *
  • IN predicates on unnested array bind variables
  • *
* * @see #in(Collection) */ @Support Condition in(Row4... rows); /** * Compare this row value expression with a set of records for equality. *

* Note that generating dynamic SQL with arbitrary-length * IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • IN predicates on temporary tables
  • *
  • IN predicates on unnested array bind variables
  • *
* * @see #in(Collection) */ @Support Condition in(Record4... record); /** * Compare this row value expression with a subselect for equality. * * @see #in(Collection) */ @Support Condition in(Select> select); /** * Compare this row value expression with a set of row value expressions for * equality. *

* Row NOT IN predicates can be emulated in those databases that do not * support such predicates natively: * (A, B) NOT IN ((1, 2), (3, 4)) is equivalent to * NOT(((A, B) = (1, 2)) OR ((A, B) = (3, 4))), which is * equivalent to NOT((A = 1 AND B = 2) OR (A = 3 AND B = 4)) *

* Note that generating dynamic SQL with arbitrary-length * NOT IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • NOT IN predicates on temporary tables
  • *
  • NOT IN predicates on unnested array bind variables
  • *
*/ @Support Condition notIn(Collection> rows); /** * Compare this row value expression with a set of records for * equality. *

* Row NOT IN predicates can be emulated in those databases that do not * support such predicates natively: * (A, B) NOT IN ((1, 2), (3, 4)) is equivalent to * NOT(((A, B) = (1, 2)) OR ((A, B) = (3, 4))), which is * equivalent to NOT((A = 1 AND B = 2) OR (A = 3 AND B = 4)) *

* Note that generating dynamic SQL with arbitrary-length * NOT IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • NOT IN predicates on temporary tables
  • *
  • NOT IN predicates on unnested array bind variables
  • *
*/ @Support Condition notIn(Result> result); /** * Compare this row value expression with a set of row value expressions for * equality. *

* Note that generating dynamic SQL with arbitrary-length * NOT IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • NOT IN predicates on temporary tables
  • *
  • NOT IN predicates on unnested array bind variables
  • *
* * @see #notIn(Collection) */ @Support Condition notIn(Row4... rows); /** * Compare this row value expression with a set of records for non-equality. *

* Note that generating dynamic SQL with arbitrary-length * NOT IN predicates can cause cursor cache contention in some * databases that use unique SQL strings as a statement identifier (e.g. * {@link SQLDialect#ORACLE}). In order to prevent such problems, you could * use {@link Settings#isInListPadding()} to produce less distinct SQL * strings (see also * [#5600]), or you * could avoid IN lists, and replace them with: *

    *
  • NOT IN predicates on temporary tables
  • *
  • NOT IN predicates on unnested array bind variables
  • *
* * @see #notIn(Collection) */ @Support Condition notIn(Record4... record); /** * Compare this row value expression with a subselect for non-equality. * * @see #notIn(Collection) */ @Support Condition notIn(Select> select); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy