From 276c9a8ceb216fa0b51dccf024352c90af5a7705 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 7 Sep 2023 18:14:03 +0200 Subject: [PATCH] [jOOQ/jOOQ#2356] Fix regression --- .../main/java/org/jooq/impl/Interpreter.java | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Interpreter.java b/jOOQ/src/main/java/org/jooq/impl/Interpreter.java index 2cf626a1aa..e704711d99 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Interpreter.java +++ b/jOOQ/src/main/java/org/jooq/impl/Interpreter.java @@ -117,6 +117,7 @@ import org.jooq.impl.ConstraintImpl.Action; import org.jooq.impl.DefaultParseContext.IgnoreQuery; import org.jooq.impl.QOM.Cascade; import org.jooq.impl.QOM.CycleOption; +import org.jooq.impl.QOM.UnmodifiableList; import org.jooq.tools.JooqLogger; @SuppressWarnings({ "rawtypes", "unchecked" }) @@ -784,17 +785,17 @@ final class Interpreter { } private final void accept0(TruncateImpl query) { - Table table = query.$table(); + for (Table table : query.$table()) { + MutableSchema schema = getSchema(table.getSchema()); + MutableTable existing = schema.table(table); - MutableSchema schema = getSchema(table.getSchema()); - MutableTable existing = schema.table(table); - - if (existing == null) - throw notExists(table); - else if (!existing.options.type().isTable()) - throw objectNotTable(table); - else if (query.$cascade() != Cascade.CASCADE && existing.hasReferencingKeys()) - throw new DataDefinitionException("Cannot truncate table referenced by other tables. Use CASCADE: " + table); + if (existing == null) + throw notExists(table); + else if (!existing.options.type().isTable()) + throw objectNotTable(table); + else if (query.$cascade() != Cascade.CASCADE && existing.hasReferencingKeys()) + throw new DataDefinitionException("Cannot truncate table referenced by other tables. Use CASCADE: " + table); + } } private final void accept0(CreateViewImpl query) {