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
index bf044b48ec..2c6e863ce6 100644
--- 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
@@ -7,7 +7,7 @@ package org.jooq.example.jpa.jooq;
import javax.annotation.Generated;
import org.jooq.Index;
-import org.jooq.SortField;
+import org.jooq.OrderField;
import org.jooq.example.jpa.jooq.tables.Actor;
import org.jooq.example.jpa.jooq.tables.Film;
import org.jooq.example.jpa.jooq.tables.FilmActor;
@@ -45,12 +45,12 @@ public class Indexes {
// -------------------------------------------------------------------------
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);
+ public static Index PRIMARY_KEY_3 = createIndex("PRIMARY_KEY_3", Actor.ACTOR, new OrderField[] { Actor.ACTOR.ACTORID }, true);
+ public static Index FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2 = createIndex("FKD2YJC1RU34H1SMWLA3FX7B6NX_INDEX_2", Film.FILM, new OrderField[] { Film.FILM.LANGUAGE_LANGUAGEID }, false);
+ public static Index FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2 = createIndex("FKN2UB730RPO5B5E9X6U2LWL9FT_INDEX_2", Film.FILM, new OrderField[] { Film.FILM.ORIGINALLANGUAGE_LANGUAGEID }, false);
+ public static Index PRIMARY_KEY_2 = createIndex("PRIMARY_KEY_2", Film.FILM, new OrderField[] { Film.FILM.FILMID }, true);
+ public static Index FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7 = createIndex("FK43SD2F45W7YN0GAXQ94EHTWT2_INDEX_7", FilmActor.FILM_ACTOR, new OrderField[] { FilmActor.FILM_ACTOR.ACTORS_ACTORID }, false);
+ public static Index PRIMARY_KEY_7 = createIndex("PRIMARY_KEY_7", FilmActor.FILM_ACTOR, new OrderField[] { FilmActor.FILM_ACTOR.FILMS_FILMID, FilmActor.FILM_ACTOR.ACTORS_ACTORID }, true);
+ public static Index PRIMARY_KEY_C = createIndex("PRIMARY_KEY_C", Language.LANGUAGE, new OrderField[] { Language.LANGUAGE.LANGUAGEID }, true);
}
}
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 31c8fd1d44..4e6472739c 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 = 2090254858;
+ private static final long serialVersionUID = -1420337279;
/**
* The reference instance of PUBLIC
@@ -85,9 +85,9 @@ public class Public extends SchemaImpl {
private final List> getSequences0() {
return Arrays.>asList(
- Sequences.SYSTEM_SEQUENCE_0B2F3736_FD28_4F70_9981_27E255E167DC,
- Sequences.SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5,
- Sequences.SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0);
+ Sequences.SYSTEM_SEQUENCE_70BE46BF_63D1_4F2A_B1C0_A31847E2D3F6,
+ Sequences.SYSTEM_SEQUENCE_7C66F721_38BD_4793_86A9_FB9269960DA2,
+ Sequences.SYSTEM_SEQUENCE_CB0D4218_064F_45BC_B7EB_ACA8D001DEC2);
}
@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 2284574dce..fef90b6b5f 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_0B2F3736_FD28_4F70_9981_27E255E167DC
+ * The sequence PUBLIC.SYSTEM_SEQUENCE_70BE46BF_63D1_4F2A_B1C0_A31847E2D3F6
*/
- 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);
+ public static final Sequence SYSTEM_SEQUENCE_70BE46BF_63D1_4F2A_B1C0_A31847E2D3F6 = new SequenceImpl("SYSTEM_SEQUENCE_70BE46BF_63D1_4F2A_B1C0_A31847E2D3F6", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
/**
- * The sequence PUBLIC.SYSTEM_SEQUENCE_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5
+ * The sequence PUBLIC.SYSTEM_SEQUENCE_7C66F721_38BD_4793_86A9_FB9269960DA2
*/
- 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);
+ public static final Sequence SYSTEM_SEQUENCE_7C66F721_38BD_4793_86A9_FB9269960DA2 = new SequenceImpl("SYSTEM_SEQUENCE_7C66F721_38BD_4793_86A9_FB9269960DA2", Public.PUBLIC, org.jooq.impl.SQLDataType.BIGINT);
/**
- * The sequence PUBLIC.SYSTEM_SEQUENCE_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0
+ * The sequence PUBLIC.SYSTEM_SEQUENCE_CB0D4218_064F_45BC_B7EB_ACA8D001DEC2
*/
- 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);
+ public static final Sequence SYSTEM_SEQUENCE_CB0D4218_064F_45BC_B7EB_ACA8D001DEC2 = new SequenceImpl("SYSTEM_SEQUENCE_CB0D4218_064F_45BC_B7EB_ACA8D001DEC2", 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 092aa8a85f..198ea73e1f 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
@@ -38,7 +38,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Actor extends TableImpl {
- private static final long serialVersionUID = 953917007;
+ private static final long serialVersionUID = -135380361;
/**
* The reference instance of PUBLIC.ACTOR
@@ -56,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_F2DB1AD8_3E0D_4C94_BBDF_9EB28539D8F0)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
+ public final TableField ACTORID = createField("ACTORID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).identity(true), this, "");
/**
* The column PUBLIC.ACTOR.FIRSTNAME.
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 313fe300bc..eb541222d4 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
@@ -39,7 +39,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Film extends TableImpl {
- private static final long serialVersionUID = -1430753716;
+ private static final long serialVersionUID = 1608616621;
/**
* The reference instance of PUBLIC.FILM
@@ -57,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_19DC280A_2BA5_4C8D_BBEC_7914EB6BE5F5)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
+ public final TableField FILMID = createField("FILMID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).identity(true), this, "");
/**
* The column PUBLIC.FILM.LENGTH.
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 c25e73c944..b9b7d286c7 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
@@ -38,7 +38,7 @@ import org.jooq.impl.TableImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Language extends TableImpl {
- private static final long serialVersionUID = -1952045324;
+ private static final long serialVersionUID = 1642663592;
/**
* The reference instance of PUBLIC.LANGUAGE
@@ -56,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_0B2F3736_FD28_4F70_9981_27E255E167DC)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
+ public final TableField LANGUAGEID = createField("LANGUAGEID", org.jooq.impl.SQLDataType.INTEGER.nullable(false).identity(true), this, "");
/**
* The column PUBLIC.LANGUAGE.NAME.
diff --git a/jOOQ-meta/src/main/java/org/jooq/util/h2/H2TableDefinition.java b/jOOQ-meta/src/main/java/org/jooq/util/h2/H2TableDefinition.java
index ae4a93fc40..c66c22f24f 100644
--- a/jOOQ-meta/src/main/java/org/jooq/util/h2/H2TableDefinition.java
+++ b/jOOQ-meta/src/main/java/org/jooq/util/h2/H2TableDefinition.java
@@ -83,6 +83,13 @@ public class H2TableDefinition extends AbstractTableDefinition {
.orderBy(Columns.ORDINAL_POSITION)
.fetch()) {
+ // [#5331] AUTO_INCREMENT (MySQL style)
+ // [#5331] DEFAULT nextval('sequence') (PostgreSQL style)
+ // [#6332] [#6339] system-generated defaults shouldn't produce a default clause
+ boolean isIdentity =
+ null != record.get(Columns.SEQUENCE_NAME)
+ || defaultString(record.get(Columns.COLUMN_DEFAULT)).trim().toLowerCase().startsWith("nextval");
+
DataTypeDefinition type = new DefaultDataTypeDefinition(
getDatabase(),
getSchema(),
@@ -91,19 +98,14 @@ public class H2TableDefinition extends AbstractTableDefinition {
record.get(Columns.NUMERIC_PRECISION),
record.get(Columns.NUMERIC_SCALE),
record.get(Columns.IS_NULLABLE, boolean.class),
- record.get(Columns.COLUMN_DEFAULT));
+ isIdentity ? null : record.get(Columns.COLUMN_DEFAULT));
ColumnDefinition column = new DefaultColumnDefinition(
getDatabase().getTable(getSchema(), getName()),
record.get(Columns.COLUMN_NAME),
record.get(Columns.ORDINAL_POSITION),
type,
-
- // [#5331] AUTO_INCREMENT (MySQL style)
- null != record.get(Columns.SEQUENCE_NAME)
-
- // [#5331] DEFAULT nextval('sequence') (PostgreSQL style)
- || defaultString(record.get(Columns.COLUMN_DEFAULT)).trim().toLowerCase().startsWith("nextval"),
+ isIdentity,
record.get(Columns.REMARKS));
result.add(column);