diff --git a/jOOQ/src/main/java/org/jooq/conf/Settings.java b/jOOQ/src/main/java/org/jooq/conf/Settings.java index db16408375..6fce07a255 100644 --- a/jOOQ/src/main/java/org/jooq/conf/Settings.java +++ b/jOOQ/src/main/java/org/jooq/conf/Settings.java @@ -230,6 +230,8 @@ public class Settings @XmlElement(defaultValue = "false") protected Boolean interpreterDelayForeignKeyDeclarations = false; @XmlElement(defaultValue = "false") + protected Boolean metaIncludeSystemIndexes = false; + @XmlElement(defaultValue = "false") protected Boolean migrationAllowsUndo = false; @XmlElement(defaultValue = "false") protected Boolean migrationRevertUntracked = false; @@ -2044,6 +2046,30 @@ public class Settings this.interpreterDelayForeignKeyDeclarations = value; } + /** + * The {@link org.jooq.Meta} implementation that is backed by {@link java.sql.DatabaseMetaData} does not produce system generated indexes on constraints, by default. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isMetaIncludeSystemIndexes() { + return metaIncludeSystemIndexes; + } + + /** + * Sets the value of the metaIncludeSystemIndexes property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setMetaIncludeSystemIndexes(Boolean value) { + this.metaIncludeSystemIndexes = value; + } + /** * Whether migrations are allowed to be executed in inverse order.
This is a potentially destructive feature, which should not be turned on in production. It is useful mostly to quickly switch between branches in a development environment. This feature is available only in commercial distributions.
*
@@ -3070,6 +3096,11 @@ public class Settings
return this;
}
+ public Settings withMetaIncludeSystemIndexes(Boolean value) {
+ setMetaIncludeSystemIndexes(value);
+ return this;
+ }
+
public Settings withMigrationAllowsUndo(Boolean value) {
setMigrationAllowsUndo(value);
return this;
@@ -3341,6 +3372,7 @@ public class Settings
builder.append("interpreterNameLookupCaseSensitivity", interpreterNameLookupCaseSensitivity);
builder.append("interpreterLocale", interpreterLocale);
builder.append("interpreterDelayForeignKeyDeclarations", interpreterDelayForeignKeyDeclarations);
+ builder.append("metaIncludeSystemIndexes", metaIncludeSystemIndexes);
builder.append("migrationAllowsUndo", migrationAllowsUndo);
builder.append("migrationRevertUntracked", migrationRevertUntracked);
builder.append("migrationAutoBaseline", migrationAutoBaseline);
@@ -4103,6 +4135,15 @@ public class Settings
return false;
}
}
+ if (metaIncludeSystemIndexes == null) {
+ if (other.metaIncludeSystemIndexes!= null) {
+ return false;
+ }
+ } else {
+ if (!metaIncludeSystemIndexes.equals(other.metaIncludeSystemIndexes)) {
+ return false;
+ }
+ }
if (migrationAllowsUndo == null) {
if (other.migrationAllowsUndo!= null) {
return false;
@@ -4379,6 +4420,7 @@ public class Settings
result = ((prime*result)+((interpreterNameLookupCaseSensitivity == null)? 0 :interpreterNameLookupCaseSensitivity.hashCode()));
result = ((prime*result)+((interpreterLocale == null)? 0 :interpreterLocale.hashCode()));
result = ((prime*result)+((interpreterDelayForeignKeyDeclarations == null)? 0 :interpreterDelayForeignKeyDeclarations.hashCode()));
+ result = ((prime*result)+((metaIncludeSystemIndexes == null)? 0 :metaIncludeSystemIndexes.hashCode()));
result = ((prime*result)+((migrationAllowsUndo == null)? 0 :migrationAllowsUndo.hashCode()));
result = ((prime*result)+((migrationRevertUntracked == null)? 0 :migrationRevertUntracked.hashCode()));
result = ((prime*result)+((migrationAutoBaseline == null)? 0 :migrationAutoBaseline.hashCode()));
diff --git a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java
index 0d2b19b1fc..ea3119eb84 100644
--- a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java
@@ -38,6 +38,7 @@
package org.jooq.impl;
import static java.lang.Boolean.FALSE;
+import static java.lang.Boolean.TRUE;
// ...
// ...
// ...
@@ -65,6 +66,7 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
@@ -566,7 +568,7 @@ final class MetaImpl extends AbstractMeta {
@Override
public final List