diff --git a/src/engine/QueryPlanner.cpp b/src/engine/QueryPlanner.cpp index 2fe97d43ac..a88a23e655 100644 --- a/src/engine/QueryPlanner.cpp +++ b/src/engine/QueryPlanner.cpp @@ -2097,6 +2097,10 @@ bool hasTransitivePathInTree(const Operation& operation) { if (dynamic_cast(&operation)) { return true; } + // Only check `UNION`s for children. + if (!dynamic_cast(&operation)) { + return false; + } return ql::ranges::any_of( operation.getChildren(), [](const QueryExecutionTree* child) { return hasTransitivePathInTree(*child->getRootOperation());