[#6327] Add OrderField as a common super type of Field and SortField and accept that in ORDER BY clauses

This commit is contained in:
lukaseder 2017-06-06 14:31:31 +02:00
parent b8247bb3a3
commit 26e43cbe9a
42 changed files with 445 additions and 648 deletions

View File

@ -84,6 +84,7 @@ import org.jooq.Identity;
import org.jooq.Index;
// ...
import org.jooq.Name;
import org.jooq.OrderField;
import org.jooq.Package;
import org.jooq.Parameter;
import org.jooq.Record;
@ -857,12 +858,12 @@ public class JavaGenerator extends AbstractGenerator {
// (Name name, Table<?> table, SortField<?>[] sortFields, boolean unique)
String sortFieldSeparator = "";
StringBuilder sortFields = new StringBuilder();
StringBuilder orderFields = new StringBuilder();
for (IndexColumnDefinition column : index.getIndexColumns()) {
sortFields.append(sortFieldSeparator);
sortFields.append(out.ref(getStrategy().getFullJavaIdentifier(column.getColumn()), colRefSegments(null)));
sortFields.append(column.getSortOrder() == DESC ? ".desc()" : ".asc()");
orderFields.append(sortFieldSeparator);
orderFields.append(out.ref(getStrategy().getFullJavaIdentifier(column.getColumn()), colRefSegments(null)));
orderFields.append(column.getSortOrder() == DESC ? ".desc()" : "");
sortFieldSeparator = ", ";
}
@ -874,8 +875,8 @@ public class JavaGenerator extends AbstractGenerator {
AbstractKeys.class,
escapeString(index.getOutputName()),
out.ref(getStrategy().getFullJavaIdentifier(index.getTable()), 2),
SortField.class,
sortFields,
OrderField.class,
orderFields,
index.isUnique()
);
else
@ -884,8 +885,8 @@ public class JavaGenerator extends AbstractGenerator {
getStrategy().getJavaIdentifier(index),
escapeString(index.getOutputName()),
out.ref(getStrategy().getFullJavaIdentifier(index.getTable()), 2),
SortField.class,
sortFields,
OrderField.class,
orderFields,
index.isUnique()
);
}

View File

@ -0,0 +1,56 @@
/*
* This file is generated by jOOQ.
*/
package org.jooq.example.jpa.jooq;
import javax.annotation.Generated;
import org.jooq.Index;
import org.jooq.SortField;
import org.jooq.example.jpa.jooq.tables.Actor;
import org.jooq.example.jpa.jooq.tables.Film;
import org.jooq.example.jpa.jooq.tables.FilmActor;
import org.jooq.example.jpa.jooq.tables.Language;
import org.jooq.impl.AbstractKeys;
/**
* A class modelling indexes of tables of the <code>PUBLIC</code> schema.
*/
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.10.0"
},
comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Indexes {
// -------------------------------------------------------------------------
// INDEX definitions
// -------------------------------------------------------------------------
public static final Index PRIMARY_KEY_3 = Indexes0.PRIMARY_KEY_3;
public static final Index FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2 = Indexes0.FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2;
public static final Index FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2 = Indexes0.FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2;
public static final Index PRIMARY_KEY_2 = Indexes0.PRIMARY_KEY_2;
public static final Index FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7 = Indexes0.FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7;
public static final Index PRIMARY_KEY_7 = Indexes0.PRIMARY_KEY_7;
public static final Index PRIMARY_KEY_C = Indexes0.PRIMARY_KEY_C;
// -------------------------------------------------------------------------
// [#1459] distribute members to avoid static initialisers > 64kb
// -------------------------------------------------------------------------
private static class Indexes0 extends AbstractKeys {
public static Index PRIMARY_KEY_3 = createIndex("PRIMARY_KEY_3", Actor.ACTOR, new SortField[] { Actor.ACTOR.ACTORID.asc() }, true);
public static Index FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2 = createIndex("FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2", Film.FILM, new SortField[] { Film.FILM.LANGUAGE_LANGUAGEID.asc() }, false);
public static Index FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2 = createIndex("FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2", Film.FILM, new SortField[] { Film.FILM.ORIGINALLANGUAGE_LANGUAGEID.asc() }, false);
public static Index PRIMARY_KEY_2 = createIndex("PRIMARY_KEY_2", Film.FILM, new SortField[] { Film.FILM.FILMID.asc() }, true);
public static Index FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7 = createIndex("FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7", FilmActor.FILM_ACTOR, new SortField[] { FilmActor.FILM_ACTOR.ACTORS_ACTORID.asc() }, false);
public static Index PRIMARY_KEY_7 = createIndex("PRIMARY_KEY_7", FilmActor.FILM_ACTOR, new SortField[] { FilmActor.FILM_ACTOR.FILMS_FILMID.asc(), FilmActor.FILM_ACTOR.ACTORS_ACTORID.asc() }, true);
public static Index PRIMARY_KEY_C = createIndex("PRIMARY_KEY_C", Language.LANGUAGE, new SortField[] { Language.LANGUAGE.LANGUAGEID.asc() }, true);
}
}

View File

