diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java b/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java index ff9ff0cac4..3a4a515d69 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java @@ -40,6 +40,8 @@ package org.jooq.impl; import java.util.Arrays; import java.util.List; +import org.jooq.Constraint; +import org.jooq.ConstraintEnforcementStep; import org.jooq.Context; import org.jooq.Key; import org.jooq.Record; @@ -94,6 +96,22 @@ abstract class AbstractKey extends AbstractNamed implements Ke return enforced; } + private final Constraint enforced(ConstraintEnforcementStep key) { + + + + + + return key; + } + + @Override + public final Constraint constraint() { + return enforced(constraint0()); + } + + abstract ConstraintEnforcementStep constraint0(); + @Override public final void accept(Context ctx) { ctx.visit(getUnqualifiedName()); diff --git a/jOOQ/src/main/java/org/jooq/impl/CheckImpl.java b/jOOQ/src/main/java/org/jooq/impl/CheckImpl.java index 5a57e9c66b..a7011a5118 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CheckImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CheckImpl.java @@ -40,6 +40,7 @@ package org.jooq.impl; import org.jooq.Check; import org.jooq.Condition; import org.jooq.Constraint; +import org.jooq.ConstraintEnforcementStep; import org.jooq.Context; import org.jooq.Name; import org.jooq.Record; @@ -82,13 +83,22 @@ final class CheckImpl extends AbstractNamed implements Check extends AbstractKe } @Override - public Constraint constraint() { + final ConstraintEnforcementStep constraint0() { return DSL.constraint(getName()) .foreignKey(getFieldsArray()) .references(key.getTable(), key.getFieldsArray()); diff --git a/jOOQ/src/main/java/org/jooq/impl/UniqueKeyImpl.java b/jOOQ/src/main/java/org/jooq/impl/UniqueKeyImpl.java index 5408268c23..97fd753951 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UniqueKeyImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UniqueKeyImpl.java @@ -41,7 +41,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.jooq.Constraint; +import org.jooq.ConstraintEnforcementStep; import org.jooq.ForeignKey; import org.jooq.Record; import org.jooq.Table; @@ -81,7 +81,7 @@ final class UniqueKeyImpl extends AbstractKey implements Un } @Override - public Constraint constraint() { + final ConstraintEnforcementStep constraint0() { if (isPrimary()) return DSL.constraint(getName()).primaryKey(getFieldsArray()); else