aboutsummaryrefslogtreecommitdiff
path: root/src/include/nodes/nodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/nodes/nodes.h')
-rw-r--r--src/include/nodes/nodes.h103
1 files changed, 56 insertions, 47 deletions
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index a9cd095f94e..cb16a300442 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: nodes.h,v 1.125 2002/11/30 05:21:03 tgl Exp $
+ * $Id: nodes.h,v 1.126 2002/12/05 15:50:38 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,43 +18,84 @@
* The first field of every node is NodeTag. Each node created (with makeNode)
* will have one of the following tags as the value of its first field.
*
- * Note that the number of the node tags are not contiguous. We left holes
+ * Note that the numbers of the node tags are not contiguous. We left holes
* here so that we can add more tags without changing the existing enum's.
+ * (Since node tag numbers never exist outside backend memory, there's no
+ * real harm in renumbering, it just costs a full rebuild ...)
*/
typedef enum NodeTag
{
T_Invalid = 0,
/*
+ * TAGS FOR EXECUTOR NODES (execnodes.h)
+ */
+ T_IndexInfo = 10,
+ T_ResultRelInfo,
+ T_TupleTableSlot,
+ T_ExprContext,
+ T_ProjectionInfo,
+ T_JunkFilter,
+ T_EState,
+
+ /*
* TAGS FOR PLAN NODES (plannodes.h)
*/
- T_Plan = 10,
+ T_Plan = 100,
T_Result,
T_Append,
T_Scan,
T_SeqScan,
T_IndexScan,
+ T_TidScan,
+ T_SubqueryScan,
+ T_FunctionScan,
T_Join,
T_NestLoop,
T_MergeJoin,
T_HashJoin,
- T_Limit,
T_Material,
T_Sort,
+ T_Group,
T_Agg,
T_Unique,
T_Hash,
T_SetOp,
- T_Group,
+ T_Limit,
T_SubPlan,
- T_TidScan,
- T_SubqueryScan,
- T_FunctionScan,
+
+ /*
+ * TAGS FOR PLAN STATE NODES (execnodes.h)
+ *
+ * These should correspond one-to-one with Plan node types.
+ */
+ T_PlanState = 200,
+ T_ResultState,
+ T_AppendState,
+ T_ScanState,
+ T_SeqScanState,
+ T_IndexScanState,
+ T_TidScanState,
+ T_SubqueryScanState,
+ T_FunctionScanState,
+ T_JoinState,
+ T_NestLoopState,
+ T_MergeJoinState,
+ T_HashJoinState,
+ T_MaterialState,
+ T_SortState,
+ T_GroupState,
+ T_AggState,
+ T_UniqueState,
+ T_HashState,
+ T_SetOpState,
+ T_LimitState,
+ T_SubPlanState,
/*
* TAGS FOR PRIMITIVE NODES (primnodes.h)
*/
- T_Resdom = 100,
+ T_Resdom = 300,
T_Fjoin,
T_Expr,
T_Var,
@@ -74,7 +115,7 @@ typedef enum NodeTag
/*
* TAGS FOR PLANNER NODES (relation.h)
*/
- T_RelOptInfo = 200,
+ T_RelOptInfo = 400,
T_IndexOptInfo,
T_Path,
T_IndexPath,
@@ -91,47 +132,15 @@ typedef enum NodeTag
T_InnerIndexscanInfo,
/*
- * TAGS FOR EXECUTOR NODES (execnodes.h)
- */
- T_IndexInfo = 300,
- T_ResultRelInfo,
- T_TupleTableSlot,
- T_ExprContext,
- T_ProjectionInfo,
- T_JunkFilter,
- T_EState,
- T_CommonState,
- T_ResultState,
- T_AppendState,
- T_CommonScanState,
- T_ScanState,
- T_IndexScanState,
- T_JoinState,
- T_NestLoopState,
- T_MergeJoinState,
- T_HashJoinState,
- T_MaterialState,
- T_AggState,
- T_GroupState,
- T_SortState,
- T_UniqueState,
- T_HashState,
- T_TidScanState,
- T_SubqueryScanState,
- T_SetOpState,
- T_LimitState,
- T_FunctionScanState,
-
- /*
* TAGS FOR MEMORY NODES (memnodes.h)
*/
- T_MemoryContext = 400,
+ T_MemoryContext = 500,
T_AllocSetContext,
/*
* TAGS FOR VALUE NODES (pg_list.h)
*/
- T_Value = 500,
+ T_Value = 600,
T_List,
T_Integer,
T_Float,
@@ -142,7 +151,7 @@ typedef enum NodeTag
/*
* TAGS FOR PARSE TREE NODES (parsenodes.h)
*/
- T_Query = 600,
+ T_Query = 700,
T_InsertStmt,
T_DeleteStmt,
T_UpdateStmt,
@@ -208,7 +217,7 @@ typedef enum NodeTag
T_ExecuteStmt,
T_DeallocateStmt,
- T_A_Expr = 700,
+ T_A_Expr = 800,
T_ColumnRef,
T_ParamRef,
T_A_Const,
@@ -248,7 +257,7 @@ typedef enum NodeTag
/*
* TAGS FOR FUNCTION-CALL CONTEXT AND RESULTINFO NODES (see fmgr.h)
*/
- T_TriggerData = 800, /* in commands/trigger.h */
+ T_TriggerData = 900, /* in commands/trigger.h */
T_ReturnSetInfo /* in nodes/execnodes.h */
} NodeTag;