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

org.jooq.RowN Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2009-2016, Data Geekery GmbH (http://www.datageekery.com)
 * All rights reserved.
 *
 * 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 N > 22.
 * 

* 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 RowN extends Row { // ------------------------------------------------------------------------ // 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(RowN) * @see #notEqual(RowN) * @see #lessThan(RowN) * @see #lessOrEqual(RowN) * @see #greaterThan(RowN) * @see #greaterOrEqual(RowN) */ @Support Condition compare(Comparator comparator, RowN 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(Record) * @see #notEqual(Record) * @see #lessThan(Record) * @see #lessOrEqual(Record) * @see #greaterThan(Record) * @see #greaterOrEqual(Record) */ @Support Condition compare(Comparator comparator, Record 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(RowN) * @see #notEqual(RowN) * @see #lessThan(RowN) * @see #lessOrEqual(RowN) * @see #greaterThan(RowN) * @see #greaterOrEqual(RowN) */ @Support Condition compare(Comparator comparator, Object... values); /** * 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(RowN) * @see #notEqual(RowN) * @see #lessThan(RowN) * @see #lessOrEqual(RowN) * @see #greaterThan(RowN) * @see #greaterOrEqual(RowN) */ @Support Condition compare(Comparator comparator, Field... values); /** * 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(RowN row); /** * Compare this row value expression with a record for equality. * * @see #equal(RowN) */ @Support Condition equal(Record record); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(RowN) */ @Support Condition equal(Object... values); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(RowN) */ @Support Condition equal(Field... values); /** * Compare this row value expression with a subselect for equality. * * @see #equal(RowN) */ @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(RowN) */ @Support Condition eq(RowN row); /** * Compare this row value expression with a record for equality. * * @see #equal(RowN) */ @Support Condition eq(Record record); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(RowN) */ @Support Condition eq(Object... values); /** * Compare this row value expression with another row value expression for * equality. * * @see #equal(RowN) */ @Support Condition eq(Field... values); /** * Compare this row value expression with a subselect for equality. * * @see #equal(RowN) */ @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(RowN row); /** * Compare this row value expression with a record for non-equality * * @see #notEqual(RowN) */ @Support Condition notEqual(Record record); /** * Compare this row value expression with another row value expression for. * non-equality * * @see #notEqual(RowN) */ @Support Condition notEqual(Object... values); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(RowN) */ @Support Condition notEqual(Field... values); /** * Compare this row value expression with a subselect for non-equality. * * @see #notEqual(RowN) */ @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(RowN) */ @Support Condition ne(RowN row); /** * Compare this row value expression with a record for non-equality. * * @see #notEqual(RowN) */ @Support Condition ne(Record record); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(RowN) */ @Support Condition ne(Object... values); /** * Compare this row value expression with another row value expression for * non-equality. * * @see #notEqual(RowN) */ @Support Condition ne(Field... values); /** * Compare this row value expression with a subselect for non-equality. * * @see #notEqual(RowN) */ @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(RowN row); /** * Compare this row value expression with a record for order. * * @see #lessThan(RowN) */ @Support Condition lessThan(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(RowN) */ @Support Condition lessThan(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(RowN) */ @Support Condition lessThan(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #lessThan(RowN) */ @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(RowN) */ @Support Condition lt(RowN row); /** * Compare this row value expression with a record for order. * * @see #lessThan(RowN) */ @Support Condition lt(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(RowN) */ @Support Condition lt(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #lessThan(RowN) */ @Support Condition lt(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #lessThan(RowN) */ @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(RowN row); /** * Compare this row value expression with a record for order. * * @see #lessOrEqual(RowN) */ @Support Condition lessOrEqual(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(RowN) */ @Support Condition lessOrEqual(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(RowN) */ @Support Condition lessOrEqual(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #lessOrEqual(RowN) */ @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(RowN) */ @Support Condition le(RowN row); /** * Compare this row value expression with a record for order. * * @see #lessOrEqual(RowN) */ @Support Condition le(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(RowN) */ @Support Condition le(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #lessOrEqual(RowN) */ @Support Condition le(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #lessOrEqual(RowN) */ @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(RowN row); /** * Compare this row value expression with a record for order. * * @see #greaterThan(RowN) */ @Support Condition greaterThan(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(RowN) */ @Support Condition greaterThan(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(RowN) */ @Support Condition greaterThan(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #greaterThan(RowN) */ @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(RowN) */ @Support Condition gt(RowN row); /** * Compare this row value expression with a record for order. * * @see #greaterThan(RowN) */ @Support Condition gt(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(RowN) */ @Support Condition gt(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterThan(RowN) */ @Support Condition gt(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #greaterThan(RowN) */ @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(RowN row); /** * Compare this row value expression with a record for order. * * @see #greaterOrEqual(RowN) */ @Support Condition greaterOrEqual(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(RowN) */ @Support Condition greaterOrEqual(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(RowN) */ @Support Condition greaterOrEqual(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #greaterOrEqual(RowN) */ @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(RowN) */ @Support Condition ge(RowN row); /** * Compare this row value expression with a record for order. * * @see #greaterOrEqual(RowN) */ @Support Condition ge(Record record); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(RowN) */ @Support Condition ge(Object... values); /** * Compare this row value expression with another row value expression for * order. * * @see #greaterOrEqual(RowN) */ @Support Condition ge(Field... values); /** * Compare this row value expression with a subselect for order. * * @see #greaterOrEqual(RowN) */ @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(RowN, RowN) */ @Support BetweenAndStepN between(Object... minValues); /** * Check if this row value expression is within a range of two other row * value expressions. * * @see #between(RowN, RowN) */ @Support BetweenAndStepN between(Field... minValues); /** * Check if this row value expression is within a range of two other row * value expressions. * * @see #between(RowN, RowN) */ @Support BetweenAndStepN between(RowN minValue); /** * Check if this row value expression is within a range of two records. * * @see #between(RowN, RowN) */ @Support BetweenAndStepN between(Record 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(RowN minValue, RowN 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(RowN, RowN) */ @Support Condition between(Record minValue, Record maxValue); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. * * @see #betweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN betweenSymmetric(Object... minValues); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. * * @see #betweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN betweenSymmetric(Field... minValues); /** * Check if this row value expression is within a symmetric range of two * other row value expressions. * * @see #betweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN betweenSymmetric(RowN minValue); /** * Check if this row value expression is within a symmetric range of two * records. * * @see #betweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN betweenSymmetric(Record 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(RowN minValue, RowN 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(RowN, RowN) */ @Support Condition betweenSymmetric(Record minValue, Record maxValue); /** * Check if this row value expression is not within a range of two other * row value expressions. * * @see #between(RowN, RowN) */ @Support BetweenAndStepN notBetween(Object... minValues); /** * Check if this row value expression is not within a range of two other * row value expressions. * * @see #notBetween(RowN, RowN) */ @Support BetweenAndStepN notBetween(Field... minValues); /** * Check if this row value expression is not within a range of two other * row value expressions. * * @see #notBetween(RowN, RowN) */ @Support BetweenAndStepN notBetween(RowN minValue); /** * Check if this row value expression is within a range of two records. * * @see #notBetween(RowN, RowN) */ @Support BetweenAndStepN notBetween(Record 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(RowN minValue, RowN 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(RowN, RowN) */ @Support Condition notBetween(Record minValue, Record maxValue); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. * * @see #notBetweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN notBetweenSymmetric(Object... minValues); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. * * @see #notBetweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN notBetweenSymmetric(Field... minValues); /** * Check if this row value expression is not within a symmetric range of two * other row value expressions. * * @see #notBetweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN notBetweenSymmetric(RowN minValue); /** * Check if this row value expression is not within a symmetric range of two * records. * * @see #notBetweenSymmetric(RowN, RowN) */ @Support BetweenAndStepN notBetweenSymmetric(Record 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(RowN minValue, RowN 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(RowN, RowN) */ @Support Condition notBetweenSymmetric(Record minValue, Record 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(RowN... 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(Record... 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(RowN... 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(Record... 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