diff --git a/jOOQ/src/main/java/org/jooq/impl/Interpreter.java b/jOOQ/src/main/java/org/jooq/impl/Interpreter.java index 8b45088310..e5b96f6c8b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Interpreter.java +++ b/jOOQ/src/main/java/org/jooq/impl/Interpreter.java @@ -118,7 +118,7 @@ final class Interpreter { private final MutableSchema defaultSchema; private MutableSchema currentSchema; private boolean delayForeignKeyDeclarations; - private final Deque delayedForeignKeyDeclarations; + private final Deque delayedForeignKeyDeclarations; // Caches private final Map interpretedCatalogs = new HashMap<>(); @@ -1008,8 +1008,12 @@ final class Interpreter { } private final void accept0(SetCommand query) { - if ("foreign_key_checks".equals(query.$name().last().toLowerCase(locale))) + if ("foreign_key_checks".equals(query.$name().last().toLowerCase(locale))) { delayForeignKeyDeclarations = !Convert.convert(query.$value().getValue(), boolean.class); + + if (!delayForeignKeyDeclarations) + applyDelayedForeignKeys(); + } else throw unsupportedQuery(query); }