diff --git a/src/backend/commands/createas.c b/src/backend/commands/createas.c index 0b629b1f79..68ec122dbf 100644 --- a/src/backend/commands/createas.c +++ b/src/backend/commands/createas.c @@ -133,7 +133,7 @@ create_ctas_internal(List *attrList, IntoClause *into) if (is_matview) { /* StoreViewQuery scribbles on tree, so make a copy */ - Query *query = (Query *) copyObject(into->viewQuery); + Query *query = copyObject(into->viewQuery); StoreViewQuery(intoRelationAddr.objectId, query, false); CommandCounterIncrement(); diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index 2d3d8fcf76..8a6ba1692e 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -3077,7 +3077,7 @@ transformCreateTableAsStmt(ParseState *pstate, CreateTableAsStmt *stmt) * in the IntoClause because that's where intorel_startup() can * conveniently get it from. */ - stmt->into->viewQuery = (Node *) copyObject(query); + stmt->into->viewQuery = copyObject(query); } /* represent the command as a utility Query */ diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h index ea47652adb..5b7b87dea5 100644 --- a/src/include/nodes/primnodes.h +++ b/src/include/nodes/primnodes.h @@ -152,8 +152,8 @@ typedef struct TableFunc * For CREATE MATERIALIZED VIEW, viewQuery is the parsed-but-not-rewritten * SELECT Query for the view; otherwise it's NULL. This is irrelevant in * the query jumbling as CreateTableAsStmt already includes a reference to - * its own Query, so ignore it. (Although it's actually Query*, we declare - * it as Node* to avoid a forward reference.) + * its own Query, so ignore it. (We declare it as struct Query* to avoid a + * forward reference.) */ typedef struct IntoClause { @@ -166,7 +166,7 @@ typedef struct IntoClause OnCommitAction onCommit; /* what do we do at COMMIT? */ char *tableSpaceName; /* table space to use, or NULL */ /* materialized view's SELECT query */ - Node *viewQuery pg_node_attr(query_jumble_ignore); + struct Query *viewQuery pg_node_attr(query_jumble_ignore); bool skipData; /* true for WITH NO DATA */ } IntoClause;