summaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y2
-rw-r--r--src/backend/parser/parse_expr.c6
-rw-r--r--src/backend/parser/parse_type.c2
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 ||