diff options
Diffstat (limited to 'src/backend/parser')
| -rw-r--r-- | src/backend/parser/gram.y | 2 | ||||
| -rw-r--r-- | src/backend/parser/parse_expr.c | 6 | ||||
| -rw-r--r-- | src/backend/parser/parse_type.c | 2 |
3 files changed, 4 insertions, 6 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index a8e35feccc..a4edea08a3 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -788,7 +788,7 @@ stmtmulti: stmtmulti ';' stmt if ($1 != NIL) { /* update length of previous stmt */ - updateRawStmtEnd((RawStmt *) llast($1), @2); + updateRawStmtEnd(castNode(RawStmt, llast($1)), @2); } if ($3 != NULL) $$ = lappend($1, makeRawStmt($3, @2 + 1)); diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index c43ef19df5..4b73272417 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); diff --git a/src/backend/parser/parse_type.c b/src/backend/parser/parse_type.c index 6660929dec..8feec0b72b 100644 --- a/src/backend/parser/parse_type.c +++ b/src/backend/parser/parse_type.c @@ -720,7 +720,7 @@ typeStringToTypeName(const char *str) */ if (list_length(raw_parsetree_list) != 1) goto fail; - stmt = (SelectStmt *) ((RawStmt *) linitial(raw_parsetree_list))->stmt; + stmt = (SelectStmt *) castNode(RawStmt, linitial(raw_parsetree_list))->stmt; if (stmt == NULL || !IsA(stmt, SelectStmt) || stmt->distinctClause != NIL || |
