diff options
Diffstat (limited to 'src/backend/parser/parse_expr.c')
-rw-r--r-- | src/backend/parser/parse_expr.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index c43ef19df5c..4b732724177 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -1502,8 +1502,7 @@ transformMultiAssignRef(ParseState *pstate, MultiAssignRef *maref) sublink = (SubLink *) transformExprRecurse(pstate, (Node *) sublink); - qtree = (Query *) sublink->subselect; - Assert(IsA(qtree, Query)); + qtree = castNode(Query, sublink->subselect); /* Check subquery returns required number of columns */ if (count_nonjunk_tlist_entries(qtree->targetList) != maref->ncolumns) @@ -1578,8 +1577,7 @@ transformMultiAssignRef(ParseState *pstate, MultiAssignRef *maref) sublink = (SubLink *) tle->expr; Assert(sublink->subLinkType == MULTIEXPR_SUBLINK); - qtree = (Query *) sublink->subselect; - Assert(IsA(qtree, Query)); + qtree = castNode(Query, sublink->subselect); /* Build a Param representing the current subquery output column */ tle = (TargetEntry *) list_nth(qtree->targetList, maref->colno - 1); |