@ -21,8 +21,8 @@ import org.jooq.impl.AbstractKeys;
/**
* A class modelling foreign key relationships between tables of the <code>PUBLIC</code>
* schema
* A class modelling foreign key relationships and constraints of tables of
* the <code>PUBLIC</code> schema.
*/
@Generated(
value = {

View File

@ -33,7 +33,7 @@ import org.jooq.impl.SchemaImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Public extends SchemaImpl {
private static final long serialVersionUID = -674148129;
private static final long serialVersionUID = 2090254858;
/**
* The reference instance of <code>PUBLIC</code>
@ -85,9 +85,9 @@ public class Public extends SchemaImpl {
private final List<Sequence<?>> getSequences0() {
return Arrays.<Sequence<?>>asList(
Sequences.SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E,
Sequences.SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9,
Sequences.SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86);
Sequences.SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC,
Sequences.SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5,
Sequences.SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0);
}
@Override

View File

@ -24,17 +24,17 @@ import org.jooq.impl.SequenceImpl;
public class Sequences {
/**
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E</code>
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC</code>
*/
public static final Sequence<Long> SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E = new SequenceImpl<Long>("SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
public static final Sequence<Long> SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC = new SequenceImpl<Long>("SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
/**
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9</code>
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5</code>
*/
public static final Sequence<Long> SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9 = new SequenceImpl<Long>("SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
public static final Sequence<Long> SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5 = new SequenceImpl<Long>("SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
/**
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86</code>
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0</code>
*/
public static final Sequence<Long> SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86 = new SequenceImpl<Long>("SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
public static final Sequence<Long> SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0 = new SequenceImpl<Long>("SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
}

View File

@ -11,11 +11,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.jpa.jooq.Indexes;
import org.jooq.example.jpa.jooq.Keys;
import org.jooq.example.jpa.jooq.Public;
import org.jooq.example.jpa.jooq.tables.records.ActorRecord;
@ -36,7 +38,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Actor extends TableImpl<ActorRecord> {
private static final long serialVersionUID = 2019122349;
private static final long serialVersionUID = 953917007;
/**
* The reference instance of <code>PUBLIC.ACTOR</code>
@ -54,7 +56,7 @@ public class Actor extends TableImpl<ActorRecord> {
/**
* The column <code>PUBLIC.ACTOR.ACTORID</code>.
*/
public final TableField<ActorRecord, Integer> ACTORID = createField("ACTORID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
public final TableField<ActorRecord, Integer> ACTORID = createField("ACTORID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
/**
* The column <code>PUBLIC.ACTOR.FIRSTNAME</code>.
@ -103,6 +105,14 @@ public class Actor extends TableImpl<ActorRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_3);
}
/**
* {@inheritDoc}
*/

View File

@ -12,11 +12,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.jpa.jooq.Indexes;
import org.jooq.example.jpa.jooq.Keys;
import org.jooq.example.jpa.jooq.Public;
import org.jooq.example.jpa.jooq.tables.records.FilmRecord;
@ -37,7 +39,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Film extends TableImpl<FilmRecord> {
private static final long serialVersionUID = 1340097938;
private static final long serialVersionUID = -1430753716;
/**
* The reference instance of <code>PUBLIC.FILM</code>
@ -55,7 +57,7 @@ public class Film extends TableImpl<FilmRecord> {
/**
* The column <code>PUBLIC.FILM.FILMID</code>.
*/
public final TableField<FilmRecord, Integer> FILMID = createField("FILMID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
public final TableField<FilmRecord, Integer> FILMID = createField("FILMID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
/**
* The column <code>PUBLIC.FILM.LENGTH</code>.
@ -114,6 +116,14 @@ public class Film extends TableImpl<FilmRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2, Indexes.FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2, Indexes.PRIMARY_KEY_2);
}
/**
* {@inheritDoc}
*/

View File

@ -11,11 +11,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.jpa.jooq.Indexes;
import org.jooq.example.jpa.jooq.Keys;
import org.jooq.example.jpa.jooq.Public;
import org.jooq.example.jpa.jooq.tables.records.FilmActorRecord;
@ -36,7 +38,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class FilmActor extends TableImpl<FilmActorRecord> {
private static final long serialVersionUID = -1783014959;
private static final long serialVersionUID = 264847594;
/**
* The reference instance of <code>PUBLIC.FILM_ACTOR</code>
@ -98,6 +100,14 @@ public class FilmActor extends TableImpl<FilmActorRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7, Indexes.PRIMARY_KEY_7);
}
/**
* {@inheritDoc}
*/

View File

@ -11,11 +11,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.jpa.jooq.Indexes;
import org.jooq.example.jpa.jooq.Keys;
import org.jooq.example.jpa.jooq.Public;
import org.jooq.example.jpa.jooq.tables.records.LanguageRecord;
@ -36,7 +38,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Language extends TableImpl<LanguageRecord> {
private static final long serialVersionUID = -641241662;
private static final long serialVersionUID = -1952045324;
/**
* The reference instance of <code>PUBLIC.LANGUAGE</code>
@ -54,7 +56,7 @@ public class Language extends TableImpl<LanguageRecord> {
/**
* The column <code>PUBLIC.LANGUAGE.LANGUAGEID</code>.
*/
public final TableField<LanguageRecord, Integer> LANGUAGEID = createField("LANGUAGEID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
public final TableField<LanguageRecord, Integer> LANGUAGEID = createField("LANGUAGEID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
/**
* The column <code>PUBLIC.LANGUAGE.NAME</code>.
@ -98,6 +100,14 @@ public class Language extends TableImpl<LanguageRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_C);
}
/**
* {@inheritDoc}
*/

View File

@ -0,0 +1,56 @@
/*
* This file is generated by jOOQ.
*/
package org.jooq.example.db.h2;
import javax.annotation.Generated;
import org.jooq.Index;
import org.jooq.OrderField;
import org.jooq.example.db.h2.tables.Author;
import org.jooq.example.db.h2.tables.Book;
import org.jooq.example.db.h2.tables.BookStore;
import org.jooq.example.db.h2.tables.BookToBookStore;
import org.jooq.impl.AbstractKeys;
/**
* A class modelling indexes of tables of the <code>PUBLIC</code> schema.
*/
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.10.0"
},
comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Indexes {
// -------------------------------------------------------------------------
// INDEX definitions
// -------------------------------------------------------------------------
public static final Index PRIMARY_KEY_7 = Indexes0.PRIMARY_KEY_7;
public static final Index FK_T_BOOK_AUTHOR_ID_INDEX_1 = Indexes0.FK_T_BOOK_AUTHOR_ID_INDEX_1;
public static final Index FK_T_BOOK_CO_AUTHOR_ID_INDEX_1 = Indexes0.FK_T_BOOK_CO_AUTHOR_ID_INDEX_1;
public static final Index PRIMARY_KEY_1 = Indexes0.PRIMARY_KEY_1;
public static final Index PRIMARY_KEY_F = Indexes0.PRIMARY_KEY_F;
public static final Index FK_B2BS_B_ID_INDEX_2 = Indexes0.FK_B2BS_B_ID_INDEX_2;
public static final Index PRIMARY_KEY_2 = Indexes0.PRIMARY_KEY_2;
// -------------------------------------------------------------------------
// [#1459] distribute members to avoid static initialisers > 64kb
// -------------------------------------------------------------------------
private static class Indexes0 extends AbstractKeys {
public static Index PRIMARY_KEY_7 = createIndex("PRIMARY_KEY_7", Author.AUTHOR, new OrderField[] { Author.AUTHOR.ID }, true);
public static Index FK_T_BOOK_AUTHOR_ID_INDEX_1 = createIndex("FK_T_BOOK_AUTHOR_ID_INDEX_1", Book.BOOK, new OrderField[] { Book.BOOK.AUTHOR_ID }, false);
public static Index FK_T_BOOK_CO_AUTHOR_ID_INDEX_1 = createIndex("FK_T_BOOK_CO_AUTHOR_ID_INDEX_1", Book.BOOK, new OrderField[] { Book.BOOK.CO_AUTHOR_ID }, false);
public static Index PRIMARY_KEY_1 = createIndex("PRIMARY_KEY_1", Book.BOOK, new OrderField[] { Book.BOOK.ID }, true);
public static Index PRIMARY_KEY_F = createIndex("PRIMARY_KEY_F", BookStore.BOOK_STORE, new OrderField[] { BookStore.BOOK_STORE.NAME }, true);
public static Index FK_B2BS_B_ID_INDEX_2 = createIndex("FK_B2BS_B_ID_INDEX_2", BookToBookStore.BOOK_TO_BOOK_STORE, new OrderField[] { BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_ID }, false);
public static Index PRIMARY_KEY_2 = createIndex("PRIMARY_KEY_2", BookToBookStore.BOOK_TO_BOOK_STORE, new OrderField[] { BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_STORE_NAME, BookToBookStore.BOOK_TO_BOOK_STORE.BOOK_ID }, true);
}
}

View File

@ -21,8 +21,8 @@ import org.jooq.impl.AbstractKeys;
/**
* A class modelling foreign key relationships between tables of the <code>PUBLIC</code>
* schema
* A class modelling foreign key relationships and constraints of tables of
* the <code>PUBLIC</code> schema.
*/
@Generated(
value = {

View File

@ -33,7 +33,7 @@ import org.jooq.impl.SchemaImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Public extends SchemaImpl {
private static final long serialVersionUID = 553192922;
private static final long serialVersionUID = 1479776736;
/**
* The reference instance of <code>PUBLIC</code>
@ -85,8 +85,8 @@ public class Public extends SchemaImpl {
private final List<Sequence<?>> getSequences0() {
return Arrays.<Sequence<?>>asList(
Sequences.SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0,
Sequences.SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C,
Sequences.SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3,
Sequences.SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C,
Sequences.S_AUTHOR_ID,
Sequences.S_BOOK_ID);
}

View File

@ -24,14 +24,14 @@ import org.jooq.impl.SequenceImpl;
public class Sequences {
/**
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0</code>
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3</code>
*/
public static final Sequence<Long> SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0 = new SequenceImpl<Long>("SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
public static final Sequence<Long> SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3 = new SequenceImpl<Long>("SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
/**
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C</code>
* The sequence <code>PUBLIC.SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C</code>
*/
public static final Sequence<Long> SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C = new SequenceImpl<Long>("SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
public static final Sequence<Long> SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C = new SequenceImpl<Long>("SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
/**
* The sequence <code>PUBLIC.S_AUTHOR_ID</code>

View File

@ -12,11 +12,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.db.h2.Indexes;
import org.jooq.example.db.h2.Keys;
import org.jooq.example.db.h2.Public;
import org.jooq.example.db.h2.tables.records.AuthorRecord;
@ -37,7 +39,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Author extends TableImpl<AuthorRecord> {
private static final long serialVersionUID = 757596333;
private static final long serialVersionUID = -558423724;
/**
* The reference instance of <code>PUBLIC.AUTHOR</code>
@ -55,7 +57,7 @@ public class Author extends TableImpl<AuthorRecord> {
/**
* The column <code>PUBLIC.AUTHOR.ID</code>.
*/
public final TableField<AuthorRecord, Integer> ID = createField("ID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
public final TableField<AuthorRecord, Integer> ID = createField("ID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
/**
* The column <code>PUBLIC.AUTHOR.FIRST_NAME</code>.
@ -119,6 +121,14 @@ public class Author extends TableImpl<AuthorRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_7);
}
/**
* {@inheritDoc}
*/

View File

@ -13,11 +13,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.db.h2.Indexes;
import org.jooq.example.db.h2.Keys;
import org.jooq.example.db.h2.Public;
import org.jooq.example.db.h2.tables.records.BookRecord;
@ -38,7 +40,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Book extends TableImpl<BookRecord> {
private static final long serialVersionUID = -1407256897;
private static final long serialVersionUID = 126975315;
/**
* The reference instance of <code>PUBLIC.BOOK</code>
@ -56,7 +58,7 @@ public class Book extends TableImpl<BookRecord> {
/**
* The column <code>PUBLIC.BOOK.ID</code>.
*/
public final TableField<BookRecord, Integer> ID = createField("ID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
public final TableField<BookRecord, Integer> ID = createField("ID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("(NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
/**
* The column <code>PUBLIC.BOOK.AUTHOR_ID</code>.
@ -145,6 +147,14 @@ public class Book extends TableImpl<BookRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.FK_T_BOOK_AUTHOR_ID_INDEX_1, Indexes.FK_T_BOOK_CO_AUTHOR_ID_INDEX_1, Indexes.PRIMARY_KEY_1);
}
/**
* {@inheritDoc}
*/

View File

@ -10,11 +10,13 @@ import java.util.List;
import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.db.h2.Indexes;
import org.jooq.example.db.h2.Keys;
import org.jooq.example.db.h2.Public;
import org.jooq.example.db.h2.tables.records.BookStoreRecord;
@ -35,7 +37,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class BookStore extends TableImpl<BookStoreRecord> {
private static final long serialVersionUID = -598409034;
private static final long serialVersionUID = -1909450446;
/**
* The reference instance of <code>PUBLIC.BOOK_STORE</code>
@ -92,6 +94,14 @@ public class BookStore extends TableImpl<BookStoreRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_F);
}
/**
* {@inheritDoc}
*/

View File

@ -11,11 +11,13 @@ import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.example.db.h2.Indexes;
import org.jooq.example.db.h2.Keys;
import org.jooq.example.db.h2.Public;
import org.jooq.example.db.h2.tables.records.BookToBookStoreRecord;
@ -36,7 +38,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class BookToBookStore extends TableImpl<BookToBookStoreRecord> {
private static final long serialVersionUID = -1543000134;
private static final long serialVersionUID = 1712050974;
/**
* The reference instance of <code>PUBLIC.BOOK_TO_BOOK_STORE</code>
@ -103,6 +105,14 @@ public class BookToBookStore extends TableImpl<BookToBookStoreRecord> {
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.FK_B2BS_B_ID_INDEX_2, Indexes.PRIMARY_KEY_2);
}
/**
* {@inheritDoc}
*/

View File

@ -81,31 +81,6 @@ public interface AggregateFunction<T> extends AggregateFilterStep<T> {

View File

@ -54,17 +54,11 @@ public interface ArrayAggOrderByStep<T> extends AggregateFilterStep<T> {
* Add an <code>ORDER BY</code> clause to the function.
*/
@Support({ HSQLDB, POSTGRES })
AggregateFilterStep<T> orderBy(Field<?>... fields);
AggregateFilterStep<T> orderBy(OrderField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the function.
*/
@Support({ HSQLDB, POSTGRES })
AggregateFilterStep<T> orderBy(SortField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the function.
*/
@Support({ HSQLDB, POSTGRES })
AggregateFilterStep<T> orderBy(Collection<? extends SortField<?>> fields);
AggregateFilterStep<T> orderBy(Collection<? extends OrderField<?>> fields);
}

View File

@ -64,13 +64,7 @@ public interface CreateIndexStep {
* Specify the table and column expressions on which to create an index.
*/
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
CreateIndexWhereStep on(Table<?> table, SortField<?>... fields);
/**
* Specify the table and column expressions on which to create an index.
*/
@Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
CreateIndexWhereStep on(Table<?> table, Field<?>... fields);
CreateIndexWhereStep on(Table<?> table, OrderField<?>... fields);
/**
* Specify the table and column expressions on which to create an index.

View File

@ -76,7 +76,7 @@ import org.jooq.types.Interval;
* @param <T> The field type
* @author Lukas Eder
*/
public interface Field<T> extends SelectField<T>, GroupField, FieldOrRow {
public interface Field<T> extends SelectField<T>, GroupField, OrderField<T>, FieldOrRow {
// ------------------------------------------------------------------------
// API

View File

@ -62,17 +62,11 @@ public interface GroupConcatOrderByStep extends GroupConcatSeparatorStep {
* Add an <code>ORDER BY</code> clause to the function.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
GroupConcatSeparatorStep orderBy(Field<?>... fields);
GroupConcatSeparatorStep orderBy(OrderField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the function.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
GroupConcatSeparatorStep orderBy(SortField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the function.
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
GroupConcatSeparatorStep orderBy(Collection<? extends SortField<?>> fields);
GroupConcatSeparatorStep orderBy(Collection<? extends OrderField<?>> fields);
}

View File

@ -0,0 +1,46 @@
/*
* 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;
/**
* A <code>QueryPart</code> to be used exclusively in <code>ORDER BY</code>
* clauses.
*
* @author Lukas Eder
*/
public interface OrderField<T> extends QueryPart {
}

View File

@ -78,19 +78,12 @@ public interface OrderedAggregateFunction<T> {
* aggregate function
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
AggregateFilterStep<T> withinGroupOrderBy(Field<?>... fields);
AggregateFilterStep<T> withinGroupOrderBy(OrderField<?>... fields);
/**
* Add an <code>WITHIN GROUP (ORDER BY ..)</code> clause to the ordered
* aggregate function
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
AggregateFilterStep<T> withinGroupOrderBy(SortField<?>... fields);
/**
* Add an <code>WITHIN GROUP (ORDER BY ..)</code> clause to the ordered
* aggregate function
*/
@Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES })
AggregateFilterStep<T> withinGroupOrderBy(Collection<? extends SortField<?>> fields);
AggregateFilterStep<T> withinGroupOrderBy(Collection<? extends OrderField<?>> fields);
}

View File

@ -66,12 +66,5 @@ public interface OrderedAggregateFunctionOfDeferredType {
* aggregate function
*/
@Support({ POSTGRES_9_4 })
<T> AggregateFilterStep<T> withinGroupOrderBy(Field<T> field);
/**
* Add an <code>WITHIN GROUP (ORDER BY ..)</code> clause to the ordered
* aggregate function
*/
@Support({ POSTGRES_9_4 })
<T> AggregateFilterStep<T> withinGroupOrderBy(SortField<T> field);
<T> AggregateFilterStep<T> withinGroupOrderBy(OrderField<T> field);
}

View File

@ -86,340 +86,176 @@ import javax.annotation.Generated;
*/
public interface SelectOrderByStep<R extends Record> extends SelectLimitStep<R> {
// [jooq-tools] START [order-by-field-array]
// [jooq-tools] START [order-by-orderfield-array]
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1> SelectSeekStep1<R, T1> orderBy(Field<T1> field1);
<T1> SelectSeekStep1<R, T1> orderBy(OrderField<T1> field1);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2> SelectSeekStep2<R, T1, T2> orderBy(Field<T1> field1, Field<T2> field2);
<T1, T2> SelectSeekStep2<R, T1, T2> orderBy(OrderField<T1> field1, OrderField<T2> field2);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3> SelectSeekStep3<R, T1, T2, T3> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3);
<T1, T2, T3> SelectSeekStep3<R, T1, T2, T3> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4> SelectSeekStep4<R, T1, T2, T3, T4> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4);
<T1, T2, T3, T4> SelectSeekStep4<R, T1, T2, T3, T4> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5> SelectSeekStep5<R, T1, T2, T3, T4, T5> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5);
<T1, T2, T3, T4, T5> SelectSeekStep5<R, T1, T2, T3, T4, T5> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6> SelectSeekStep6<R, T1, T2, T3, T4, T5, T6> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6);
<T1, T2, T3, T4, T5, T6> SelectSeekStep6<R, T1, T2, T3, T4, T5, T6> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7> SelectSeekStep7<R, T1, T2, T3, T4, T5, T6, T7> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7);
<T1, T2, T3, T4, T5, T6, T7> SelectSeekStep7<R, T1, T2, T3, T4, T5, T6, T7> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8> SelectSeekStep8<R, T1, T2, T3, T4, T5, T6, T7, T8> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8);
<T1, T2, T3, T4, T5, T6, T7, T8> SelectSeekStep8<R, T1, T2, T3, T4, T5, T6, T7, T8> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9> SelectSeekStep9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9);
<T1, T2, T3, T4, T5, T6, T7, T8, T9> SelectSeekStep9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> SelectSeekStep10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> SelectSeekStep10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SelectSeekStep11<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SelectSeekStep11<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> SelectSeekStep12<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> SelectSeekStep12<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> SelectSeekStep13<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> SelectSeekStep13<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> SelectSeekStep14<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> SelectSeekStep14<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> SelectSeekStep15<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> SelectSeekStep15<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SelectSeekStep16<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SelectSeekStep16<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> SelectSeekStep17<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> SelectSeekStep17<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16, OrderField<T17> field17);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> SelectSeekStep18<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> SelectSeekStep18<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16, OrderField<T17> field17, OrderField<T18> field18);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> SelectSeekStep19<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> SelectSeekStep19<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16, OrderField<T17> field17, OrderField<T18> field18, OrderField<T19> field19);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> SelectSeekStep20<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> SelectSeekStep20<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16, OrderField<T17> field17, OrderField<T18> field18, OrderField<T19> field19, OrderField<T20> field20);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> SelectSeekStep21<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> SelectSeekStep21<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16, OrderField<T17> field17, OrderField<T18> field18, OrderField<T19> field19, OrderField<T20> field20, OrderField<T21> field21);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> SelectSeekStep22<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> orderBy(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22);
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> SelectSeekStep22<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> orderBy(OrderField<T1> field1, OrderField<T2> field2, OrderField<T3> field3, OrderField<T4> field4, OrderField<T5> field5, OrderField<T6> field6, OrderField<T7> field7, OrderField<T8> field8, OrderField<T9> field9, OrderField<T10> field10, OrderField<T11> field11, OrderField<T12> field12, OrderField<T13> field13, OrderField<T14> field14, OrderField<T15> field15, OrderField<T16> field16, OrderField<T17> field17, OrderField<T18> field18, OrderField<T19> field19, OrderField<T20> field20, OrderField<T21> field21, OrderField<T22> field22);
// [jooq-tools] END [order-by-field-array]
/**
* Add an <code>ORDER BY</code> clause to the query
*/
@Support
SelectSeekStepN<R> orderBy(Field<?>... fields);
// [jooq-tools] START [order-by-sortfield-array]
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1> SelectSeekStep1<R, T1> orderBy(SortField<T1> field1);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2> SelectSeekStep2<R, T1, T2> orderBy(SortField<T1> field1, SortField<T2> field2);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3> SelectSeekStep3<R, T1, T2, T3> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4> SelectSeekStep4<R, T1, T2, T3, T4> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5> SelectSeekStep5<R, T1, T2, T3, T4, T5> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6> SelectSeekStep6<R, T1, T2, T3, T4, T5, T6> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7> SelectSeekStep7<R, T1, T2, T3, T4, T5, T6, T7> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8> SelectSeekStep8<R, T1, T2, T3, T4, T5, T6, T7, T8> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9> SelectSeekStep9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> SelectSeekStep10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SelectSeekStep11<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> SelectSeekStep12<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> SelectSeekStep13<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> SelectSeekStep14<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> SelectSeekStep15<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> SelectSeekStep16<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> SelectSeekStep17<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16, SortField<T17> field17);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> SelectSeekStep18<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16, SortField<T17> field17, SortField<T18> field18);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> SelectSeekStep19<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16, SortField<T17> field17, SortField<T18> field18, SortField<T19> field19);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> SelectSeekStep20<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16, SortField<T17> field17, SortField<T18> field18, SortField<T19> field19, SortField<T20> field20);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> SelectSeekStep21<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16, SortField<T17> field17, SortField<T18> field18, SortField<T19> field19, SortField<T20> field20, SortField<T21> field21);
/**
* Add an <code>ORDER BY</code> clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> SelectSeekStep22<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> orderBy(SortField<T1> field1, SortField<T2> field2, SortField<T3> field3, SortField<T4> field4, SortField<T5> field5, SortField<T6> field6, SortField<T7> field7, SortField<T8> field8, SortField<T9> field9, SortField<T10> field10, SortField<T11> field11, SortField<T12> field12, SortField<T13> field13, SortField<T14> field14, SortField<T15> field15, SortField<T16> field16, SortField<T17> field17, SortField<T18> field18, SortField<T19> field19, SortField<T20> field20, SortField<T21> field21, SortField<T22> field22);
// [jooq-tools] END [order-by-sortfield-array]
// [jooq-tools] END [order-by-orderfield-array]
/**
* Add an <code>ORDER BY</code> clause to the query
*/
@Support
SelectSeekStepN<R> orderBy(SortField<?>... fields);
SelectSeekStepN<R> orderBy(OrderField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the query
*/
@Support
SelectSeekStepN<R> orderBy(Collection<? extends SortField<?>> fields);
SelectSeekStepN<R> orderBy(Collection<? extends OrderField<?>> fields);
/**
* Add an <code>ORDER BY</code> clause to the query
@ -441,7 +277,7 @@ public interface SelectOrderByStep<R extends Record> extends SelectLimitStep<R>
* and elements of each hierarchy should be ordered among themselves.
*/
@Support({ CUBRID })
SelectLimitStep<R> orderSiblingsBy(Field<?>... fields);
SelectLimitStep<R> orderSiblingsBy(OrderField<?>... fields);
/**
* Add an <code>ORDER SIBLINGS BY</code> clause to the query
@ -451,17 +287,7 @@ public interface SelectOrderByStep<R extends Record> extends SelectLimitStep<R>
* and elements of each hierarchy should be ordered among themselves.
*/
@Support({ CUBRID })
SelectLimitStep<R> orderSiblingsBy(SortField<?>... fields);
/**
* Add an <code>ORDER SIBLINGS BY</code> clause to the query
* <p>
* This clause can be used only along with Oracle's <code>CONNECT BY</code>
* clause, to indicate that the hierarchical ordering should be preserved
* and elements of each hierarchy should be ordered among themselves.
*/
@Support({ CUBRID })
SelectLimitStep<R> orderSiblingsBy(Collection<? extends SortField<?>> fields);
SelectLimitStep<R> orderSiblingsBy(Collection<? extends OrderField<?>> fields);
/**
* Add an <code>ORDER SIBLINGS BY</code> clause to the query

View File

@ -436,12 +436,12 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
void addConditions(Operator operator, Collection<? extends Condition> conditions);
/**
* Adds ordering fields, ordering by the default sort order.
* Adds ordering fields.
*
* @param fields The ordering fields
*/
@Support
void addOrderBy(Field<?>... fields);
void addOrderBy(OrderField<?>... fields);
/**
* Adds ordering fields.
@ -449,15 +449,7 @@ public interface SelectQuery<R extends Record> extends Select<R>, ConditionProvi
* @param fields The ordering fields
*/
@Support
void addOrderBy(SortField<?>... fields);
/**
* Adds ordering fields.
*
* @param fields The ordering fields
*/
@Support
void addOrderBy(Collection<? extends SortField<?>> fields);
void addOrderBy(Collection<? extends OrderField<?>> fields);
/**
* Adds ordering fields.

View File

@ -43,7 +43,7 @@ package org.jooq;
* @see Field#asc()
* @see Field#desc()
*/
public interface SortField<T> extends QueryPart {
public interface SortField<T> extends OrderField<T> {
/**
* The name of this sort field

View File

@ -70,17 +70,11 @@ public interface WindowOrderByStep<T> extends WindowFinalStep<T> {
* Add an <code>ORDER BY</code> clause to the window function.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
WindowRowsStep<T> orderBy(Field<?>... fields);
WindowRowsStep<T> orderBy(OrderField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the window function.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
WindowRowsStep<T> orderBy(SortField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the window function.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
WindowRowsStep<T> orderBy(Collection<? extends SortField<?>> fields);
WindowRowsStep<T> orderBy(Collection<? extends OrderField<?>> fields);
}

View File

@ -67,17 +67,11 @@ public interface WindowSpecificationOrderByStep extends WindowSpecificationRowsS
* Add an <code>ORDER BY</code> clause to the window specification.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
WindowSpecificationRowsStep orderBy(Field<?>... fields);
WindowSpecificationRowsStep orderBy(OrderField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the window specification.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
WindowSpecificationRowsStep orderBy(SortField<?>... fields);
/**
* Add an <code>ORDER BY</code> clause to the window specification.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
WindowSpecificationRowsStep orderBy(Collection<? extends SortField<?>> fields);
WindowSpecificationRowsStep orderBy(Collection<? extends OrderField<?>> fields);
}

View File

@ -37,8 +37,8 @@ package org.jooq.impl;
import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.OrderField;
import org.jooq.Record;
import org.jooq.SortField;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
@ -55,7 +55,7 @@ public abstract class AbstractKeys {
/**
* Factory method for indexes.
*/
protected static Index createIndex(String name, Table<?> table, SortField<?>[] sortFields, boolean unique) {
protected static Index createIndex(String name, Table<?> table, OrderField<?>[] sortFields, boolean unique) {
return new IndexImpl(DSL.name(name), table, sortFields, null, unique);
}

View File

@ -68,6 +68,7 @@ import org.jooq.CreateIndexWhereStep;
import org.jooq.Field;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.OrderField;
import org.jooq.QueryPart;
import org.jooq.SQL;
import org.jooq.SortField;
@ -112,17 +113,9 @@ final class CreateIndexImpl extends AbstractQuery implements
// ------------------------------------------------------------------------
@Override
public final CreateIndexImpl on(Table<?> t, SortField<?>... f) {
public final CreateIndexImpl on(Table<?> t, OrderField<?>... f) {
this.table = t;
this.sortFields = f;
return this;
}
@Override
public final CreateIndexImpl on(Table<?> t, Field<?>... f) {
this.table = t;
this.fields = f;
this.sortFields = Tools.sortFields(f);
return this;
}

View File

@ -214,6 +214,7 @@ import org.jooq.MergeKeyStepN;
import org.jooq.MergeUsingStep;
import org.jooq.Name;
import org.jooq.Operator;
import org.jooq.OrderField;
import org.jooq.OrderedAggregateFunction;
import org.jooq.OrderedAggregateFunctionOfDeferredType;
import org.jooq.Param;
@ -280,7 +281,6 @@ import org.jooq.SelectField;
import org.jooq.SelectSelectStep;
import org.jooq.SelectWhereStep;
import org.jooq.Sequence;
import org.jooq.SortField;
import org.jooq.Support;
import org.jooq.Table;
import org.jooq.TableLike;
@ -16473,7 +16473,7 @@ public class DSL {
* Create a {@link WindowSpecification} with an <code>ORDER BY</code> clause.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
public static WindowSpecificationRowsStep orderBy(SortField<?>... fields) {
public static WindowSpecificationRowsStep orderBy(OrderField<?>... fields) {
return new WindowSpecificationImpl().orderBy(fields);
}
@ -16481,7 +16481,7 @@ public class DSL {
* Create a {@link WindowSpecification} with an <code>ORDER BY</code> clause.
*/
@Support({ CUBRID, FIREBIRD_3_0, POSTGRES })
public static WindowSpecificationRowsStep orderBy(Collection<? extends SortField<?>> fields) {
public static WindowSpecificationRowsStep orderBy(Collection<? extends OrderField<?>> fields) {
return new WindowSpecificationImpl().orderBy(fields);
}

View File

@ -83,11 +83,11 @@ import org.jooq.Context;
import org.jooq.DataType;
import org.jooq.Field;
import org.jooq.Name;
import org.jooq.OrderField;
import org.jooq.OrderedAggregateFunction;
import org.jooq.QueryPart;
import org.jooq.SQL;
import org.jooq.SQLDialect;
import org.jooq.SortField;
import org.jooq.WindowBeforeOverStep;
import org.jooq.WindowDefinition;
import org.jooq.WindowFinalStep;
@ -494,36 +494,16 @@ class Function<T> extends AbstractField<T> implements
}
@Override
public final AggregateFunction<T> withinGroupOrderBy(Field<?>... fields) {
withinGroupOrderBy.addAll(fields);
return this;
public final AggregateFunction<T> withinGroupOrderBy(OrderField<?>... fields) {
return withinGroupOrderBy(Arrays.asList(fields));
}
@Override
public final AggregateFunction<T> withinGroupOrderBy(SortField<?>... fields) {
withinGroupOrderBy.addAll(Arrays.asList(fields));
public final AggregateFunction<T> withinGroupOrderBy(Collection<? extends OrderField<?>> fields) {
withinGroupOrderBy.addAll(Tools.sortFields(fields));
return this;
}
@Override
public final AggregateFunction<T> withinGroupOrderBy(Collection<? extends SortField<?>> fields) {
withinGroupOrderBy.addAll(fields);
return this;
}
@ -648,7 +628,7 @@ class Function<T> extends AbstractField<T> implements
}
@Override
public final Function<T> orderBy(Field<?>... fields) {
public final Function<T> orderBy(OrderField<?>... fields) {
if (windowSpecification != null)
windowSpecification.orderBy(fields);
else
@ -658,17 +638,7 @@ class Function<T> extends AbstractField<T> implements
}
@Override
public final Function<T> orderBy(SortField<?>... fields) {
if (windowSpecification != null)
windowSpecification.orderBy(fields);
else
withinGroupOrderBy(fields);
return this;
}
@Override
public final Function<T> orderBy(Collection<? extends SortField<?>> fields) {
public final Function<T> orderBy(Collection<? extends OrderField<?>> fields) {
if (windowSpecification != null)
windowSpecification.orderBy(fields);
else

View File

@ -47,9 +47,9 @@ import org.jooq.Field;
import org.jooq.GroupConcatOrderByStep;
import org.jooq.GroupConcatSeparatorStep;
import org.jooq.Name;
import org.jooq.OrderField;
import org.jooq.QueryPart;
import org.jooq.SQL;
import org.jooq.SortField;
import org.jooq.WindowDefinition;
import org.jooq.WindowFinalStep;
import org.jooq.WindowPartitionByStep;
@ -109,16 +109,6 @@ final class GroupConcat extends AbstractFunction<String> implements GroupConcatO
@ -202,20 +192,13 @@ final class GroupConcat extends AbstractFunction<String> implements GroupConcatO
}
@Override
public final GroupConcatSeparatorStep orderBy(Field<?>... fields) {
orderBy.addAll(fields);
return this;
public final GroupConcatSeparatorStep orderBy(OrderField<?>... fields) {
return orderBy(Arrays.asList(fields));
}
@Override
public final GroupConcatSeparatorStep orderBy(SortField<?>... fields) {
orderBy.addAll(Arrays.asList(fields));
return this;
}
@Override
public final GroupConcatSeparatorStep orderBy(Collection<? extends SortField<?>> fields) {
orderBy.addAll(fields);
public final GroupConcatSeparatorStep orderBy(Collection<? extends OrderField<?>> fields) {
orderBy.addAll(Tools.sortFields(fields));
return this;
}
}

View File

@ -44,6 +44,7 @@ import org.jooq.Condition;
import org.jooq.Context;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.OrderField;
import org.jooq.SortField;
import org.jooq.Table;
@ -67,10 +68,10 @@ class IndexImpl extends AbstractQueryPart implements Index {
this(name, null, EMPTY_SORTFIELD, null, false);
}
IndexImpl(Name name, Table<?> table, SortField<?>[] fields, Condition where, boolean unique) {
IndexImpl(Name name, Table<?> table, OrderField<?>[] fields, Condition where, boolean unique) {
this.name = name;
this.table = table;
this.fields = fields;
this.fields = Tools.sortFields(fields);
this.where = where;
this.unique = unique;
}

View File

@ -35,9 +35,8 @@
package org.jooq.impl;
import org.jooq.AggregateFilterStep;
import org.jooq.Field;
import org.jooq.OrderField;
import org.jooq.OrderedAggregateFunctionOfDeferredType;
import org.jooq.SortField;
/**
* @author Lukas Eder
@ -45,12 +44,7 @@ import org.jooq.SortField;
final class Mode implements OrderedAggregateFunctionOfDeferredType {
@Override
public final <T> AggregateFilterStep<T> withinGroupOrderBy(Field<T> field) {
return new Function<T>("mode", field.getDataType()).withinGroupOrderBy(field);
}
@Override
public final <T> AggregateFilterStep<T> withinGroupOrderBy(SortField<T> field) {
public final <T> AggregateFilterStep<T> withinGroupOrderBy(OrderField<T> field) {
return new Function<T>("mode", ((SortFieldImpl<T>) field).getField().getDataType()).withinGroupOrderBy(field);
}
}

View File

@ -2406,8 +2406,10 @@ class ParserImpl implements Parser {
if (parseKeywordIf(ctx, "DESC"))
sort = field.desc();
else if (parseKeywordIf(ctx, "ASC") || true)
else if (parseKeywordIf(ctx, "ASC"))
sort = field.asc();
else
sort = field.sortDefault();
if (parseKeywordIf(ctx, "NULLS FIRST"))
sort = sort.nullsFirst();
@ -3114,16 +3116,17 @@ class ParserImpl implements Parser {
if (parseKeywordIf(ctx, "ARRAY")) {
parse(ctx, '[');
List<? extends Field<? extends Object[]>> fields;
List<Field<?>> fields;
if (parseIf(ctx, ']')) {
fields = Collections.emptyList();
fields = Collections.<Field<?>>emptyList();
}
else {
fields = (List) parseFields(ctx);
fields = parseFields(ctx);
parse(ctx, ']');
}
return DSL.array(fields);
// Prevent "wrong" javac method bind
return DSL.array((Collection) fields);
}
return null;

View File

@ -68,6 +68,7 @@ import org.jooq.GroupField;
import org.jooq.JoinType;
import org.jooq.Name;
import org.jooq.Operator;
import org.jooq.OrderField;
import org.jooq.Param;
import org.jooq.QueryPart;
import org.jooq.Record;
@ -119,7 +120,6 @@ import org.jooq.SelectSeekStepN;
import org.jooq.SelectSelectStep;
import org.jooq.SelectWithTiesAfterOffsetStep;
import org.jooq.SelectWithTiesStep;
import org.jooq.SortField;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableLike;
@ -672,292 +672,150 @@ final class SelectImpl<R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
return this;
}
// [jooq-tools] START [order-by-field-array]
// [jooq-tools] START [order-by-orderfield-array]
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep1 orderBy(Field t1) {
return orderBy(new Field[] { t1 });
public final SelectSeekStep1 orderBy(OrderField t1) {
return orderBy(new OrderField[] { t1 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep2 orderBy(Field t1, Field t2) {
return orderBy(new Field[] { t1, t2 });
public final SelectSeekStep2 orderBy(OrderField t1, OrderField t2) {
return orderBy(new OrderField[] { t1, t2 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep3 orderBy(Field t1, Field t2, Field t3) {
return orderBy(new Field[] { t1, t2, t3 });
public final SelectSeekStep3 orderBy(OrderField t1, OrderField t2, OrderField t3) {
return orderBy(new OrderField[] { t1, t2, t3 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep4 orderBy(Field t1, Field t2, Field t3, Field t4) {
return orderBy(new Field[] { t1, t2, t3, t4 });
public final SelectSeekStep4 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4) {
return orderBy(new OrderField[] { t1, t2, t3, t4 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep5 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5) {
return orderBy(new Field[] { t1, t2, t3, t4, t5 });
public final SelectSeekStep5 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep6 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6 });
public final SelectSeekStep6 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep7 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7 });
public final SelectSeekStep7 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep8 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8 });
public final SelectSeekStep8 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep9 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9 });
public final SelectSeekStep9 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep10 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10 });
public final SelectSeekStep10 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep11 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11 });
public final SelectSeekStep11 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep12 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12 });
public final SelectSeekStep12 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep13 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13 });
public final SelectSeekStep13 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep14 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14 });
public final SelectSeekStep14 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep15 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15 });
public final SelectSeekStep15 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep16 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16 });
public final SelectSeekStep16 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep17 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16, Field t17) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17 });
public final SelectSeekStep17 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16, OrderField t17) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep18 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16, Field t17, Field t18) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18 });
public final SelectSeekStep18 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16, OrderField t17, OrderField t18) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep19 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16, Field t17, Field t18, Field t19) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19 });
public final SelectSeekStep19 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16, OrderField t17, OrderField t18, OrderField t19) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep20 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16, Field t17, Field t18, Field t19, Field t20) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20 });
public final SelectSeekStep20 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16, OrderField t17, OrderField t18, OrderField t19, OrderField t20) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep21 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16, Field t17, Field t18, Field t19, Field t20, Field t21) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21 });
public final SelectSeekStep21 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16, OrderField t17, OrderField t18, OrderField t19, OrderField t20, OrderField t21) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep22 orderBy(Field t1, Field t2, Field t3, Field t4, Field t5, Field t6, Field t7, Field t8, Field t9, Field t10, Field t11, Field t12, Field t13, Field t14, Field t15, Field t16, Field t17, Field t18, Field t19, Field t20, Field t21, Field t22) {
return orderBy(new Field[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22 });
public final SelectSeekStep22 orderBy(OrderField t1, OrderField t2, OrderField t3, OrderField t4, OrderField t5, OrderField t6, OrderField t7, OrderField t8, OrderField t9, OrderField t10, OrderField t11, OrderField t12, OrderField t13, OrderField t14, OrderField t15, OrderField t16, OrderField t17, OrderField t18, OrderField t19, OrderField t20, OrderField t21, OrderField t22) {
return orderBy(new OrderField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22 });
}
// [jooq-tools] END [order-by-field-array]
// [jooq-tools] END [order-by-orderfield-array]
@Override
public final SelectImpl orderBy(Field<?>... fields) {
getQuery().addOrderBy(fields);
return this;
}
// [jooq-tools] START [order-by-sortfield-array]
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep1 orderBy(SortField t1) {
return orderBy(new SortField[] { t1 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep2 orderBy(SortField t1, SortField t2) {
return orderBy(new SortField[] { t1, t2 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep3 orderBy(SortField t1, SortField t2, SortField t3) {
return orderBy(new SortField[] { t1, t2, t3 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep4 orderBy(SortField t1, SortField t2, SortField t3, SortField t4) {
return orderBy(new SortField[] { t1, t2, t3, t4 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep5 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep6 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep7 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep8 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep9 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep10 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep11 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep12 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep13 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep14 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep15 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep16 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep17 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16, SortField t17) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep18 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16, SortField t17, SortField t18) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep19 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16, SortField t17, SortField t18, SortField t19) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep20 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16, SortField t17, SortField t18, SortField t19, SortField t20) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep21 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16, SortField t17, SortField t18, SortField t19, SortField t20, SortField t21) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21 });
}
@Override
@Generated("This method was generated using jOOQ-tools")
public final SelectSeekStep22 orderBy(SortField t1, SortField t2, SortField t3, SortField t4, SortField t5, SortField t6, SortField t7, SortField t8, SortField t9, SortField t10, SortField t11, SortField t12, SortField t13, SortField t14, SortField t15, SortField t16, SortField t17, SortField t18, SortField t19, SortField t20, SortField t21, SortField t22) {
return orderBy(new SortField[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22 });
}
// [jooq-tools] END [order-by-sortfield-array]
@Override
public final SelectImpl orderBy(SortField<?>... fields) {
public final SelectImpl orderBy(OrderField<?>... fields) {
getQuery().addOrderBy(fields);
return this;
}
@Override
public final SelectImpl orderBy(Collection<? extends SortField<?>> fields) {
public final SelectImpl orderBy(Collection<? extends OrderField<?>> fields) {
getQuery().addOrderBy(fields);
return this;
}
@ -969,21 +827,14 @@ final class SelectImpl<R extends Record, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
}
@Override
public final SelectImpl orderSiblingsBy(Field<?>... fields) {
public final SelectImpl orderSiblingsBy(OrderField<?>... fields) {
getQuery().addOrderBy(fields);
getQuery().setOrderBySiblings(true);
return this;
}
@Override
public final SelectImpl orderSiblingsBy(SortField<?>... fields) {
getQuery().addOrderBy(fields);
getQuery().setOrderBySiblings(true);
return this;
}
@Override
public final SelectImpl orderSiblingsBy(Collection<? extends SortField<?>> fields) {
public final SelectImpl orderSiblingsBy(Collection<? extends OrderField<?>> fields) {
getQuery().addOrderBy(fields);
getQuery().setOrderBySiblings(true);
return this;

View File

@ -156,6 +156,7 @@ import org.jooq.JoinType;
import org.jooq.Keyword;
import org.jooq.Name;
import org.jooq.Operator;
import org.jooq.OrderField;
import org.jooq.Param;
import org.jooq.Record;
import org.jooq.Row;
@ -163,7 +164,6 @@ import org.jooq.SQLDialect;
import org.jooq.Select;
import org.jooq.SelectField;
import org.jooq.SelectQuery;
import org.jooq.SortField;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableLike;
@ -1941,17 +1941,12 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
}
@Override
public final void addOrderBy(Collection<? extends SortField<?>> fields) {
getOrderBy().addAll(fields);
public final void addOrderBy(Collection<? extends OrderField<?>> fields) {
getOrderBy().addAll(Tools.sortFields(fields));
}
@Override
public final void addOrderBy(Field<?>... fields) {
getOrderBy().addAll(fields);
}
@Override
public final void addOrderBy(SortField<?>... fields) {
public final void addOrderBy(OrderField<?>... fields) {
addOrderBy(Arrays.asList(fields));
}

View File

@ -184,6 +184,7 @@ import org.jooq.ExecuteListener;
import org.jooq.Field;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.OrderField;
import org.jooq.Param;
import org.jooq.Query;
import org.jooq.QueryPart;
@ -839,13 +840,37 @@ final class Tools {
// XXX: General utility methods
// ------------------------------------------------------------------------
static final SortField<?>[] sortFields(Field<?>[] fields) {
static final <T> SortField<T> sortField(OrderField<T> field) {
if (field instanceof SortField)
return (SortField<T>) field;
else if (field instanceof Field)
return ((Field<T>) field).sortDefault();
else
throw new IllegalArgumentException("Field not supported : " + field);
}
static final SortField<?>[] sortFields(OrderField<?>[] fields) {
if (fields == null)
return null;
if (fields instanceof SortField<?>[])
return (SortField<?>[]) fields;
SortField<?>[] result = new SortField[fields.length];
for (int i = 0; i < fields.length; i++)
result[i] = fields[i].asc();
result[i] = sortField(fields[i]);
return result;
}
static final List<SortField<?>> sortFields(Collection<? extends OrderField<?>> fields) {
if (fields == null)
return null;
int size = fields.size();
List<SortField<?>> result = new ArrayList<SortField<?>>(size);
for (OrderField<?> field : fields)
result.add(sortField(field));
return result;
}

View File

@ -58,7 +58,7 @@ import org.jooq.Clause;
import org.jooq.Context;
import org.jooq.Field;
import org.jooq.Keyword;
import org.jooq.SortField;
import org.jooq.OrderField;
import org.jooq.WindowSpecificationFinalStep;
import org.jooq.WindowSpecificationOrderByStep;
import org.jooq.WindowSpecificationPartitionByStep;
@ -175,19 +175,13 @@ final class WindowSpecificationImpl extends AbstractQueryPart implements
}
@Override
public final WindowSpecificationOrderByStep orderBy(Field<?>... fields) {
orderBy.addAll(fields);
return this;
}
@Override
public final WindowSpecificationOrderByStep orderBy(SortField<?>... fields) {
public final WindowSpecificationOrderByStep orderBy(OrderField<?>... fields) {
return orderBy(Arrays.asList(fields));
}
@Override
public final WindowSpecificationOrderByStep orderBy(Collection<? extends SortField<?>> fields) {
orderBy.addAll(fields);
public final WindowSpecificationOrderByStep orderBy(Collection<? extends OrderField<?>> fields) {
orderBy.addAll(Tools.sortFields(fields));
return this;
}