Mark PlanState as an abstract node type.

In the same vein as commit 251154beb, make it clear that we never
instantiate PlanState.

Also mark MemoryContextData as abstract.  This has no effect right now,
since memnodes.h isn't one of the files fed to gen_node_support.pl.
But it seems like good documentation and future-proofing.
This commit is contained in:
Tom Lane 2022-07-09 13:35:37 -04:00
parent 2be87f092a
commit b4f79d278f
3 changed files with 4 additions and 3 deletions

View File

@ -999,6 +999,8 @@ typedef TupleTableSlot *(*ExecProcNodeMtd) (struct PlanState *pstate);
*/
typedef struct PlanState
{
pg_node_attr(abstract)
NodeTag type;
Plan *plan; /* associated Plan node */

View File

@ -77,6 +77,8 @@ typedef struct MemoryContextMethods
typedef struct MemoryContextData
{
pg_node_attr(abstract) /* there are no nodes of this type */
NodeTag type; /* identifies exact kind of context */
/* these two fields are placed here to minimize alignment wastage: */
bool isReset; /* T = no space alloced since last reset */

View File

@ -618,9 +618,6 @@ nodetag_to_string(NodeTag tag)
case T_PlanInvalItem:
return "PlanInvalItem";
break;
case T_PlanState:
return "PlanState";
break;
case T_ResultState:
return "ResultState";
break;