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.]]> + + + +