diff options
Diffstat (limited to 'src/backend/commands')
| -rw-r--r-- | src/backend/commands/createas.c | 2 | ||||
| -rw-r--r-- | src/backend/commands/explain.c | 15 | ||||
| -rw-r--r-- | src/backend/commands/extension.c | 4 | ||||
| -rw-r--r-- | src/backend/commands/foreigncmds.c | 2 | ||||
| -rw-r--r-- | src/backend/commands/portalcmds.c | 6 | ||||
| -rw-r--r-- | src/backend/commands/prepare.c | 6 | ||||
| -rw-r--r-- | src/backend/commands/tablecmds.c | 2 |
7 files changed, 15 insertions, 22 deletions
diff --git a/src/backend/commands/createas.c b/src/backend/commands/createas.c index 02cfcd182d0..646a88409f2 100644 --- a/src/backend/commands/createas.c +++ b/src/backend/commands/createas.c @@ -322,7 +322,7 @@ ExecCreateTableAs(CreateTableAsStmt *stmt, const char *queryString, elog(ERROR, "unexpected rewrite result for %s", is_matview ? "CREATE MATERIALIZED VIEW" : "CREATE TABLE AS SELECT"); - query = (Query *) linitial(rewritten); + query = castNode(Query, linitial(rewritten)); Assert(query->commandType == CMD_SELECT); /* plan the query --- note we disallow parallelism */ diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 5d61a0195ed..0a67be031be 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -224,8 +224,7 @@ ExplainQuery(ParseState *pstate, ExplainStmt *stmt, const char *queryString, * executed repeatedly. (See also the same hack in DECLARE CURSOR and * PREPARE.) XXX FIXME someday. */ - Assert(IsA(stmt->query, Query)); - rewritten = QueryRewrite((Query *) copyObject(stmt->query)); + rewritten = QueryRewrite(castNode(Query, copyObject(stmt->query))); /* emit opening boilerplate */ ExplainBeginOutput(es); @@ -246,7 +245,7 @@ ExplainQuery(ParseState *pstate, ExplainStmt *stmt, const char *queryString, /* Explain every plan */ foreach(l, rewritten) { - ExplainOneQuery((Query *) lfirst(l), + ExplainOneQuery(castNode(Query, lfirst(l)), CURSOR_OPT_PARALLEL_OK, NULL, es, queryString, params); @@ -395,10 +394,9 @@ ExplainOneUtility(Node *utilityStmt, IntoClause *into, ExplainState *es, CreateTableAsStmt *ctas = (CreateTableAsStmt *) utilityStmt; List *rewritten; - Assert(IsA(ctas->query, Query)); - rewritten = QueryRewrite((Query *) copyObject(ctas->query)); + rewritten = QueryRewrite(castNode(Query, copyObject(ctas->query))); Assert(list_length(rewritten) == 1); - ExplainOneQuery((Query *) linitial(rewritten), + ExplainOneQuery(castNode(Query, linitial(rewritten)), 0, ctas->into, es, queryString, params); } @@ -415,10 +413,9 @@ ExplainOneUtility(Node *utilityStmt, IntoClause *into, ExplainState *es, DeclareCursorStmt *dcs = (DeclareCursorStmt *) utilityStmt; List *rewritten; - Assert(IsA(dcs->query, Query)); - rewritten = QueryRewrite((Query *) copyObject(dcs->query)); + rewritten = QueryRewrite(castNode(Query, copyObject(dcs->query))); Assert(list_length(rewritten) == 1); - ExplainOneQuery((Query *) linitial(rewritten), + ExplainOneQuery(castNode(Query, linitial(rewritten)), dcs->options, NULL, es, queryString, params); } diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index 554fdc46b41..9680d986a01 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -713,7 +713,7 @@ execute_sql_string(const char *sql, const char *filename) */ foreach(lc1, raw_parsetree_list) { - RawStmt *parsetree = (RawStmt *) lfirst(lc1); + RawStmt *parsetree = castNode(RawStmt, lfirst(lc1)); List *stmt_list; ListCell *lc2; @@ -725,7 +725,7 @@ execute_sql_string(const char *sql, const char *filename) foreach(lc2, stmt_list) { - PlannedStmt *stmt = (PlannedStmt *) lfirst(lc2); + PlannedStmt *stmt = castNode(PlannedStmt, lfirst(lc2)); CommandCounterIncrement(); diff --git a/src/backend/commands/foreigncmds.c b/src/backend/commands/foreigncmds.c index 476a023ec54..6ff8b6998be 100644 --- a/src/backend/commands/foreigncmds.c +++ b/src/backend/commands/foreigncmds.c @@ -1572,7 +1572,7 @@ ImportForeignSchema(ImportForeignSchemaStmt *stmt) */ foreach(lc2, raw_parsetree_list) { - RawStmt *rs = (RawStmt *) lfirst(lc2); + RawStmt *rs = castNode(RawStmt, lfirst(lc2)); CreateForeignTableStmt *cstmt = (CreateForeignTableStmt *) rs->stmt; PlannedStmt *pstmt; diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c index 1d3e39299b9..29d0430dd87 100644 --- a/src/backend/commands/portalcmds.c +++ b/src/backend/commands/portalcmds.c @@ -42,14 +42,12 @@ void PerformCursorOpen(DeclareCursorStmt *cstmt, ParamListInfo params, const char *queryString, bool isTopLevel) { - Query *query = (Query *) cstmt->query; + Query *query = castNode(Query, cstmt->query); List *rewritten; PlannedStmt *plan; Portal portal; MemoryContext oldContext; - Assert(IsA(query, Query)); /* else parse analysis wasn't done */ - /* * Disallow empty-string cursor name (conflicts with protocol-level * unnamed portal). @@ -85,7 +83,7 @@ PerformCursorOpen(DeclareCursorStmt *cstmt, ParamListInfo params, if (list_length(rewritten) != 1) elog(ERROR, "non-SELECT statement in DECLARE CURSOR"); - query = (Query *) linitial(rewritten); + query = castNode(Query, linitial(rewritten)); if (query->commandType != CMD_SELECT) elog(ERROR, "non-SELECT statement in DECLARE CURSOR"); diff --git a/src/backend/commands/prepare.c b/src/backend/commands/prepare.c index 7d7e3daf1e7..7b61da3ef00 100644 --- a/src/backend/commands/prepare.c +++ b/src/backend/commands/prepare.c @@ -265,8 +265,7 @@ ExecuteQuery(ExecuteStmt *stmt, IntoClause *intoClause, ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("prepared statement is not a SELECT"))); - pstmt = (PlannedStmt *) linitial(plan_list); - Assert(IsA(pstmt, PlannedStmt)); + pstmt = castNode(PlannedStmt, linitial(plan_list)); if (pstmt->commandType != CMD_SELECT) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), @@ -670,9 +669,8 @@ ExplainExecuteQuery(ExecuteStmt *execstmt, IntoClause *into, ExplainState *es, /* Explain each query */ foreach(p, plan_list) { - PlannedStmt *pstmt = (PlannedStmt *) lfirst(p); + PlannedStmt *pstmt = castNode(PlannedStmt, lfirst(p)); - Assert(IsA(pstmt, PlannedStmt)); if (pstmt->commandType != CMD_UTILITY) ExplainOnePlan(pstmt, into, es, query_string, paramLI, NULL); else diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 04b5d9a943c..90f2f7f00e2 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -9281,7 +9281,7 @@ ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd, querytree_list = NIL; foreach(list_item, raw_parsetree_list) { - RawStmt *rs = (RawStmt *) lfirst(list_item); + RawStmt *rs = castNode(RawStmt, lfirst(list_item)); Node *stmt = rs->stmt; if (IsA(stmt, IndexStmt)) |
