[#1058] Add <T1, T2, .. TN> Factory.tuple(T1, T2, .. TN) and

Factory.tuple(Field<T1>, Field<T2> ... Field<TN>) to allow for creating
tuples - Pull up in(Select<?>) and notIn(Select<?>) methods
This commit is contained in:
Lukas Eder 2012-09-01 17:37:32 +02:00
parent 7b698497ec
commit 86121ae906
10 changed files with 68 additions and 243 deletions

View File

@ -35,6 +35,13 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
/**
* A model type for a tuple.
* <p>
@ -54,4 +61,65 @@ public interface Tuple extends QueryPart {
* Get a field at a given index
*/
Field<?> getField(int index);
// /**
// * Compare this tuple with a subselect for equality
// * <p>
// * Note that the subquery must return a table of the same degree as this
// * tuple. This is not checked by jOOQ and will result in syntax errors in
// * the database, if not used correctly.
// */
// @Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
// Condition equal(Select<?> select);
//
// /**
// * Compare this tuple with a subselect for equality
// * <p>
// * Note that the subquery must return a table of the same degree as this
// * tuple. This is not checked by jOOQ and will result in syntax errors in
// * the database, if not used correctly.
// */
// @Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
// Condition eq(Select<?> select);
//
// /**
// * Compare this tuple with a subselect for equality
// * <p>
// * Note that the subquery must return a table of the same degree as this
// * tuple. This is not checked by jOOQ and will result in syntax errors in
// * the database, if not used correctly.
// */
// @Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
// Condition notEqual(Select<?> select);
//
// /**
// * Compare this tuple with a subselect for equality
// * <p>
// * Note that the subquery must return a table of the same degree as this
// * tuple. This is not checked by jOOQ and will result in syntax errors in
// * the database, if not used correctly.
// */
// @Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
// Condition ne(Select<?> select);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a subselect for non-equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -223,16 +216,6 @@ public interface Tuple1<T1> extends Tuple {
@Support
Condition in(Tuple1<T1>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -256,14 +239,4 @@ public interface Tuple1<T1> extends Tuple {
*/
@Support
Condition notIn(Tuple1<T1>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -228,16 +221,6 @@ public interface Tuple2<T1, T2> extends Tuple {
@Support
Condition in(Tuple2<T1, T2>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -262,16 +245,6 @@ public interface Tuple2<T1, T2> extends Tuple {
@Support
Condition notIn(Tuple2<T1, T2>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
/**
* Check if this tuple overlaps another tuple
* <p>

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -233,16 +226,6 @@ public interface Tuple3<T1, T2, T3> extends Tuple {
@Support
Condition in(Tuple3<T1, T2, T3>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -266,14 +249,4 @@ public interface Tuple3<T1, T2, T3> extends Tuple {
*/
@Support
Condition notIn(Tuple3<T1, T2, T3>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -238,16 +231,6 @@ public interface Tuple4<T1, T2, T3, T4> extends Tuple {
@Support
Condition in(Tuple4<T1, T2, T3, T4>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -271,14 +254,4 @@ public interface Tuple4<T1, T2, T3, T4> extends Tuple {
*/
@Support
Condition notIn(Tuple4<T1, T2, T3, T4>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -243,16 +236,6 @@ public interface Tuple5<T1, T2, T3, T4, T5> extends Tuple {
@Support
Condition in(Tuple5<T1, T2, T3, T4, T5>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -276,14 +259,4 @@ public interface Tuple5<T1, T2, T3, T4, T5> extends Tuple {
*/
@Support
Condition notIn(Tuple5<T1, T2, T3, T4, T5>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -248,16 +241,6 @@ public interface Tuple6<T1, T2, T3, T4, T5, T6> extends Tuple {
@Support
Condition in(Tuple6<T1, T2, T3, T4, T5, T6>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -281,14 +264,4 @@ public interface Tuple6<T1, T2, T3, T4, T5, T6> extends Tuple {
*/
@Support
Condition notIn(Tuple6<T1, T2, T3, T4, T5, T6>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -253,16 +246,6 @@ public interface Tuple7<T1, T2, T3, T4, T5, T6, T7> extends Tuple {
@Support
Condition in(Tuple7<T1, T2, T3, T4, T5, T6, T7>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -286,14 +269,4 @@ public interface Tuple7<T1, T2, T3, T4, T5, T6, T7> extends Tuple {
*/
@Support
Condition notIn(Tuple7<T1, T2, T3, T4, T5, T6, T7>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -258,16 +251,6 @@ public interface Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> extends Tuple {
@Support
Condition in(Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -291,14 +274,4 @@ public interface Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> extends Tuple {
*/
@Support
Condition notIn(Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}

View File

@ -35,13 +35,6 @@
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import java.util.Collection;
/**
@ -210,16 +203,6 @@ public interface TupleN extends Tuple {
@Support
Condition in(TupleN... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition in(Select<?> select);
/**
* Compare this tuple with a set of tuples for equality
* <p>
@ -243,14 +226,4 @@ public interface TupleN extends Tuple {
*/
@Support
Condition notIn(TupleN... tuples);
/**
* Compare this tuple with a subselect for equality
* <p>
* Note that the subquery must return a table of the same degree as this
* tuple. This is not checked by jOOQ and will result in syntax errors in
* the database, if not used correctly.
*/
@Support({ CUBRID, DB2, HSQLDB, MYSQL, ORACLE, POSTGRES })
Condition notIn(Select<?> select);
}