mirror of
https://github.com/postgres/postgres.git
synced 2025-11-22 12:22:45 +03:00
Improve node type forward reference
Instead of using Node *, we can use an incomplete struct. That way, everything has the correct type and fewer casts are required. This technique is already used elsewhere in node type definitions. Reviewed-by: Nathan Bossart <nathandbossart@gmail.com> Reviewed-by: Tender Wang <tndrwang@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/637eeea8-5663-460b-a114-39572c0f6c6e%40eisentraut.org
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user