result = new ArrayList<>();
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Database.java b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Database.java
index 038fcd6eeb..592c652235 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Database.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Database.java
@@ -78,6 +78,8 @@ public class Database implements Serializable, XMLAppendable
@XmlElement(defaultValue = "true")
protected Boolean includeDomains = true;
@XmlElement(defaultValue = "true")
+ protected Boolean includeTriggers = true;
+ @XmlElement(defaultValue = "true")
protected Boolean includeSequences = true;
@XmlElement(defaultValue = "true")
protected Boolean includeIndexes = true;
@@ -823,6 +825,32 @@ public class Database implements Serializable, XMLAppendable
this.includeDomains = value;
}
+ /**
+ * This flag indicates whether triggers should be included in output produced by this database.
+ *
+ * This feature is available in the commercial distribution only.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isIncludeTriggers() {
+ return includeTriggers;
+ }
+
+ /**
+ * Sets the value of the includeTriggers property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIncludeTriggers(Boolean value) {
+ this.includeTriggers = value;
+ }
+
/**
* This flag indicates whether sequences should be included in output produced by this database
*
@@ -2282,6 +2310,11 @@ public class Database implements Serializable, XMLAppendable
return this;
}
+ public Database withIncludeTriggers(Boolean value) {
+ setIncludeTriggers(value);
+ return this;
+ }
+
public Database withIncludeSequences(Boolean value) {
setIncludeSequences(value);
return this;
@@ -2854,6 +2887,7 @@ public class Database implements Serializable, XMLAppendable
builder.append("includeXMLSchemaCollections", includeXMLSchemaCollections);
builder.append("includeUDTs", includeUDTs);
builder.append("includeDomains", includeDomains);
+ builder.append("includeTriggers", includeTriggers);
builder.append("includeSequences", includeSequences);
builder.append("includeIndexes", includeIndexes);
builder.append("includePrimaryKeys", includePrimaryKeys);
@@ -3116,6 +3150,15 @@ public class Database implements Serializable, XMLAppendable
return false;
}
}
+ if (includeTriggers == null) {
+ if (other.includeTriggers!= null) {
+ return false;
+ }
+ } else {
+ if (!includeTriggers.equals(other.includeTriggers)) {
+ return false;
+ }
+ }
if (includeSequences == null) {
if (other.includeSequences!= null) {
return false;
@@ -3612,6 +3655,7 @@ public class Database implements Serializable, XMLAppendable
result = ((prime*result)+((includeXMLSchemaCollections == null)? 0 :includeXMLSchemaCollections.hashCode()));
result = ((prime*result)+((includeUDTs == null)? 0 :includeUDTs.hashCode()));
result = ((prime*result)+((includeDomains == null)? 0 :includeDomains.hashCode()));
+ result = ((prime*result)+((includeTriggers == null)? 0 :includeTriggers.hashCode()));
result = ((prime*result)+((includeSequences == null)? 0 :includeSequences.hashCode()));
result = ((prime*result)+((includeIndexes == null)? 0 :includeIndexes.hashCode()));
result = ((prime*result)+((includePrimaryKeys == null)? 0 :includePrimaryKeys.hashCode()));
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java
index 16d4f7e1f4..71b5dc0be5 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/Generate.java
@@ -85,6 +85,8 @@ public class Generate implements Serializable, XMLAppendable
@XmlElement(defaultValue = "true")
protected Boolean sequences = true;
@XmlElement(defaultValue = "true")
+ protected Boolean triggers = true;
+ @XmlElement(defaultValue = "true")
protected Boolean udts = true;
@XmlElement(defaultValue = "true")
protected Boolean queues = true;
@@ -155,6 +157,8 @@ public class Generate implements Serializable, XMLAppendable
@XmlElement(defaultValue = "true")
protected Boolean globalDomainReferences = true;
@XmlElement(defaultValue = "true")
+ protected Boolean globalTriggerReferences = true;
+ @XmlElement(defaultValue = "true")
protected Boolean globalTableReferences = true;
@XmlElement(defaultValue = "true")
protected Boolean globalSequenceReferences = true;
@@ -865,6 +869,30 @@ public class Generate implements Serializable, XMLAppendable
this.sequences = value;
}
+ /**
+ * Generate Trigger classes.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isTriggers() {
+ return triggers;
+ }
+
+ /**
+ * Sets the value of the triggers property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setTriggers(Boolean value) {
+ this.triggers = value;
+ }
+
/**
* Generate UDT classes.
*
@@ -1699,6 +1727,30 @@ public class Generate implements Serializable, XMLAppendable
this.globalDomainReferences = value;
}
+ /**
+ * Turn off generation of global trigger references.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isGlobalTriggerReferences() {
+ return globalTriggerReferences;
+ }
+
+ /**
+ * Sets the value of the globalTriggerReferences property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setGlobalTriggerReferences(Boolean value) {
+ this.globalTriggerReferences = value;
+ }
+
/**
* Turn off generation of global table references.
*
@@ -2972,6 +3024,11 @@ public class Generate implements Serializable, XMLAppendable
return this;
}
+ public Generate withTriggers(Boolean value) {
+ setTriggers(value);
+ return this;
+ }
+
public Generate withUdts(Boolean value) {
setUdts(value);
return this;
@@ -3151,6 +3208,11 @@ public class Generate implements Serializable, XMLAppendable
return this;
}
+ public Generate withGlobalTriggerReferences(Boolean value) {
+ setGlobalTriggerReferences(value);
+ return this;
+ }
+
public Generate withGlobalTableReferences(Boolean value) {
setGlobalTableReferences(value);
return this;
@@ -3451,6 +3513,7 @@ public class Generate implements Serializable, XMLAppendable
builder.append("constructorPropertiesAnnotationOnRecords", constructorPropertiesAnnotationOnRecords);
builder.append("routines", routines);
builder.append("sequences", sequences);
+ builder.append("triggers", triggers);
builder.append("udts", udts);
builder.append("queues", queues);
builder.append("links", links);
@@ -3486,6 +3549,7 @@ public class Generate implements Serializable, XMLAppendable
builder.append("globalCatalogReferences", globalCatalogReferences);
builder.append("globalSchemaReferences", globalSchemaReferences);
builder.append("globalDomainReferences", globalDomainReferences);
+ builder.append("globalTriggerReferences", globalTriggerReferences);
builder.append("globalTableReferences", globalTableReferences);
builder.append("globalSequenceReferences", globalSequenceReferences);
builder.append("globalUDTReferences", globalUDTReferences);
@@ -3789,6 +3853,15 @@ public class Generate implements Serializable, XMLAppendable
return false;
}
}
+ if (triggers == null) {
+ if (other.triggers!= null) {
+ return false;
+ }
+ } else {
+ if (!triggers.equals(other.triggers)) {
+ return false;
+ }
+ }
if (udts == null) {
if (other.udts!= null) {
return false;
@@ -4104,6 +4177,15 @@ public class Generate implements Serializable, XMLAppendable
return false;
}
}
+ if (globalTriggerReferences == null) {
+ if (other.globalTriggerReferences!= null) {
+ return false;
+ }
+ } else {
+ if (!globalTriggerReferences.equals(other.globalTriggerReferences)) {
+ return false;
+ }
+ }
if (globalTableReferences == null) {
if (other.globalTableReferences!= null) {
return false;
@@ -4569,6 +4651,7 @@ public class Generate implements Serializable, XMLAppendable
result = ((prime*result)+((constructorPropertiesAnnotationOnRecords == null)? 0 :constructorPropertiesAnnotationOnRecords.hashCode()));
result = ((prime*result)+((routines == null)? 0 :routines.hashCode()));
result = ((prime*result)+((sequences == null)? 0 :sequences.hashCode()));
+ result = ((prime*result)+((triggers == null)? 0 :triggers.hashCode()));
result = ((prime*result)+((udts == null)? 0 :udts.hashCode()));
result = ((prime*result)+((queues == null)? 0 :queues.hashCode()));
result = ((prime*result)+((links == null)? 0 :links.hashCode()));
@@ -4604,6 +4687,7 @@ public class Generate implements Serializable, XMLAppendable
result = ((prime*result)+((globalCatalogReferences == null)? 0 :globalCatalogReferences.hashCode()));
result = ((prime*result)+((globalSchemaReferences == null)? 0 :globalSchemaReferences.hashCode()));
result = ((prime*result)+((globalDomainReferences == null)? 0 :globalDomainReferences.hashCode()));
+ result = ((prime*result)+((globalTriggerReferences == null)? 0 :globalTriggerReferences.hashCode()));
result = ((prime*result)+((globalTableReferences == null)? 0 :globalTableReferences.hashCode()));
result = ((prime*result)+((globalSequenceReferences == null)? 0 :globalSequenceReferences.hashCode()));
result = ((prime*result)+((globalUDTReferences == null)? 0 :globalUDTReferences.hashCode()));
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java
index 7ef7640a60..ceeacd7577 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java
@@ -92,6 +92,7 @@ import static org.jooq.meta.postgres.information_schema.Tables.PARAMETERS;
import static org.jooq.meta.postgres.information_schema.Tables.ROUTINES;
import static org.jooq.meta.postgres.information_schema.Tables.SEQUENCES;
import static org.jooq.meta.postgres.information_schema.Tables.TABLES;
+import static org.jooq.meta.postgres.information_schema.Tables.TRIGGERS;
import static org.jooq.meta.postgres.information_schema.Tables.VIEWS;
import static org.jooq.meta.postgres.pg_catalog.Tables.PG_CLASS;
import static org.jooq.meta.postgres.pg_catalog.Tables.PG_CONSTRAINT;
@@ -104,13 +105,16 @@ import static org.jooq.meta.postgres.pg_catalog.Tables.PG_NAMESPACE;
import static org.jooq.meta.postgres.pg_catalog.Tables.PG_PROC;
import static org.jooq.meta.postgres.pg_catalog.Tables.PG_SEQUENCE;
import static org.jooq.meta.postgres.pg_catalog.Tables.PG_TYPE;
+import static org.jooq.tools.StringUtils.defaultIfNull;
import static org.jooq.util.postgres.PostgresDSL.arrayAppend;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.EnumSet;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -136,6 +140,9 @@ import org.jooq.SortOrder;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions.TableType;
+// ...
+// ...
+// ...
import org.jooq.conf.ParseUnknownFunctions;
import org.jooq.exception.DataAccessException;
import org.jooq.impl.DSL;
@@ -154,6 +161,7 @@ import org.jooq.meta.DefaultEnumDefinition;
import org.jooq.meta.DefaultIndexColumnDefinition;
import org.jooq.meta.DefaultRelations;
import org.jooq.meta.DefaultSequenceDefinition;
+// ...
import org.jooq.meta.DomainDefinition;
import org.jooq.meta.EnumDefinition;
import org.jooq.meta.IndexColumnDefinition;
@@ -164,12 +172,14 @@ import org.jooq.meta.RoutineDefinition;
import org.jooq.meta.SchemaDefinition;
import org.jooq.meta.SequenceDefinition;
import org.jooq.meta.TableDefinition;
+// ...
import org.jooq.meta.UDTDefinition;
import org.jooq.meta.XMLSchemaCollectionDefinition;
import org.jooq.meta.hsqldb.HSQLDBDatabase;
import org.jooq.meta.postgres.information_schema.tables.CheckConstraints;
import org.jooq.meta.postgres.information_schema.tables.KeyColumnUsage;
import org.jooq.meta.postgres.information_schema.tables.Routines;
+import org.jooq.meta.postgres.information_schema.tables.Triggers;
import org.jooq.meta.postgres.pg_catalog.tables.PgClass;
import org.jooq.meta.postgres.pg_catalog.tables.PgConstraint;
import org.jooq.meta.postgres.pg_catalog.tables.PgIndex;
@@ -904,6 +914,87 @@ public class PostgresDatabase extends AbstractDatabase implements ResultQueryDat
return result;
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@Override
protected List getXMLSchemaCollections0() throws SQLException {
List result = new ArrayList<>();
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/InformationSchema.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/InformationSchema.java
index e5d0a5ea3b..c79d605673 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/InformationSchema.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/InformationSchema.java
@@ -21,6 +21,7 @@ import org.jooq.meta.postgres.information_schema.tables.Routines;
import org.jooq.meta.postgres.information_schema.tables.Schemata;
import org.jooq.meta.postgres.information_schema.tables.Sequences;
import org.jooq.meta.postgres.information_schema.tables.Tables;
+import org.jooq.meta.postgres.information_schema.tables.Triggers;
import org.jooq.meta.postgres.information_schema.tables.Views;
@@ -97,6 +98,11 @@ public class InformationSchema extends SchemaImpl {
*/
public final Tables TABLES = Tables.TABLES;
+ /**
+ * The table information_schema.triggers.
+ */
+ public final Triggers TRIGGERS = Triggers.TRIGGERS;
+
/**
* The table information_schema.views.
*/
@@ -124,6 +130,7 @@ public class InformationSchema extends SchemaImpl {
Schemata.SCHEMATA,
Sequences.SEQUENCES,
Tables.TABLES,
+ Triggers.TRIGGERS,
Views.VIEWS
);
}
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Keys.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Keys.java
index 6223e8366b..eabf38beac 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Keys.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Keys.java
@@ -19,6 +19,7 @@ import org.jooq.meta.postgres.information_schema.tables.Routines;
import org.jooq.meta.postgres.information_schema.tables.Schemata;
import org.jooq.meta.postgres.information_schema.tables.Sequences;
import org.jooq.meta.postgres.information_schema.tables.Tables;
+import org.jooq.meta.postgres.information_schema.tables.Triggers;
import org.jooq.meta.postgres.information_schema.tables.Views;
@@ -38,6 +39,7 @@ public class Keys {
public static final UniqueKey SYNTHETIC_PK_SCHEMATA = Internal.createUniqueKey(Schemata.SCHEMATA, DSL.name("SYNTHETIC_PK_schemata"), new TableField[] { Schemata.SCHEMATA.CATALOG_NAME, Schemata.SCHEMATA.SCHEMA_NAME }, true);
public static final UniqueKey SYNTHETIC_PK_SEQUENCES = Internal.createUniqueKey(Sequences.SEQUENCES, DSL.name("SYNTHETIC_PK_sequences"), new TableField[] { Sequences.SEQUENCES.SEQUENCE_CATALOG, Sequences.SEQUENCES.SEQUENCE_SCHEMA, Sequences.SEQUENCES.SEQUENCE_NAME }, true);
public static final UniqueKey SYNTHETIC_PK_TABLES = Internal.createUniqueKey(Tables.TABLES, DSL.name("SYNTHETIC_PK_tables"), new TableField[] { Tables.TABLES.TABLE_CATALOG, Tables.TABLES.TABLE_SCHEMA, Tables.TABLES.TABLE_NAME }, true);
+ public static final UniqueKey SYNTHETIC_PK_TRIGGERS = Internal.createUniqueKey(Triggers.TRIGGERS, DSL.name("SYNTHETIC_PK_triggers"), new TableField[] { Triggers.TRIGGERS.TRIGGER_CATALOG, Triggers.TRIGGERS.TRIGGER_SCHEMA, Triggers.TRIGGERS.TRIGGER_NAME }, true);
// -------------------------------------------------------------------------
// FOREIGN KEY definitions
@@ -51,6 +53,7 @@ public class Keys {
public static final ForeignKey ROUTINES__SYNTHETIC_FK_ROUTINES__SYNTHETIC_PK_SCHEMATA = Internal.createForeignKey(Routines.ROUTINES, DSL.name("SYNTHETIC_FK_routines__SYNTHETIC_PK_schemata"), new TableField[] { Routines.ROUTINES.ROUTINE_CATALOG, Routines.ROUTINES.ROUTINE_SCHEMA }, Keys.SYNTHETIC_PK_SCHEMATA, new TableField[] { Schemata.SCHEMATA.CATALOG_NAME, Schemata.SCHEMATA.SCHEMA_NAME }, true);
public static final ForeignKey SEQUENCES__SYNTHETIC_FK_SEQUENCES__SYNTHETIC_PK_SCHEMATA = Internal.createForeignKey(Sequences.SEQUENCES, DSL.name("SYNTHETIC_FK_sequences__SYNTHETIC_PK_schemata"), new TableField[] { Sequences.SEQUENCES.SEQUENCE_CATALOG, Sequences.SEQUENCES.SEQUENCE_SCHEMA }, Keys.SYNTHETIC_PK_SCHEMATA, new TableField[] { Schemata.SCHEMATA.CATALOG_NAME, Schemata.SCHEMATA.SCHEMA_NAME }, true);
public static final ForeignKey TABLES__SYNTHETIC_FK_TABLES__SYNTHETIC_PK_SCHEMATA = Internal.createForeignKey(Tables.TABLES, DSL.name("SYNTHETIC_FK_tables__SYNTHETIC_PK_schemata"), new TableField[] { Tables.TABLES.TABLE_CATALOG, Tables.TABLES.TABLE_SCHEMA }, Keys.SYNTHETIC_PK_SCHEMATA, new TableField[] { Schemata.SCHEMATA.CATALOG_NAME, Schemata.SCHEMATA.SCHEMA_NAME }, true);
+ public static final ForeignKey TRIGGERS__SYNTHETIC_FK_TRIGGERS__SYNTHETIC_PK_TABLES = Internal.createForeignKey(Triggers.TRIGGERS, DSL.name("SYNTHETIC_FK_triggers__SYNTHETIC_PK_tables"), new TableField[] { Triggers.TRIGGERS.EVENT_OBJECT_CATALOG, Triggers.TRIGGERS.EVENT_OBJECT_SCHEMA }, Keys.SYNTHETIC_PK_TABLES, new TableField[] { Tables.TABLES.TABLE_CATALOG, Tables.TABLES.TABLE_SCHEMA }, true);
public static final ForeignKey VIEWS__SYNTHETIC_FK_VIEWS__SYNTHETIC_PK_SCHEMATA = Internal.createForeignKey(Views.VIEWS, DSL.name("SYNTHETIC_FK_views__SYNTHETIC_PK_schemata"), new TableField[] { Views.VIEWS.TABLE_CATALOG, Views.VIEWS.TABLE_SCHEMA }, Keys.SYNTHETIC_PK_SCHEMATA, new TableField[] { Schemata.SCHEMATA.CATALOG_NAME, Schemata.SCHEMATA.SCHEMA_NAME }, true);
public static final ForeignKey VIEWS__SYNTHETIC_FK_VIEWS__SYNTHETIC_PK_TABLES = Internal.createForeignKey(Views.VIEWS, DSL.name("SYNTHETIC_FK_views__SYNTHETIC_PK_tables"), new TableField[] { Views.VIEWS.TABLE_CATALOG, Views.VIEWS.TABLE_SCHEMA, Views.VIEWS.TABLE_NAME }, Keys.SYNTHETIC_PK_TABLES, new TableField[] { Tables.TABLES.TABLE_CATALOG, Tables.TABLES.TABLE_SCHEMA, Tables.TABLES.TABLE_NAME }, true);
}
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Tables.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Tables.java
index 9b39d626d8..8e7ee64ab4 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Tables.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/Tables.java
@@ -15,6 +15,7 @@ import org.jooq.meta.postgres.information_schema.tables.ReferentialConstraints;
import org.jooq.meta.postgres.information_schema.tables.Routines;
import org.jooq.meta.postgres.information_schema.tables.Schemata;
import org.jooq.meta.postgres.information_schema.tables.Sequences;
+import org.jooq.meta.postgres.information_schema.tables.Triggers;
import org.jooq.meta.postgres.information_schema.tables.Views;
@@ -84,6 +85,11 @@ public class Tables {
*/
public static final org.jooq.meta.postgres.information_schema.tables.Tables TABLES = org.jooq.meta.postgres.information_schema.tables.Tables.TABLES;
+ /**
+ * The table information_schema.triggers.
+ */
+ public static final Triggers TRIGGERS = Triggers.TRIGGERS;
+
/**
* The table information_schema.views.
*/
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/CheckConstraints.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/CheckConstraints.java
index e83118ea1b..d967c8149d 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/CheckConstraints.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/CheckConstraints.java
@@ -109,10 +109,31 @@ public class CheckConstraints extends TableImpl {
super(path, childPath, parentPath, CHECK_CONSTRAINTS);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class CheckConstraintsPath extends CheckConstraints implements Path {
public CheckConstraintsPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private CheckConstraintsPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public CheckConstraintsPath as(String alias) {
+ return new CheckConstraintsPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public CheckConstraintsPath as(Name alias) {
+ return new CheckConstraintsPath(alias, this);
+ }
+
+ @Override
+ public CheckConstraintsPath as(Table> alias) {
+ return new CheckConstraintsPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Columns.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Columns.java
index 57f3acbad2..3f8dcf148c 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Columns.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Columns.java
@@ -304,10 +304,31 @@ public class Columns extends TableImpl {
super(path, childPath, parentPath, COLUMNS);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class ColumnsPath extends Columns implements Path {
public ColumnsPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private ColumnsPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public ColumnsPath as(String alias) {
+ return new ColumnsPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public ColumnsPath as(Name alias) {
+ return new ColumnsPath(alias, this);
+ }
+
+ @Override
+ public ColumnsPath as(Table> alias) {
+ return new ColumnsPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/KeyColumnUsage.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/KeyColumnUsage.java
index 8831978971..07c9d00427 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/KeyColumnUsage.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/KeyColumnUsage.java
@@ -134,10 +134,31 @@ public class KeyColumnUsage extends TableImpl {
super(path, childPath, parentPath, KEY_COLUMN_USAGE);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class KeyColumnUsagePath extends KeyColumnUsage implements Path {
public KeyColumnUsagePath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private KeyColumnUsagePath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public KeyColumnUsagePath as(String alias) {
+ return new KeyColumnUsagePath(DSL.name(alias), this);
+ }
+
+ @Override
+ public KeyColumnUsagePath as(Name alias) {
+ return new KeyColumnUsagePath(alias, this);
+ }
+
+ @Override
+ public KeyColumnUsagePath as(Table> alias) {
+ return new KeyColumnUsagePath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/ReferentialConstraints.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/ReferentialConstraints.java
index e0ed435240..368e6a26a9 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/ReferentialConstraints.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/ReferentialConstraints.java
@@ -138,10 +138,31 @@ public class ReferentialConstraints extends TableImpl {
super(path, childPath, parentPath, REFERENTIAL_CONSTRAINTS);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class ReferentialConstraintsPath extends ReferentialConstraints implements Path {
public ReferentialConstraintsPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private ReferentialConstraintsPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public ReferentialConstraintsPath as(String alias) {
+ return new ReferentialConstraintsPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public ReferentialConstraintsPath as(Name alias) {
+ return new ReferentialConstraintsPath(alias, this);
+ }
+
+ @Override
+ public ReferentialConstraintsPath as(Table> alias) {
+ return new ReferentialConstraintsPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Routines.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Routines.java
index 71766375bf..fb4cda881b 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Routines.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Routines.java
@@ -525,10 +525,31 @@ public class Routines extends TableImpl {
super(path, childPath, parentPath, ROUTINES);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class RoutinesPath extends Routines implements Path {
public RoutinesPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private RoutinesPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public RoutinesPath as(String alias) {
+ return new RoutinesPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public RoutinesPath as(Name alias) {
+ return new RoutinesPath(alias, this);
+ }
+
+ @Override
+ public RoutinesPath as(Table> alias) {
+ return new RoutinesPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Schemata.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Schemata.java
index 5c0ca59ade..99a7c90550 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Schemata.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Schemata.java
@@ -125,10 +125,31 @@ public class Schemata extends TableImpl {
super(path, childPath, parentPath, SCHEMATA);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class SchemataPath extends Schemata implements Path {
public SchemataPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private SchemataPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public SchemataPath as(String alias) {
+ return new SchemataPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public SchemataPath as(Name alias) {
+ return new SchemataPath(alias, this);
+ }
+
+ @Override
+ public SchemataPath as(Table> alias) {
+ return new SchemataPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Sequences.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Sequences.java
index 32bf9d4298..b42c155ea8 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Sequences.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Sequences.java
@@ -144,10 +144,31 @@ public class Sequences extends TableImpl {
super(path, childPath, parentPath, SEQUENCES);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class SequencesPath extends Sequences implements Path {
public SequencesPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private SequencesPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public SequencesPath as(String alias) {
+ return new SequencesPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public SequencesPath as(Name alias) {
+ return new SequencesPath(alias, this);
+ }
+
+ @Override
+ public SequencesPath as(Table> alias) {
+ return new SequencesPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Tables.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Tables.java
index b57c3eda66..8d3eb248d6 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Tables.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Tables.java
@@ -26,6 +26,7 @@ import org.jooq.meta.postgres.information_schema.InformationSchema;
import org.jooq.meta.postgres.information_schema.Keys;
import org.jooq.meta.postgres.information_schema.tables.Columns.ColumnsPath;
import org.jooq.meta.postgres.information_schema.tables.Schemata.SchemataPath;
+import org.jooq.meta.postgres.information_schema.tables.Triggers.TriggersPath;
import org.jooq.meta.postgres.information_schema.tables.Views.ViewsPath;
@@ -146,10 +147,31 @@ public class Tables extends TableImpl {
super(path, childPath, parentPath, TABLES);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class TablesPath extends Tables implements Path {
public TablesPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private TablesPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public TablesPath as(String alias) {
+ return new TablesPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public TablesPath as(Name alias) {
+ return new TablesPath(alias, this);
+ }
+
+ @Override
+ public TablesPath as(Table> alias) {
+ return new TablesPath(alias.getQualifiedName(), this);
+ }
}
@Override
@@ -193,6 +215,19 @@ public class Tables extends TableImpl {
return _columns;
}
+ private transient TriggersPath _triggers;
+
+ /**
+ * Get the implicit to-many join path to the
+ * information_schema.triggers table
+ */
+ public TriggersPath triggers() {
+ if (_triggers == null)
+ _triggers = new TriggersPath(this, null, Keys.TRIGGERS__SYNTHETIC_FK_TRIGGERS__SYNTHETIC_PK_TABLES.getInverseKey());
+
+ return _triggers;
+ }
+
private transient ViewsPath _views;
/**
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Triggers.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Triggers.java
new file mode 100644
index 0000000000..acede6f958
--- /dev/null
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Triggers.java
@@ -0,0 +1,245 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package org.jooq.meta.postgres.information_schema.tables;
+
+
+import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.InverseForeignKey;
+import org.jooq.Name;
+import org.jooq.Path;
+import org.jooq.Record;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+import org.jooq.meta.postgres.information_schema.InformationSchema;
+import org.jooq.meta.postgres.information_schema.Keys;
+import org.jooq.meta.postgres.information_schema.tables.Tables.TablesPath;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Triggers extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of information_schema.triggers
+ */
+ public static final Triggers TRIGGERS = new Triggers();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return Record.class;
+ }
+
+ /**
+ * The column information_schema.triggers.trigger_catalog.
+ */
+ public final TableField TRIGGER_CATALOG = createField(DSL.name("trigger_catalog"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.trigger_schema.
+ */
+ public final TableField TRIGGER_SCHEMA = createField(DSL.name("trigger_schema"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.trigger_name.
+ */
+ public final TableField TRIGGER_NAME = createField(DSL.name("trigger_name"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.event_manipulation.
+ */
+ public final TableField EVENT_MANIPULATION = createField(DSL.name("event_manipulation"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.event_object_catalog.
+ */
+ public final TableField EVENT_OBJECT_CATALOG = createField(DSL.name("event_object_catalog"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.event_object_schema.
+ */
+ public final TableField EVENT_OBJECT_SCHEMA = createField(DSL.name("event_object_schema"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.event_object_table.
+ */
+ public final TableField EVENT_OBJECT_TABLE = createField(DSL.name("event_object_table"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.action_order.
+ */
+ public final TableField ACTION_ORDER = createField(DSL.name("action_order"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column information_schema.triggers.action_condition.
+ */
+ public final TableField ACTION_CONDITION = createField(DSL.name("action_condition"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.action_statement.
+ */
+ public final TableField ACTION_STATEMENT = createField(DSL.name("action_statement"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.action_orientation.
+ */
+ public final TableField ACTION_ORIENTATION = createField(DSL.name("action_orientation"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.action_timing.
+ */
+ public final TableField ACTION_TIMING = createField(DSL.name("action_timing"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column
+ * information_schema.triggers.action_reference_old_table.
+ */
+ public final TableField ACTION_REFERENCE_OLD_TABLE = createField(DSL.name("action_reference_old_table"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column
+ * information_schema.triggers.action_reference_new_table.
+ */
+ public final TableField ACTION_REFERENCE_NEW_TABLE = createField(DSL.name("action_reference_new_table"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column
+ * information_schema.triggers.action_reference_old_row.
+ */
+ public final TableField ACTION_REFERENCE_OLD_ROW = createField(DSL.name("action_reference_old_row"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column
+ * information_schema.triggers.action_reference_new_row.
+ */
+ public final TableField ACTION_REFERENCE_NEW_ROW = createField(DSL.name("action_reference_new_row"), SQLDataType.VARCHAR, this, "");
+
+ /**
+ * The column information_schema.triggers.created.
+ */
+ public final TableField CREATED = createField(DSL.name("created"), SQLDataType.TIMESTAMP(0), this, "");
+
+ private Triggers(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private Triggers(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view(), where);
+ }
+
+ /**
+ * Create an aliased information_schema.triggers table
+ * reference
+ */
+ public Triggers(String alias) {
+ this(DSL.name(alias), TRIGGERS);
+ }
+
+ /**
+ * Create an aliased information_schema.triggers table
+ * reference
+ */
+ public Triggers(Name alias) {
+ this(alias, TRIGGERS);
+ }
+
+ /**
+ * Create a information_schema.triggers table reference
+ */
+ public Triggers() {
+ this(DSL.name("triggers"), null);
+ }
+
+ public Triggers(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath, TRIGGERS);
+ }
+
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
+ public static class TriggersPath extends Triggers implements Path {
+ public TriggersPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
+ super(path, childPath, parentPath);
+ }
+ private TriggersPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public TriggersPath as(String alias) {
+ return new TriggersPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public TriggersPath as(Name alias) {
+ return new TriggersPath(alias, this);
+ }
+
+ @Override
+ public TriggersPath as(Table> alias) {
+ return new TriggersPath(alias.getQualifiedName(), this);
+ }
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : InformationSchema.INFORMATION_SCHEMA;
+ }
+
+ @Override
+ public UniqueKey getPrimaryKey() {
+ return Keys.SYNTHETIC_PK_TRIGGERS;
+ }
+
+ @Override
+ public List> getReferences() {
+ return Arrays.asList(Keys.TRIGGERS__SYNTHETIC_FK_TRIGGERS__SYNTHETIC_PK_TABLES);
+ }
+
+ private transient TablesPath _tables;
+
+ /**
+ * Get the implicit join path to the information_schema.tables
+ * table.
+ */
+ public TablesPath tables() {
+ if (_tables == null)
+ _tables = new TablesPath(this, Keys.TRIGGERS__SYNTHETIC_FK_TRIGGERS__SYNTHETIC_PK_TABLES, null);
+
+ return _tables;
+ }
+
+ @Override
+ public Triggers as(String alias) {
+ return new Triggers(DSL.name(alias), this);
+ }
+
+ @Override
+ public Triggers as(Name alias) {
+ return new Triggers(alias, this);
+ }
+
+ @Override
+ public Triggers as(Table> alias) {
+ return new Triggers(alias.getQualifiedName(), this);
+ }
+}
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Views.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Views.java
index 4ddbe87ff1..2f8a9cb6cb 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Views.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/information_schema/tables/Views.java
@@ -132,10 +132,31 @@ public class Views extends TableImpl {
super(path, childPath, parentPath, VIEWS);
}
+ /**
+ * A subtype implementing {@link Path} for simplified path-based joins.
+ */
public static class ViewsPath extends Views implements Path {
public ViewsPath(Table path, ForeignKey childPath, InverseForeignKey parentPath) {
super(path, childPath, parentPath);
}
+ private ViewsPath(Name alias, Table aliased) {
+ super(alias, aliased);
+ }
+
+ @Override
+ public ViewsPath as(String alias) {
+ return new ViewsPath(DSL.name(alias), this);
+ }
+
+ @Override
+ public ViewsPath as(Name alias) {
+ return new ViewsPath(alias, this);
+ }
+
+ @Override
+ public ViewsPath as(Table> alias) {
+ return new ViewsPath(alias.getQualifiedName(), this);
+ }
}
@Override
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java
index 4d7dc53c43..6388eac1e3 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java
@@ -108,6 +108,7 @@ import org.jooq.meta.RoutineDefinition;
import org.jooq.meta.SchemaDefinition;
import org.jooq.meta.SequenceDefinition;
import org.jooq.meta.TableDefinition;
+// ...
import org.jooq.meta.UDTDefinition;
import org.jooq.meta.XMLSchemaCollectionDefinition;
import org.jooq.meta.jaxb.SchemaMappingType;
@@ -482,6 +483,16 @@ public class SQLiteDatabase extends AbstractDatabase implements ResultQueryDatab
return result;
}
+
+
+
+
+
+
+
+
+
+
@Override
protected List getXMLSchemaCollections0() throws SQLException {
List result = new ArrayList<>();
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java
index a9b2b574bd..7d34bfd78f 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java
@@ -71,6 +71,7 @@ import org.jooq.meta.RoutineDefinition;
import org.jooq.meta.SchemaDefinition;
import org.jooq.meta.SequenceDefinition;
import org.jooq.meta.TableDefinition;
+// ...
import org.jooq.meta.UDTDefinition;
import org.jooq.meta.XMLSchemaCollectionDefinition;
import org.jooq.meta.hsqldb.HSQLDBDatabase;
@@ -170,6 +171,15 @@ public class TrinoDatabase extends AbstractDatabase implements ResultQueryDataba
return new ArrayList<>();
}
+
+
+
+
+
+
+
+
+
@Override
protected List getCatalogs0() throws SQLException {
List result = new ArrayList<>();
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/xml/XMLDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/xml/XMLDatabase.java
index 777ac42dd1..b6e37e539f 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/xml/XMLDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/xml/XMLDatabase.java
@@ -103,6 +103,7 @@ import org.jooq.meta.RoutineDefinition;
import org.jooq.meta.SchemaDefinition;
import org.jooq.meta.SequenceDefinition;
import org.jooq.meta.TableDefinition;
+// ...
import org.jooq.meta.UDTDefinition;
import org.jooq.meta.XMLSchemaCollectionDefinition;
import org.jooq.tools.JooqLogger;
@@ -584,6 +585,16 @@ public class XMLDatabase extends AbstractDatabase {
return result;
}
+
+
+
+
+
+
+
+
+
+
@Override
protected List getXMLSchemaCollections0() throws SQLException {
List result = new ArrayList<>();
diff --git a/jOOQ-meta/src/main/resources/org/jooq/meta/xsd/jooq-codegen-3.19.0.xsd b/jOOQ-meta/src/main/resources/org/jooq/meta/xsd/jooq-codegen-3.19.0.xsd
index 5adc46c3d5..fe3490ae56 100644
--- a/jOOQ-meta/src/main/resources/org/jooq/meta/xsd/jooq-codegen-3.19.0.xsd
+++ b/jOOQ-meta/src/main/resources/org/jooq/meta/xsd/jooq-codegen-3.19.0.xsd
@@ -767,6 +767,12 @@ Excludes match before includes, i.e. excludes have a higher priority.]]>
+
+
+This feature is available in the commercial distribution only.]]>
+
+
@@ -2182,6 +2188,10 @@ jOOQ version used for source code.]]>
+
+
+
+
@@ -2330,6 +2340,10 @@ jOOQ version used for source code.]]>
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/Schema.java b/jOOQ/src/main/java/org/jooq/Schema.java
index 6c507f5e7c..68a4a90f1c 100644
--- a/jOOQ/src/main/java/org/jooq/Schema.java
+++ b/jOOQ/src/main/java/org/jooq/Schema.java
@@ -263,6 +263,36 @@ public interface Schema extends Named {
@Nullable
Domain> getDomain(Name name);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
* Stream all sequences contained in this schema.
*/
diff --git a/jOOQ/src/main/java/org/jooq/Trigger.java b/jOOQ/src/main/java/org/jooq/Trigger.java
new file mode 100644
index 0000000000..1fdd9ec87b
--- /dev/null
+++ b/jOOQ/src/main/java/org/jooq/Trigger.java
@@ -0,0 +1,104 @@
+/*
+ * 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
+ *
+ * https://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: https://www.jooq.org/legal/licensing
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+package org.jooq;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/TriggerEvent.java b/jOOQ/src/main/java/org/jooq/TriggerEvent.java
new file mode 100644
index 0000000000..e09779fad6
--- /dev/null
+++ b/jOOQ/src/main/java/org/jooq/TriggerEvent.java
@@ -0,0 +1,65 @@
+/*
+ * 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
+ *
+ * https://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: https://www.jooq.org/legal/licensing
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+package org.jooq;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/TriggerExecution.java b/jOOQ/src/main/java/org/jooq/TriggerExecution.java
new file mode 100644
index 0000000000..340c25a757
--- /dev/null
+++ b/jOOQ/src/main/java/org/jooq/TriggerExecution.java
@@ -0,0 +1,60 @@
+/*
+ * 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
+ *
+ * https://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: https://www.jooq.org/legal/licensing
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+package org.jooq;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/TriggerTime.java b/jOOQ/src/main/java/org/jooq/TriggerTime.java
new file mode 100644
index 0000000000..e09779fad6
--- /dev/null
+++ b/jOOQ/src/main/java/org/jooq/TriggerTime.java
@@ -0,0 +1,65 @@
+/*
+ * 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
+ *
+ * https://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: https://www.jooq.org/legal/licensing
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+package org.jooq;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/impl/Internal.java b/jOOQ/src/main/java/org/jooq/impl/Internal.java
index 903d9cef7e..67fa246cd3 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Internal.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Internal.java
@@ -46,12 +46,14 @@ import static org.jooq.tools.StringUtils.isBlank;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
import org.jooq.Binding;
import org.jooq.Check;
import org.jooq.Comment;
+import org.jooq.Condition;
import org.jooq.Configuration;
import org.jooq.Converter;
import org.jooq.ConverterContext;
@@ -84,6 +86,10 @@ import org.jooq.Support;
import org.jooq.Table;
import org.jooq.TableElement;
import org.jooq.TableField;
+// ...
+// ...
+// ...
+// ...
import org.jooq.UDT;
import org.jooq.UDTRecord;
import org.jooq.UniqueKey;
@@ -289,6 +295,31 @@ public final class Internal {
return new DomainImpl<>(schema, name, actualType, checks);
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
* Factory method for path aliases.
*/
diff --git a/jOOQ/src/main/java/org/jooq/impl/LazySchema.java b/jOOQ/src/main/java/org/jooq/impl/LazySchema.java
index e3e32c7870..049ae203ae 100644
--- a/jOOQ/src/main/java/org/jooq/impl/LazySchema.java
+++ b/jOOQ/src/main/java/org/jooq/impl/LazySchema.java
@@ -55,6 +55,7 @@ import org.jooq.Schema;
import org.jooq.Sequence;
import org.jooq.Table;
// ...
+// ...
import org.jooq.UDT;
import org.jooq.UniqueKey;
import org.jooq.QueryPart;
@@ -214,6 +215,25 @@ public final class LazySchema extends AbstractNamed implements Schema {
return schema().getDomain(name);
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@Override
public final List> getSequences() {
return schema().getSequences();
@@ -264,6 +284,15 @@ public final class LazySchema extends AbstractNamed implements Schema {
return schema().domainStream();
}
+
+
+
+
+
+
+
+
+
@Override
public final Stream> sequenceStream() {
return schema().sequenceStream();
diff --git a/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java b/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java
index 1d04b97cef..2c5ec23b59 100644
--- a/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java
@@ -62,6 +62,7 @@ import org.jooq.Name;
import org.jooq.Schema;
import org.jooq.Sequence;
import org.jooq.Table;
+// ...
import org.jooq.UDT;
import org.jooq.UniqueKey;
import org.jooq.impl.QOM.UEmpty;
@@ -213,6 +214,20 @@ implements
return find(name, getDomains());
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@Override
public final Sequence> getSequence(String name) {
return find(name, getSequences());
@@ -299,6 +314,20 @@ implements
return Collections.emptyList();
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
* {@inheritDoc}
*
@@ -344,6 +373,15 @@ implements
return getDomains().stream();
}
+
+
+
+
+
+
+
+
+
@Override
public final Stream> sequenceStream() {
return getSequences().stream();
diff --git a/jOOQ/src/main/java/org/jooq/impl/TriggerImpl.java b/jOOQ/src/main/java/org/jooq/impl/TriggerImpl.java
new file mode 100644
index 0000000000..c0aa10c435
--- /dev/null
+++ b/jOOQ/src/main/java/org/jooq/impl/TriggerImpl.java
@@ -0,0 +1,187 @@
+/*
+ * 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
+ *
+ * https://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: https://www.jooq.org/legal/licensing
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+package org.jooq.impl;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+