diff options
Diffstat (limited to 'src/backend/optimizer/prep/prepjointree.c')
-rw-r--r-- | src/backend/optimizer/prep/prepjointree.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index 6911177b68a..6c6ac8dc0aa 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -1748,10 +1748,9 @@ is_simple_union_all(Query *subquery) elog(ERROR, "subquery is bogus"); /* Is it a set-operation query at all? */ - topop = (SetOperationStmt *) subquery->setOperations; + topop = castNode(SetOperationStmt, subquery->setOperations); if (!topop) return false; - Assert(IsA(topop, SetOperationStmt)); /* Can't handle ORDER BY, LIMIT/OFFSET, locking, or WITH */ if (subquery->sortClause || @@ -2323,8 +2322,8 @@ flatten_simple_union_all(PlannerInfo *root) RangeTblRef *rtr; /* Shouldn't be called unless query has setops */ - topop = (SetOperationStmt *) parse->setOperations; - Assert(topop && IsA(topop, SetOperationStmt)); + topop = castNode(SetOperationStmt, parse->setOperations); + Assert(topop); /* Can't optimize away a recursive UNION */ if (root->hasRecursion) |