diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java index 3ef65b535e..7526363492 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java @@ -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() ); } diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Indexes.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Indexes.java new file mode 100644 index 0000000000..bf044b48ec --- /dev/null +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Indexes.java @@ -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 PUBLIC 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); + } +} diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Keys.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Keys.java index ef914ff71a..c9ab8129eb 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Keys.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Keys.java @@ -21,8 +21,8 @@ import org.jooq.impl.AbstractKeys; /** - * A class modelling foreign key relationships between tables of the PUBLIC - * schema + * A class modelling foreign key relationships and constraints of tables of + * the PUBLIC schema. */ @Generated( value = { diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Public.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Public.java index 0d683f4aef..31c8fd1d44 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Public.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Public.java @@ -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 PUBLIC @@ -85,9 +85,9 @@ public class Public extends SchemaImpl { private final List> getSequences0() { return Arrays.>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 diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Sequences.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Sequences.java index 37ae504b80..2284574dce 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Sequences.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/Sequences.java @@ -24,17 +24,17 @@ import org.jooq.impl.SequenceImpl; public class Sequences { /** - * The sequence PUBLIC.SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E + * The sequence PUBLIC.SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC */ - public static final Sequence SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E = new SequenceImpl("SYSTEM_SEQUENCE_5412A5F8_FA86_4717_ABDC_2F85928FA91E", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); + public static final Sequence SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC = new SequenceImpl("SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); /** - * The sequence PUBLIC.SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9 + * The sequence PUBLIC.SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5 */ - public static final Sequence SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9 = new SequenceImpl("SYSTEM_SEQUENCE_925527C0_2EA0_41B8_A03F_BDDA372A5FF9", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); + public static final Sequence SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5 = new SequenceImpl("SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); /** - * The sequence PUBLIC.SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86 + * The sequence PUBLIC.SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0 */ - public static final Sequence SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86 = new SequenceImpl("SYSTEM_SEQUENCE_D447815C_93BB_46CA_B530_862FB2804A86", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); + public static final Sequence SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0 = new SequenceImpl("SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); } diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Actor.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Actor.java index 045f2ba90b..092aa8a85f 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Actor.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Actor.java @@ -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 { - private static final long serialVersionUID = 2019122349; + private static final long serialVersionUID = 953917007; /** * The reference instance of PUBLIC.ACTOR @@ -54,7 +56,7 @@ public class Actor extends TableImpl { /** * The column PUBLIC.ACTOR.ACTORID. */ - public final TableField 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 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 PUBLIC.ACTOR.FIRSTNAME. @@ -103,6 +105,14 @@ public class Actor extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.PRIMARY_KEY_3); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Film.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Film.java index ecf5c8ec35..313fe300bc 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Film.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Film.java @@ -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 { - private static final long serialVersionUID = 1340097938; + private static final long serialVersionUID = -1430753716; /** * The reference instance of PUBLIC.FILM @@ -55,7 +57,7 @@ public class Film extends TableImpl { /** * The column PUBLIC.FILM.FILMID. */ - public final TableField 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 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 PUBLIC.FILM.LENGTH. @@ -114,6 +116,14 @@ public class Film extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2, Indexes.FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2, Indexes.PRIMARY_KEY_2); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/FilmActor.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/FilmActor.java index b3d8ed31f1..fa504c54b1 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/FilmActor.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/FilmActor.java @@ -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 { - private static final long serialVersionUID = -1783014959; + private static final long serialVersionUID = 264847594; /** * The reference instance of PUBLIC.FILM_ACTOR @@ -98,6 +100,14 @@ public class FilmActor extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7, Indexes.PRIMARY_KEY_7); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Language.java b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Language.java index f088e13b10..c25e73c944 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Language.java +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/org/jooq/example/jpa/jooq/tables/Language.java @@ -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 { - private static final long serialVersionUID = -641241662; + private static final long serialVersionUID = -1952045324; /** * The reference instance of PUBLIC.LANGUAGE @@ -54,7 +56,7 @@ public class Language extends TableImpl { /** * The column PUBLIC.LANGUAGE.LANGUAGEID. */ - public final TableField 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 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 PUBLIC.LANGUAGE.NAME. @@ -98,6 +100,14 @@ public class Language extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.PRIMARY_KEY_C); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Indexes.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Indexes.java new file mode 100644 index 0000000000..238cc383a1 --- /dev/null +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Indexes.java @@ -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 PUBLIC 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); + } +} diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Keys.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Keys.java index 3f6d2fcf4f..8195514ee5 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Keys.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Keys.java @@ -21,8 +21,8 @@ import org.jooq.impl.AbstractKeys; /** - * A class modelling foreign key relationships between tables of the PUBLIC - * schema + * A class modelling foreign key relationships and constraints of tables of + * the PUBLIC schema. */ @Generated( value = { diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Public.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Public.java index 1bc1ed8999..da52f26f98 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Public.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Public.java @@ -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 PUBLIC @@ -85,8 +85,8 @@ public class Public extends SchemaImpl { private final List> getSequences0() { return Arrays.>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); } diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Sequences.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Sequences.java index bc30b4af7d..66a2147b3c 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Sequences.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/Sequences.java @@ -24,14 +24,14 @@ import org.jooq.impl.SequenceImpl; public class Sequences { /** - * The sequence PUBLIC.SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0 + * The sequence PUBLIC.SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3 */ - public static final Sequence SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0 = new SequenceImpl("SYSTEM_SEQUENCE_D8B3D50F_9168_4860_A3E1_2FEB0B1B4BF0", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); + public static final Sequence SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3 = new SequenceImpl("SYSTEM_SEQUENCE_428E0FE3_9D55_4EFE_978E_3C4A0D1539E3", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); /** - * The sequence PUBLIC.SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C + * The sequence PUBLIC.SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C */ - public static final Sequence SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C = new SequenceImpl("SYSTEM_SEQUENCE_F19F5CF8_8B3C_46C1_9B5D_658E565D472C", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); + public static final Sequence SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C = new SequenceImpl("SYSTEM_SEQUENCE_49E7A2A7_7321_4CE9_BC66_5FD0863DF24C", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT); /** * The sequence PUBLIC.S_AUTHOR_ID diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Author.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Author.java index e623ea5388..a3ed1827b9 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Author.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Author.java @@ -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 { - private static final long serialVersionUID = 757596333; + private static final long serialVersionUID = -558423724; /** * The reference instance of PUBLIC.AUTHOR @@ -55,7 +57,7 @@ public class Author extends TableImpl { /** * The column PUBLIC.AUTHOR.ID. */ - public final TableField 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 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 PUBLIC.AUTHOR.FIRST_NAME. @@ -119,6 +121,14 @@ public class Author extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.PRIMARY_KEY_7); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Book.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Book.java index 8842405592..442cab8943 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Book.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/Book.java @@ -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 { - private static final long serialVersionUID = -1407256897; + private static final long serialVersionUID = 126975315; /** * The reference instance of PUBLIC.BOOK @@ -56,7 +58,7 @@ public class Book extends TableImpl { /** * The column PUBLIC.BOOK.ID. */ - public final TableField 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 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 PUBLIC.BOOK.AUTHOR_ID. @@ -145,6 +147,14 @@ public class Book extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.FK_T_BOOK_AUTHOR_ID_INDEX_1, Indexes.FK_T_BOOK_CO_AUTHOR_ID_INDEX_1, Indexes.PRIMARY_KEY_1); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookStore.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookStore.java index a69d822a54..6fe3c68a4b 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookStore.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookStore.java @@ -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 { - private static final long serialVersionUID = -598409034; + private static final long serialVersionUID = -1909450446; /** * The reference instance of PUBLIC.BOOK_STORE @@ -92,6 +94,14 @@ public class BookStore extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.PRIMARY_KEY_F); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookToBookStore.java b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookToBookStore.java index cde7392128..78754b47e1 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookToBookStore.java +++ b/jOOQ-examples/jOOQ-kotlin-example/src/main/java/org/jooq/example/db/h2/tables/BookToBookStore.java @@ -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 { - private static final long serialVersionUID = -1543000134; + private static final long serialVersionUID = 1712050974; /** * The reference instance of PUBLIC.BOOK_TO_BOOK_STORE @@ -103,6 +105,14 @@ public class BookToBookStore extends TableImpl { return Public.PUBLIC; } + /** + * {@inheritDoc} + */ + @Override + public List getIndexes() { + return Arrays.asList(Indexes.FK_B2BS_B_ID_INDEX_2, Indexes.PRIMARY_KEY_2); + } + /** * {@inheritDoc} */ diff --git a/jOOQ/src/main/java/org/jooq/AggregateFunction.java b/jOOQ/src/main/java/org/jooq/AggregateFunction.java index 3646e4aae2..759a9c9196 100644 --- a/jOOQ/src/main/java/org/jooq/AggregateFunction.java +++ b/jOOQ/src/main/java/org/jooq/AggregateFunction.java @@ -81,31 +81,6 @@ public interface AggregateFunction extends AggregateFilterStep { - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/jOOQ/src/main/java/org/jooq/ArrayAggOrderByStep.java b/jOOQ/src/main/java/org/jooq/ArrayAggOrderByStep.java index 530cedcf5d..30c0e802fc 100644 --- a/jOOQ/src/main/java/org/jooq/ArrayAggOrderByStep.java +++ b/jOOQ/src/main/java/org/jooq/ArrayAggOrderByStep.java @@ -54,17 +54,11 @@ public interface ArrayAggOrderByStep extends AggregateFilterStep { * Add an ORDER BY clause to the function. */ @Support({ HSQLDB, POSTGRES }) - AggregateFilterStep orderBy(Field... fields); + AggregateFilterStep orderBy(OrderField... fields); /** * Add an ORDER BY clause to the function. */ @Support({ HSQLDB, POSTGRES }) - AggregateFilterStep orderBy(SortField... fields); - - /** - * Add an ORDER BY clause to the function. - */ - @Support({ HSQLDB, POSTGRES }) - AggregateFilterStep orderBy(Collection> fields); + AggregateFilterStep orderBy(Collection> fields); } diff --git a/jOOQ/src/main/java/org/jooq/CreateIndexStep.java b/jOOQ/src/main/java/org/jooq/CreateIndexStep.java index 29c675bfae..4ab4e0cd81 100644 --- a/jOOQ/src/main/java/org/jooq/CreateIndexStep.java +++ b/jOOQ/src/main/java/org/jooq/CreateIndexStep.java @@ -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. diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index f2d962d865..7e63a89d98 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -76,7 +76,7 @@ import org.jooq.types.Interval; * @param The field type * @author Lukas Eder */ -public interface Field extends SelectField, GroupField, FieldOrRow { +public interface Field extends SelectField, GroupField, OrderField, FieldOrRow { // ------------------------------------------------------------------------ // API diff --git a/jOOQ/src/main/java/org/jooq/GroupConcatOrderByStep.java b/jOOQ/src/main/java/org/jooq/GroupConcatOrderByStep.java index 6328d58bae..a0c90cb6b1 100644 --- a/jOOQ/src/main/java/org/jooq/GroupConcatOrderByStep.java +++ b/jOOQ/src/main/java/org/jooq/GroupConcatOrderByStep.java @@ -62,17 +62,11 @@ public interface GroupConcatOrderByStep extends GroupConcatSeparatorStep { * Add an ORDER BY clause to the function. */ @Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) - GroupConcatSeparatorStep orderBy(Field... fields); + GroupConcatSeparatorStep orderBy(OrderField... fields); /** * Add an ORDER BY clause to the function. */ @Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) - GroupConcatSeparatorStep orderBy(SortField... fields); - - /** - * Add an ORDER BY clause to the function. - */ - @Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) - GroupConcatSeparatorStep orderBy(Collection> fields); + GroupConcatSeparatorStep orderBy(Collection> fields); } diff --git a/jOOQ/src/main/java/org/jooq/OrderField.java b/jOOQ/src/main/java/org/jooq/OrderField.java new file mode 100644 index 0000000000..11eb3cd605 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/OrderField.java @@ -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 QueryPart to be used exclusively in ORDER BY + * clauses. + * + * @author Lukas Eder + */ +public interface OrderField extends QueryPart { + +} diff --git a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java index effd9baf3a..81824f799a 100644 --- a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java +++ b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunction.java @@ -78,19 +78,12 @@ public interface OrderedAggregateFunction { * aggregate function */ @Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) - AggregateFilterStep withinGroupOrderBy(Field... fields); + AggregateFilterStep withinGroupOrderBy(OrderField... fields); /** * Add an WITHIN GROUP (ORDER BY ..) clause to the ordered * aggregate function */ @Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) - AggregateFilterStep withinGroupOrderBy(SortField... fields); - - /** - * Add an WITHIN GROUP (ORDER BY ..) clause to the ordered - * aggregate function - */ - @Support({ CUBRID, H2, HSQLDB, MARIADB, MYSQL, POSTGRES }) - AggregateFilterStep withinGroupOrderBy(Collection> fields); + AggregateFilterStep withinGroupOrderBy(Collection> fields); } diff --git a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java index 1d46771017..5b91d97de6 100644 --- a/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java +++ b/jOOQ/src/main/java/org/jooq/OrderedAggregateFunctionOfDeferredType.java @@ -66,12 +66,5 @@ public interface OrderedAggregateFunctionOfDeferredType { * aggregate function */ @Support({ POSTGRES_9_4 }) - AggregateFilterStep withinGroupOrderBy(Field field); - - /** - * Add an WITHIN GROUP (ORDER BY ..) clause to the ordered - * aggregate function - */ - @Support({ POSTGRES_9_4 }) - AggregateFilterStep withinGroupOrderBy(SortField field); + AggregateFilterStep withinGroupOrderBy(OrderField field); } diff --git a/jOOQ/src/main/java/org/jooq/SelectOrderByStep.java b/jOOQ/src/main/java/org/jooq/SelectOrderByStep.java index c2e1b99c68..9132870c47 100644 --- a/jOOQ/src/main/java/org/jooq/SelectOrderByStep.java +++ b/jOOQ/src/main/java/org/jooq/SelectOrderByStep.java @@ -86,340 +86,176 @@ import javax.annotation.Generated; */ public interface SelectOrderByStep extends SelectLimitStep { -// [jooq-tools] START [order-by-field-array] +// [jooq-tools] START [order-by-orderfield-array] /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep1 orderBy(Field field1); + SelectSeekStep1 orderBy(OrderField field1); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep2 orderBy(Field field1, Field field2); + SelectSeekStep2 orderBy(OrderField field1, OrderField field2); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep3 orderBy(Field field1, Field field2, Field field3); + SelectSeekStep3 orderBy(OrderField field1, OrderField field2, OrderField field3); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep4 orderBy(Field field1, Field field2, Field field3, Field field4); + SelectSeekStep4 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep5 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5); + SelectSeekStep5 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep6 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6); + SelectSeekStep6 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep7 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7); + SelectSeekStep7 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep8 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8); + SelectSeekStep8 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep9 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9); + SelectSeekStep9 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep10 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10); + SelectSeekStep10 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep11 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11); + SelectSeekStep11 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep12 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12); + SelectSeekStep12 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep13 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13); + SelectSeekStep13 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep14 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14); + SelectSeekStep14 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep15 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15); + SelectSeekStep15 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep16 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16); + SelectSeekStep16 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep17 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17); + SelectSeekStep17 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16, OrderField field17); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep18 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18); + SelectSeekStep18 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16, OrderField field17, OrderField field18); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep19 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19); + SelectSeekStep19 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16, OrderField field17, OrderField field18, OrderField field19); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep20 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20); + SelectSeekStep20 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16, OrderField field17, OrderField field18, OrderField field19, OrderField field20); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep21 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21); + SelectSeekStep21 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16, OrderField field17, OrderField field18, OrderField field19, OrderField field20, OrderField field21); /** * Add an ORDER BY clause to the query. */ @Generated("This method was generated using jOOQ-tools") @Support - SelectSeekStep22 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22); + SelectSeekStep22 orderBy(OrderField field1, OrderField field2, OrderField field3, OrderField field4, OrderField field5, OrderField field6, OrderField field7, OrderField field8, OrderField field9, OrderField field10, OrderField field11, OrderField field12, OrderField field13, OrderField field14, OrderField field15, OrderField field16, OrderField field17, OrderField field18, OrderField field19, OrderField field20, OrderField field21, OrderField field22); -// [jooq-tools] END [order-by-field-array] - - /** - * Add an ORDER BY clause to the query - */ - @Support - SelectSeekStepN orderBy(Field... fields); - -// [jooq-tools] START [order-by-sortfield-array] - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep1 orderBy(SortField field1); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep2 orderBy(SortField field1, SortField field2); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep3 orderBy(SortField field1, SortField field2, SortField field3); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep4 orderBy(SortField field1, SortField field2, SortField field3, SortField field4); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep5 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep6 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep7 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep8 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep9 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep10 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep11 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep12 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep13 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep14 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep15 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep16 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep17 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16, SortField field17); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep18 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16, SortField field17, SortField field18); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep19 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16, SortField field17, SortField field18, SortField field19); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep20 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16, SortField field17, SortField field18, SortField field19, SortField field20); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep21 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16, SortField field17, SortField field18, SortField field19, SortField field20, SortField field21); - - /** - * Add an ORDER BY clause to the query. - */ - @Generated("This method was generated using jOOQ-tools") - @Support - SelectSeekStep22 orderBy(SortField field1, SortField field2, SortField field3, SortField field4, SortField field5, SortField field6, SortField field7, SortField field8, SortField field9, SortField field10, SortField field11, SortField field12, SortField field13, SortField field14, SortField field15, SortField field16, SortField field17, SortField field18, SortField field19, SortField field20, SortField field21, SortField field22); - -// [jooq-tools] END [order-by-sortfield-array] +// [jooq-tools] END [order-by-orderfield-array] /** * Add an ORDER BY clause to the query */ @Support - SelectSeekStepN orderBy(SortField... fields); + SelectSeekStepN orderBy(OrderField... fields); /** * Add an ORDER BY clause to the query */ @Support - SelectSeekStepN orderBy(Collection> fields); + SelectSeekStepN orderBy(Collection> fields); /** * Add an ORDER BY clause to the query @@ -441,7 +277,7 @@ public interface SelectOrderByStep extends SelectLimitStep * and elements of each hierarchy should be ordered among themselves. */ @Support({ CUBRID }) - SelectLimitStep orderSiblingsBy(Field... fields); + SelectLimitStep orderSiblingsBy(OrderField... fields); /** * Add an ORDER SIBLINGS BY clause to the query @@ -451,17 +287,7 @@ public interface SelectOrderByStep extends SelectLimitStep * and elements of each hierarchy should be ordered among themselves. */ @Support({ CUBRID }) - SelectLimitStep orderSiblingsBy(SortField... fields); - - /** - * Add an ORDER SIBLINGS BY clause to the query - *

- * This clause can be used only along with Oracle's CONNECT BY - * clause, to indicate that the hierarchical ordering should be preserved - * and elements of each hierarchy should be ordered among themselves. - */ - @Support({ CUBRID }) - SelectLimitStep orderSiblingsBy(Collection> fields); + SelectLimitStep orderSiblingsBy(Collection> fields); /** * Add an ORDER SIBLINGS BY clause to the query diff --git a/jOOQ/src/main/java/org/jooq/SelectQuery.java b/jOOQ/src/main/java/org/jooq/SelectQuery.java index 8967410be1..3a2267764b 100644 --- a/jOOQ/src/main/java/org/jooq/SelectQuery.java +++ b/jOOQ/src/main/java/org/jooq/SelectQuery.java @@ -436,12 +436,12 @@ public interface SelectQuery extends Select, ConditionProvi void addConditions(Operator operator, Collection 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 extends Select, ConditionProvi * @param fields The ordering fields */ @Support - void addOrderBy(SortField... fields); - - /** - * Adds ordering fields. - * - * @param fields The ordering fields - */ - @Support - void addOrderBy(Collection> fields); + void addOrderBy(Collection> fields); /** * Adds ordering fields. diff --git a/jOOQ/src/main/java/org/jooq/SortField.java b/jOOQ/src/main/java/org/jooq/SortField.java index d4c81bac16..996b002fc5 100644 --- a/jOOQ/src/main/java/org/jooq/SortField.java +++ b/jOOQ/src/main/java/org/jooq/SortField.java @@ -43,7 +43,7 @@ package org.jooq; * @see Field#asc() * @see Field#desc() */ -public interface SortField extends QueryPart { +public interface SortField extends OrderField { /** * The name of this sort field diff --git a/jOOQ/src/main/java/org/jooq/WindowOrderByStep.java b/jOOQ/src/main/java/org/jooq/WindowOrderByStep.java index a6e34d8b43..f128fcb0b0 100644 --- a/jOOQ/src/main/java/org/jooq/WindowOrderByStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowOrderByStep.java @@ -70,17 +70,11 @@ public interface WindowOrderByStep extends WindowFinalStep { * Add an ORDER BY clause to the window function. */ @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - WindowRowsStep orderBy(Field... fields); + WindowRowsStep orderBy(OrderField... fields); /** * Add an ORDER BY clause to the window function. */ @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - WindowRowsStep orderBy(SortField... fields); - - /** - * Add an ORDER BY clause to the window function. - */ - @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - WindowRowsStep orderBy(Collection> fields); + WindowRowsStep orderBy(Collection> fields); } diff --git a/jOOQ/src/main/java/org/jooq/WindowSpecificationOrderByStep.java b/jOOQ/src/main/java/org/jooq/WindowSpecificationOrderByStep.java index 756f60f000..3160e0e143 100644 --- a/jOOQ/src/main/java/org/jooq/WindowSpecificationOrderByStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowSpecificationOrderByStep.java @@ -67,17 +67,11 @@ public interface WindowSpecificationOrderByStep extends WindowSpecificationRowsS * Add an ORDER BY clause to the window specification. */ @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - WindowSpecificationRowsStep orderBy(Field... fields); + WindowSpecificationRowsStep orderBy(OrderField... fields); /** * Add an ORDER BY clause to the window specification. */ @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - WindowSpecificationRowsStep orderBy(SortField... fields); - - /** - * Add an ORDER BY clause to the window specification. - */ - @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - WindowSpecificationRowsStep orderBy(Collection> fields); + WindowSpecificationRowsStep orderBy(Collection> fields); } diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractKeys.java b/jOOQ/src/main/java/org/jooq/impl/AbstractKeys.java index ab1c1db303..5eca47383f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractKeys.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractKeys.java @@ -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); } diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateIndexImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateIndexImpl.java index 590422103b..80aee10e54 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CreateIndexImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CreateIndexImpl.java @@ -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; } diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 20fd2feafd..7277b0127d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -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 ORDER BY 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 ORDER BY clause. */ @Support({ CUBRID, FIREBIRD_3_0, POSTGRES }) - public static WindowSpecificationRowsStep orderBy(Collection> fields) { + public static WindowSpecificationRowsStep orderBy(Collection> fields) { return new WindowSpecificationImpl().orderBy(fields); } diff --git a/jOOQ/src/main/java/org/jooq/impl/Function.java b/jOOQ/src/main/java/org/jooq/impl/Function.java index b03f35c646..ed35dc4e54 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Function.java +++ b/jOOQ/src/main/java/org/jooq/impl/Function.java @@ -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 extends AbstractField implements } @Override - public final AggregateFunction withinGroupOrderBy(Field... fields) { - withinGroupOrderBy.addAll(fields); - return this; + public final AggregateFunction withinGroupOrderBy(OrderField... fields) { + return withinGroupOrderBy(Arrays.asList(fields)); } @Override - public final AggregateFunction withinGroupOrderBy(SortField... fields) { - withinGroupOrderBy.addAll(Arrays.asList(fields)); + public final AggregateFunction withinGroupOrderBy(Collection> fields) { + withinGroupOrderBy.addAll(Tools.sortFields(fields)); return this; } - @Override - public final AggregateFunction withinGroupOrderBy(Collection> fields) { - withinGroupOrderBy.addAll(fields); - return this; - } - - - - - - - - - - - - - - @@ -648,7 +628,7 @@ class Function extends AbstractField implements } @Override - public final Function orderBy(Field... fields) { + public final Function orderBy(OrderField... fields) { if (windowSpecification != null) windowSpecification.orderBy(fields); else @@ -658,17 +638,7 @@ class Function extends AbstractField implements } @Override - public final Function orderBy(SortField... fields) { - if (windowSpecification != null) - windowSpecification.orderBy(fields); - else - withinGroupOrderBy(fields); - - return this; - } - - @Override - public final Function orderBy(Collection> fields) { + public final Function orderBy(Collection> fields) { if (windowSpecification != null) windowSpecification.orderBy(fields); else diff --git a/jOOQ/src/main/java/org/jooq/impl/GroupConcat.java b/jOOQ/src/main/java/org/jooq/impl/GroupConcat.java index 1d82f427d9..6e4c67d66b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/GroupConcat.java +++ b/jOOQ/src/main/java/org/jooq/impl/GroupConcat.java @@ -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 implements GroupConcatO - - - - - - - - - - @@ -202,20 +192,13 @@ final class GroupConcat extends AbstractFunction 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> fields) { - orderBy.addAll(fields); + public final GroupConcatSeparatorStep orderBy(Collection> fields) { + orderBy.addAll(Tools.sortFields(fields)); return this; } } diff --git a/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java b/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java index fa26738da8..7e6367886a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/IndexImpl.java @@ -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; } diff --git a/jOOQ/src/main/java/org/jooq/impl/Mode.java b/jOOQ/src/main/java/org/jooq/impl/Mode.java index 8ac07259f2..4e05927a63 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Mode.java +++ b/jOOQ/src/main/java/org/jooq/impl/Mode.java @@ -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 AggregateFilterStep withinGroupOrderBy(Field field) { - return new Function("mode", field.getDataType()).withinGroupOrderBy(field); - } - - @Override - public final AggregateFilterStep withinGroupOrderBy(SortField field) { + public final AggregateFilterStep withinGroupOrderBy(OrderField field) { return new Function("mode", ((SortFieldImpl) field).getField().getDataType()).withinGroupOrderBy(field); } } diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index ad9594b508..d9b4f6ed96 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -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> fields; + List> fields; if (parseIf(ctx, ']')) { - fields = Collections.emptyList(); + fields = Collections.>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; diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java index 8cb73d9d58..754b8f01ea 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java @@ -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... 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> fields) { + public final SelectImpl orderBy(Collection> fields) { getQuery().addOrderBy(fields); return this; } @@ -969,21 +827,14 @@ final class SelectImpl... 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> fields) { + public final SelectImpl orderSiblingsBy(Collection> fields) { getQuery().addOrderBy(fields); getQuery().setOrderBySiblings(true); return this; diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 2713264cda..3cf7075663 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -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 extends AbstractResultQuery imp } @Override - public final void addOrderBy(Collection> fields) { - getOrderBy().addAll(fields); + public final void addOrderBy(Collection> 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)); } diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 3b0acebdc8..822fd36084 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -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 SortField sortField(OrderField field) { + if (field instanceof SortField) + return (SortField) field; + else if (field instanceof Field) + return ((Field) 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> sortFields(Collection> fields) { + if (fields == null) + return null; + + int size = fields.size(); + List> result = new ArrayList>(size); + for (OrderField field : fields) + result.add(sortField(field)); return result; } diff --git a/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java b/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java index 5a2e49a099..7f814a8bce 100644 --- a/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/WindowSpecificationImpl.java @@ -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> fields) { - orderBy.addAll(fields); + public final WindowSpecificationOrderByStep orderBy(Collection> fields) { + orderBy.addAll(Tools.sortFields(fields)); return this; }