diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java
index f56349f089..353c403074 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java
@@ -541,6 +541,7 @@ public class GenerationTool {
database.setIncludeSystemIndexes(TRUE.equals(d.isIncludeSystemIndexes()));
database.setIncludeSystemCheckConstraints(TRUE.equals(d.isIncludeSystemCheckConstraints()));
database.setIncludeSystemSequences(TRUE.equals(d.isIncludeSystemSequences()));
+ database.setIncludeSystemUDTs(TRUE.equals(d.isIncludeSystemUDTs()));
database.setIncludeInvisibleColumns(!FALSE.equals(d.isIncludeInvisibleColumns()));
database.setIncludePrimaryKeys(!FALSE.equals(d.isIncludePrimaryKeys()));
database.setIncludeRoutines(!FALSE.equals(d.isIncludeRoutines()));
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
index 2beb333a71..d829398374 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
@@ -176,6 +176,7 @@ public abstract class AbstractDatabase implements Database {
private boolean includeSystemIndexes = false;
private boolean includeSystemCheckConstraints = false;
private boolean includeSystemSequences = false;
+ private boolean includeSystemUDTs = false;
private boolean includePrimaryKeys = true;
private boolean includeUniqueKeys = true;
private boolean includeForeignKeys = true;
@@ -1104,6 +1105,16 @@ public abstract class AbstractDatabase implements Database {
return includeSystemSequences;
}
+ @Override
+ public final void setIncludeSystemUDTs(boolean includeSystemUDTs) {
+ this.includeSystemUDTs = includeSystemUDTs;
+ }
+
+ @Override
+ public final boolean getIncludeSystemUDTs() {
+ return includeSystemUDTs;
+ }
+
@Override
public final void setIncludeIndexes(boolean includeIndexes) {
this.includeIndexes = includeIndexes;
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/Database.java b/jOOQ-meta/src/main/java/org/jooq/meta/Database.java
index 92b5f1c6af..b75a5eb75c 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/Database.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/Database.java
@@ -547,6 +547,16 @@ public interface Database extends AutoCloseable {
*/
boolean getIncludeSystemSequences();
+ /**
+ * whether system generated UDTs should be included.
+ */
+ void setIncludeSystemUDTs(boolean systemUDTs);
+
+ /**
+ * whether system generated UDTs should be included.
+ */
+ boolean getIncludeSystemUDTs();
+
/**
* whether indexes should be included.
*/
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 8274f6f09a..a29f27d636 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
@@ -91,6 +91,8 @@ public class Database implements Serializable, XMLAppendable
protected Boolean includeSystemCheckConstraints = false;
@XmlElement(defaultValue = "false")
protected Boolean includeSystemSequences = false;
+ @XmlElement(defaultValue = "false")
+ protected Boolean includeSystemUDTs = false;
@XmlElement(defaultValue = "true")
protected Boolean includeInvisibleColumns = true;
@XmlElement(defaultValue = "")
@@ -917,6 +919,30 @@ public class Database implements Serializable, XMLAppendable
this.includeSystemSequences = value;
}
+ /**
+ * This flag indicates whether system generated UDTs should be included in output produced by this database
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isIncludeSystemUDTs() {
+ return includeSystemUDTs;
+ }
+
+ /**
+ * Sets the value of the includeSystemUDTs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIncludeSystemUDTs(Boolean value) {
+ this.includeSystemUDTs = value;
+ }
+
/**
* This flag indicates whether invisible columns should be included in output produced by this database
*
@@ -1959,6 +1985,11 @@ public class Database implements Serializable, XMLAppendable
return this;
}
+ public Database withIncludeSystemUDTs(Boolean value) {
+ setIncludeSystemUDTs(value);
+ return this;
+ }
+
public Database withIncludeInvisibleColumns(Boolean value) {
setIncludeInvisibleColumns(value);
return this;
@@ -2452,6 +2483,7 @@ public class Database implements Serializable, XMLAppendable
builder.append("includeSystemIndexes", includeSystemIndexes);
builder.append("includeSystemCheckConstraints", includeSystemCheckConstraints);
builder.append("includeSystemSequences", includeSystemSequences);
+ builder.append("includeSystemUDTs", includeSystemUDTs);
builder.append("includeInvisibleColumns", includeInvisibleColumns);
builder.append("recordVersionFields", recordVersionFields);
builder.append("recordTimestampFields", recordTimestampFields);
@@ -2751,6 +2783,15 @@ public class Database implements Serializable, XMLAppendable
return false;
}
}
+ if (includeSystemUDTs == null) {
+ if (other.includeSystemUDTs!= null) {
+ return false;
+ }
+ } else {
+ if (!includeSystemUDTs.equals(other.includeSystemUDTs)) {
+ return false;
+ }
+ }
if (includeInvisibleColumns == null) {
if (other.includeInvisibleColumns!= null) {
return false;
@@ -3100,6 +3141,7 @@ public class Database implements Serializable, XMLAppendable
result = ((prime*result)+((includeSystemIndexes == null)? 0 :includeSystemIndexes.hashCode()));
result = ((prime*result)+((includeSystemCheckConstraints == null)? 0 :includeSystemCheckConstraints.hashCode()));
result = ((prime*result)+((includeSystemSequences == null)? 0 :includeSystemSequences.hashCode()));
+ result = ((prime*result)+((includeSystemUDTs == null)? 0 :includeSystemUDTs.hashCode()));
result = ((prime*result)+((includeInvisibleColumns == null)? 0 :includeInvisibleColumns.hashCode()));
result = ((prime*result)+((recordVersionFields == null)? 0 :recordVersionFields.hashCode()));
result = ((prime*result)+((recordTimestampFields == null)? 0 :recordTimestampFields.hashCode()));
diff --git a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.15.0.xsd b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.15.0.xsd
index 3326bb60cf..0e8c75e94d 100644
--- a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.15.0.xsd
+++ b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.15.0.xsd
@@ -660,6 +660,10 @@ Excludes match before includes, i.e. excludes have a higher priority.]]>
+
+
+
+