From 590a15ca3cd95f24216688fe7b243dcac87aad21 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Tue, 9 Oct 2018 10:14:03 +0200 Subject: [PATCH] [#7917] Partial implementation (still a moving target in H2) --- .../java/org/jooq/meta/h2/H2Database.java | 84 ++++++++--- .../h2/information_schema/DefaultCatalog.java | 2 +- .../information_schema/InformationSchema.java | 9 +- .../meta/h2/information_schema/Tables.java | 6 + .../h2/information_schema/tables/Columns.java | 27 +++- .../tables/Constraints.java | 7 +- .../tables/CrossReferences.java | 7 +- .../h2/information_schema/tables/Domains.java | 136 ++++++++++++++++++ .../tables/FunctionAliases.java | 7 +- .../tables/FunctionColumns.java | 7 +- .../h2/information_schema/tables/Indexes.java | 7 +- .../information_schema/tables/Schemata.java | 7 +- .../information_schema/tables/Sequences.java | 7 +- .../h2/information_schema/tables/Tables.java | 7 +- .../information_schema/tables/TypeInfo.java | 7 +- 15 files changed, 296 insertions(+), 31 deletions(-) create mode 100644 jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Domains.java diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java index 39f8592e89..7e860e5381 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java @@ -38,6 +38,7 @@ package org.jooq.meta.h2; import static org.jooq.impl.DSL.falseCondition; +import static org.jooq.impl.DSL.inline; import static org.jooq.impl.DSL.select; import static org.jooq.meta.h2.information_schema.tables.Columns.COLUMNS; import static org.jooq.meta.h2.information_schema.tables.Constraints.CONSTRAINTS; @@ -89,6 +90,7 @@ import org.jooq.meta.UDTDefinition; import org.jooq.meta.h2.information_schema.tables.Columns; import org.jooq.meta.h2.information_schema.tables.Constraints; import org.jooq.meta.h2.information_schema.tables.CrossReferences; +import org.jooq.meta.h2.information_schema.tables.Domains; import org.jooq.meta.h2.information_schema.tables.FunctionAliases; import org.jooq.meta.h2.information_schema.tables.Indexes; import org.jooq.meta.h2.information_schema.tables.Schemata; @@ -478,24 +480,33 @@ public class H2Database extends AbstractDatabase { if (!is1_4_197()) return result; - Result> records = create() - .select( - Columns.TABLE_SCHEMA, - Columns.TABLE_NAME, - Columns.COLUMN_NAME, - Columns.COLUMN_TYPE) - .from(COLUMNS) - .where( - Columns.COLUMN_TYPE.like("ENUM(%)%").and( - Columns.TABLE_SCHEMA.in(getInputSchemata()))) - .orderBy( - Columns.TABLE_SCHEMA.asc(), - Columns.TABLE_NAME.asc(), - Columns.COLUMN_NAME.asc()) - .fetch(); + getInlineEnums(result); + getDomainEnums(result); + + return result; + } + + private void getInlineEnums(List result) { + + enumLoop: + for (Record record : create() + .select( + Columns.TABLE_SCHEMA, + Columns.TABLE_NAME, + Columns.COLUMN_NAME, + Columns.COLUMN_TYPE) + .from(COLUMNS) + .where( + Columns.COLUMN_TYPE.like("ENUM(%)%").and( + Columns.TABLE_SCHEMA.in(getInputSchemata()))) + .orderBy( + Columns.TABLE_SCHEMA.asc(), + Columns.TABLE_NAME.asc(), + Columns.COLUMN_NAME.asc())) { - for (Record record : records) { SchemaDefinition schema = getSchema(record.get(Columns.TABLE_SCHEMA)); + if (schema == null) + continue enumLoop; String table = record.get(Columns.TABLE_NAME); String column = record.get(Columns.COLUMN_NAME); @@ -522,17 +533,52 @@ public class H2Database extends AbstractDatabase { ,true // Strict quotes ); - for (String string : reader.next()) { + for (String string : reader.next()) definition.addLiteral(string); - } result.add(definition); } } } } + } - return result; + private void getDomainEnums(List result) { + + enumLoop: + for (Record record : create() + .select( + Domains.DOMAIN_SCHEMA, + Domains.DOMAIN_NAME, + Domains.SQL) + .from(Domains.DOMAINS) + .where(Domains.TYPE_NAME.eq(inline("ENUM"))) + .and(Domains.DOMAIN_SCHEMA.in(getInputSchemata())) + .orderBy( + Domains.DOMAIN_SCHEMA, + Domains.DOMAIN_NAME)) { + + SchemaDefinition schema = getSchema(record.get(Domains.DOMAIN_SCHEMA)); + if (schema == null) + continue enumLoop; + + String name = record.get(Domains.DOMAIN_NAME); + String sql = record.get(Domains.SQL); + + DefaultEnumDefinition definition = new DefaultEnumDefinition(schema, name, ""); + + CSVReader reader = new CSVReader( + new StringReader(sql.replaceAll("(?i:(^.*as enum\\()|(\\).*$))", "")) + ,',' // Separator + ,'\'' // Quote character + ,true // Strict quotes + ); + + for (String string : reader.next()) + definition.addLiteral(string); + + result.add(definition); + } } @Override diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/DefaultCatalog.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/DefaultCatalog.java index 9082c98a70..fc89e93916 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/DefaultCatalog.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/DefaultCatalog.java @@ -18,7 +18,7 @@ import org.jooq.impl.CatalogImpl; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class DefaultCatalog extends CatalogImpl { - private static final long serialVersionUID = -1741973376; + private static final long serialVersionUID = 517390160; /** * The reference instance of diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/InformationSchema.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/InformationSchema.java index 7f01b55b76..79f6fe6324 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/InformationSchema.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/InformationSchema.java @@ -14,6 +14,7 @@ import org.jooq.impl.SchemaImpl; import org.jooq.meta.h2.information_schema.tables.Columns; import org.jooq.meta.h2.information_schema.tables.Constraints; import org.jooq.meta.h2.information_schema.tables.CrossReferences; +import org.jooq.meta.h2.information_schema.tables.Domains; import org.jooq.meta.h2.information_schema.tables.FunctionAliases; import org.jooq.meta.h2.information_schema.tables.FunctionColumns; import org.jooq.meta.h2.information_schema.tables.Indexes; @@ -29,7 +30,7 @@ import org.jooq.meta.h2.information_schema.tables.TypeInfo; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class InformationSchema extends SchemaImpl { - private static final long serialVersionUID = -426534875; + private static final long serialVersionUID = 200165715; /** * The reference instance of INFORMATION_SCHEMA @@ -51,6 +52,11 @@ public class InformationSchema extends SchemaImpl { */ public final CrossReferences CROSS_REFERENCES = org.jooq.meta.h2.information_schema.tables.CrossReferences.CROSS_REFERENCES; + /** + * The table INFORMATION_SCHEMA.DOMAINS. + */ + public final Domains DOMAINS = org.jooq.meta.h2.information_schema.tables.Domains.DOMAINS; + /** * The table INFORMATION_SCHEMA.FUNCTION_ALIASES. */ @@ -114,6 +120,7 @@ public class InformationSchema extends SchemaImpl { Columns.COLUMNS, Constraints.CONSTRAINTS, CrossReferences.CROSS_REFERENCES, + Domains.DOMAINS, FunctionAliases.FUNCTION_ALIASES, FunctionColumns.FUNCTION_COLUMNS, Indexes.INDEXES, diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/Tables.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/Tables.java index 6506dc94f6..b947ad6f1d 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/Tables.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/Tables.java @@ -7,6 +7,7 @@ package org.jooq.meta.h2.information_schema; import org.jooq.meta.h2.information_schema.tables.Columns; import org.jooq.meta.h2.information_schema.tables.Constraints; import org.jooq.meta.h2.information_schema.tables.CrossReferences; +import org.jooq.meta.h2.information_schema.tables.Domains; import org.jooq.meta.h2.information_schema.tables.FunctionAliases; import org.jooq.meta.h2.information_schema.tables.FunctionColumns; import org.jooq.meta.h2.information_schema.tables.Indexes; @@ -36,6 +37,11 @@ public class Tables { */ public static final CrossReferences CROSS_REFERENCES = org.jooq.meta.h2.information_schema.tables.CrossReferences.CROSS_REFERENCES; + /** + * The table INFORMATION_SCHEMA.DOMAINS. + */ + public static final Domains DOMAINS = org.jooq.meta.h2.information_schema.tables.Domains.DOMAINS; + /** * The table INFORMATION_SCHEMA.FUNCTION_ALIASES. */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Columns.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Columns.java index a2c0bc39ff..eb449fb048 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Columns.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Columns.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Columns extends TableImpl { - private static final long serialVersionUID = -443290501; + private static final long serialVersionUID = -1247184254; /** * The reference instance of INFORMATION_SCHEMA.COLUMNS @@ -101,6 +102,21 @@ public class Columns extends TableImpl { */ public static final TableField NUMERIC_SCALE = createField("NUMERIC_SCALE", org.jooq.impl.SQLDataType.INTEGER, COLUMNS, ""); + /** + * The column INFORMATION_SCHEMA.COLUMNS.DATETIME_PRECISION. + */ + public static final TableField DATETIME_PRECISION = createField("DATETIME_PRECISION", org.jooq.impl.SQLDataType.INTEGER, COLUMNS, ""); + + /** + * The column INFORMATION_SCHEMA.COLUMNS.INTERVAL_TYPE. + */ + public static final TableField INTERVAL_TYPE = createField("INTERVAL_TYPE", org.jooq.impl.SQLDataType.VARCHAR(2147483647), COLUMNS, ""); + + /** + * The column INFORMATION_SCHEMA.COLUMNS.INTERVAL_PRECISION. + */ + public static final TableField INTERVAL_PRECISION = createField("INTERVAL_PRECISION", org.jooq.impl.SQLDataType.INTEGER, COLUMNS, ""); + /** * The column INFORMATION_SCHEMA.COLUMNS.CHARACTER_SET_NAME. */ @@ -161,6 +177,11 @@ public class Columns extends TableImpl { */ public static final TableField COLUMN_ON_UPDATE = createField("COLUMN_ON_UPDATE", org.jooq.impl.SQLDataType.VARCHAR(2147483647), COLUMNS, ""); + /** + * The column INFORMATION_SCHEMA.COLUMNS.IS_VISIBLE. + */ + public static final TableField IS_VISIBLE = createField("IS_VISIBLE", org.jooq.impl.SQLDataType.VARCHAR(2147483647), COLUMNS, ""); + /** * No further instances allowed */ @@ -176,6 +197,10 @@ public class Columns extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public Columns(Table child, ForeignKey key) { + super(child, key, COLUMNS); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Constraints.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Constraints.java index 9b25d0dcfe..623efcfc97 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Constraints.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Constraints.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Constraints extends TableImpl { - private static final long serialVersionUID = -235741806; + private static final long serialVersionUID = -815790932; /** * The reference instance of INFORMATION_SCHEMA.CONSTRAINTS @@ -116,6 +117,10 @@ public class Constraints extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public Constraints(Table child, ForeignKey key) { + super(child, key, CONSTRAINTS); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/CrossReferences.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/CrossReferences.java index 13aeb66d38..790e99b176 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/CrossReferences.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/CrossReferences.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class CrossReferences extends TableImpl { - private static final long serialVersionUID = 854586497; + private static final long serialVersionUID = -1128530622; /** * The reference instance of INFORMATION_SCHEMA.CROSS_REFERENCES @@ -121,6 +122,10 @@ public class CrossReferences extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public CrossReferences(Table child, ForeignKey key) { + super(child, key, CROSS_REFERENCES); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Domains.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Domains.java new file mode 100644 index 0000000000..c2315217c1 --- /dev/null +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Domains.java @@ -0,0 +1,136 @@ +/* + * This file is generated by jOOQ. + */ +package org.jooq.meta.h2.information_schema.tables; + + +import org.jooq.Field; +import org.jooq.ForeignKey; +import org.jooq.Name; +import org.jooq.Record; +import org.jooq.Schema; +import org.jooq.Table; +import org.jooq.TableField; +import org.jooq.impl.DSL; +import org.jooq.impl.TableImpl; +import org.jooq.meta.h2.information_schema.InformationSchema; + + +/** + * This class is generated by jOOQ. + */ +@SuppressWarnings({ "all", "unchecked", "rawtypes" }) +public class Domains extends TableImpl { + + private static final long serialVersionUID = -1042876127; + + /** + * The reference instance of INFORMATION_SCHEMA.DOMAINS + */ + public static final Domains DOMAINS = new Domains(); + + /** + * The class holding records for this type + */ + @Override + public Class getRecordType() { + return Record.class; + } + + /** + * The column INFORMATION_SCHEMA.DOMAINS.DOMAIN_CATALOG. + */ + public static final TableField DOMAIN_CATALOG = createField("DOMAIN_CATALOG", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.DOMAIN_SCHEMA. + */ + public static final TableField DOMAIN_SCHEMA = createField("DOMAIN_SCHEMA", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.DOMAIN_NAME. + */ + public static final TableField DOMAIN_NAME = createField("DOMAIN_NAME", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.COLUMN_DEFAULT. + */ + public static final TableField COLUMN_DEFAULT = createField("COLUMN_DEFAULT", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.IS_NULLABLE. + */ + public static final TableField IS_NULLABLE = createField("IS_NULLABLE", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.DATA_TYPE. + */ + public static final TableField DATA_TYPE = createField("DATA_TYPE", org.jooq.impl.SQLDataType.INTEGER, DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.PRECISION. + */ + public static final TableField PRECISION = createField("PRECISION", org.jooq.impl.SQLDataType.INTEGER, DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.SCALE. + */ + public static final TableField SCALE = createField("SCALE", org.jooq.impl.SQLDataType.INTEGER, DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.TYPE_NAME. + */ + public static final TableField TYPE_NAME = createField("TYPE_NAME", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.SELECTIVITY. + */ + public static final TableField SELECTIVITY = createField("SELECTIVITY", org.jooq.impl.SQLDataType.INTEGER, DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.CHECK_CONSTRAINT. + */ + public static final TableField CHECK_CONSTRAINT = createField("CHECK_CONSTRAINT", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.REMARKS. + */ + public static final TableField REMARKS = createField("REMARKS", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.SQL. + */ + public static final TableField SQL = createField("SQL", org.jooq.impl.SQLDataType.VARCHAR(2147483647), DOMAINS, ""); + + /** + * The column INFORMATION_SCHEMA.DOMAINS.ID. + */ + public static final TableField ID = createField("ID", org.jooq.impl.SQLDataType.INTEGER, DOMAINS, ""); + + /** + * No further instances allowed + */ + private Domains() { + this(DSL.name("DOMAINS"), null); + } + + private Domains(Name alias, Table aliased) { + this(alias, aliased, null); + } + + private Domains(Name alias, Table aliased, Field[] parameters) { + super(alias, null, aliased, parameters, DSL.comment("")); + } + + public Domains(Table child, ForeignKey key) { + super(child, key, DOMAINS); + } + + /** + * {@inheritDoc} + */ + @Override + public Schema getSchema() { + return InformationSchema.INFORMATION_SCHEMA; + } +} diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionAliases.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionAliases.java index bec9a40e10..d937384d41 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionAliases.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionAliases.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class FunctionAliases extends TableImpl { - private static final long serialVersionUID = -162900236; + private static final long serialVersionUID = -819150211; /** * The reference instance of INFORMATION_SCHEMA.FUNCTION_ALIASES @@ -111,6 +112,10 @@ public class FunctionAliases extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public FunctionAliases(Table child, ForeignKey key) { + super(child, key, FUNCTION_ALIASES); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionColumns.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionColumns.java index 8c5e56f0cc..96c0667ad8 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionColumns.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/FunctionColumns.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class FunctionColumns extends TableImpl { - private static final long serialVersionUID = -1296724475; + private static final long serialVersionUID = 169336202; /** * The reference instance of INFORMATION_SCHEMA.FUNCTION_COLUMNS @@ -136,6 +137,10 @@ public class FunctionColumns extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public FunctionColumns(Table child, ForeignKey key) { + super(child, key, FUNCTION_COLUMNS); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Indexes.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Indexes.java index 7782d735f3..e997057c36 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Indexes.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Indexes.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Indexes extends TableImpl { - private static final long serialVersionUID = -311554387; + private static final long serialVersionUID = -1466822713; /** * The reference instance of INFORMATION_SCHEMA.INDEXES @@ -161,6 +162,10 @@ public class Indexes extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public Indexes(Table child, ForeignKey key) { + super(child, key, INDEXES); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Schemata.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Schemata.java index 39fd056c6b..beddab2248 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Schemata.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Schemata.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Schemata extends TableImpl { - private static final long serialVersionUID = -1744936991; + private static final long serialVersionUID = -1587750899; /** * The reference instance of INFORMATION_SCHEMA.SCHEMATA @@ -91,6 +92,10 @@ public class Schemata extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public Schemata(Table child, ForeignKey key) { + super(child, key, SCHEMATA); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Sequences.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Sequences.java index cb2a3b3978..274da4d807 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Sequences.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Sequences.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Sequences extends TableImpl { - private static final long serialVersionUID = 1226404694; + private static final long serialVersionUID = -1118138960; /** * The reference instance of INFORMATION_SCHEMA.SEQUENCES @@ -111,6 +112,10 @@ public class Sequences extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public Sequences(Table child, ForeignKey key) { + super(child, key, SEQUENCES); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Tables.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Tables.java index 74c158991d..3de194d523 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Tables.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/Tables.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Tables extends TableImpl { - private static final long serialVersionUID = 1327832751; + private static final long serialVersionUID = -356028407; /** * The reference instance of INFORMATION_SCHEMA.TABLES @@ -111,6 +112,10 @@ public class Tables extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public Tables(Table child, ForeignKey key) { + super(child, key, TABLES); + } + /** * {@inheritDoc} */ diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/TypeInfo.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/TypeInfo.java index 04f707ac5a..0ea3afb5ae 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/TypeInfo.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/information_schema/tables/TypeInfo.java @@ -5,6 +5,7 @@ package org.jooq.meta.h2.information_schema.tables; import org.jooq.Field; +import org.jooq.ForeignKey; import org.jooq.Name; import org.jooq.Record; import org.jooq.Schema; @@ -21,7 +22,7 @@ import org.jooq.meta.h2.information_schema.InformationSchema; @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TypeInfo extends TableImpl { - private static final long serialVersionUID = 922808969; + private static final long serialVersionUID = -504092352; /** * The reference instance of INFORMATION_SCHEMA.TYPE_INFO @@ -121,6 +122,10 @@ public class TypeInfo extends TableImpl { super(alias, null, aliased, parameters, DSL.comment("")); } + public TypeInfo(Table child, ForeignKey key) { + super(child, key, TYPE_INFO); + } + /** * {@inheritDoc} */