このページを編集する際は、[[編集に関する方針]]に従ってください。

*概要 [#j2050246]
-対象:8.1.4
-言語:C
-宣言・定義:[[postgresql-8.1.4/src/include/nodes/nodes.h]]

-以下の定数を定義する列挙型

|定数名|値|
|T_Invalid|0|
|||
|T_IndexInfo|10|
|T_ExprContext|11|
|T_ProjectionInfo|12|
|T_JunkFilter|13|
|T_ResultRelInfo|14|
|T_EState|15|
|T_TupleTableSlot|16|
|||
|T_Plan = 100|100|
|T_Result|101|
|T_Append|102|
|T_BitmapAnd|103|
|T_BitmapOr|104|
|T_Scan|105|
|T_SeqScan|106|
|T_IndexScan|107|
|T_BitmapIndexScan|108|
|T_BitmapHeapScan|109|
|T_TidScan|110|
|T_SubqueryScan|111|
|T_FunctionScan|112|
|T_Join|113|
|T_NestLoop|114|
|T_MergeJoin|115|
|T_HashJoin|116|
|T_Material|117|
|T_Sort|118|
|T_Group|119|
|T_Agg|120|
|T_Unique|121|
|T_Hash|122|
|T_SetOp|123|
|T_Limit|124|
|||
|T_PlanState|200|
|T_ResultState|201|
|T_AppendState|202|
|T_BitmapAndState|203|
|T_BitmapOrState|204|
|T_ScanState|205|
|T_SeqScanState|206|
|T_IndexScanState|207|
|T_BitmapIndexScanState|208|
|T_BitmapHeapScanState|209|
|T_TidScanState|210|
|T_SubqueryScanState|211|
|T_FunctionScanState|212|
|T_JoinState|213|
|T_NestLoopState|214|
|T_MergeJoinState|215|
|T_HashJoinState|216|
|T_MaterialState|217|
|T_SortState|218|
|T_GroupState|219|
|T_AggState|220|
|T_UniqueState|221|
|T_HashState|222|
|T_SetOpState|223|
|T_LimitState|224|
|||
|T_Alias|300|
|T_RangeVar|301|
|T_Expr|302|
|T_Var|303|
|T_Const|304|
|T_Param|305|
|T_Aggref|306|
|T_ArrayRef|307|
|T_FuncExpr|308|
|T_OpExpr|309|
|T_DistinctExpr|310|
|T_ScalarArrayOpExpr|311|
|T_BoolExpr|312|
|T_SubLink|313|
|T_SubPlan|314|
|T_FieldSelect|315|
|T_FieldStore|316|
|T_RelabelType|317|
|T_ConvertRowtypeExpr|318|
|T_CaseExpr|319|
|T_CaseWhen|320|
|T_CaseTestExpr|321|
|T_ArrayExpr|322|
|T_RowExpr|323|
|T_CoalesceExpr|324|
|T_MinMaxExpr|325|
|T_NullIfExpr|326|
|T_NullTest|327|
|T_BooleanTest|328|
|T_CoerceToDomain|329|
|T_CoerceToDomainValue|330|
|T_SetToDefault|331|
|T_TargetEntry|332|
|T_RangeTblRef|333|
|T_JoinExpr|334|
|T_FromExpr|335|
|||
|T_ExprState|400|
|T_GenericExprState|401|
|T_AggrefExprState|402|
|T_ArrayRefExprState|403|
|T_FuncExprState|404|
|T_ScalarArrayOpExprState|405|
|T_BoolExprState|406|
|T_SubPlanState|407|
|T_FieldSelectState|408|
|T_FieldStoreState|409|
|T_ConvertRowtypeExprState|410|
|T_CaseExprState|411|
|T_CaseWhenState|412|
|T_ArrayExprState|413|
|T_RowExprState|414|
|T_CoalesceExprState|415|
|T_MinMaxExprState|416|
|T_CoerceToDomainState|417|
|T_DomainConstraintState|418|
|||
|T_PlannerInfo|500|
|T_RelOptInfo|501|
|T_IndexOptInfo|502|
|T_Path|503|
|T_IndexPath|504|
|T_BitmapHeapPath|505|
|T_BitmapAndPath|506|
|T_BitmapOrPath|507|
|T_NestPath|508|
|T_MergePath|509|
|T_HashPath|510|
|T_TidPath|511|
|T_AppendPath|512|
|T_ResultPath|513|
|T_MaterialPath|514|
|T_UniquePath|515|
|T_PathKeyItem|516|
|T_RestrictInfo|517|
|T_InnerIndexscanInfo|518|
|T_InClauseInfo|519|
|||
|T_MemoryContext|600|
|T_AllocSetContext|601|
|||
|T_Value|650|
|T_Integer|651|
|T_Float|652|
|T_String|653|
|T_BitString|654|
|T_Null|655|
|T_List|656|
|T_IntList|657|
|T_OidList|658|
|||
|T_Query|700|
|T_InsertStmt|701|
|T_DeleteStmt|702|
|T_UpdateStmt|703|
|T_SelectStmt|704|
|T_AlterTableStmt|705|
|T_AlterTableCmd|706|
|T_AlterDomainStmt|707|
|T_SetOperationStmt|708|
|T_GrantStmt|709|
|T_GrantRoleStmt|710|
|T_ClosePortalStmt|711|
|T_ClusterStmt|712|
|T_CopyStmt|713|
|T_CreateStmt|714|
|T_DefineStmt|715|
|T_DropStmt|716|
|T_TruncateStmt|717|
|T_CommentStmt|718|
|T_FetchStmt|719|
|T_IndexStmt|720|
|T_CreateFunctionStmt|721|
|T_AlterFunctionStmt|722|
|T_RemoveAggrStmt|723|
|T_RemoveFuncStmt|724|
|T_RemoveOperStmt|725|
|T_RenameStmt|726|
|T_RuleStmt|727|
|T_NotifyStmt|728|
|T_ListenStmt|729|
|T_UnlistenStmt|730|
|T_TransactionStmt|731|
|T_ViewStmt|732|
|T_LoadStmt|733|
|T_CreateDomainStmt|734|
|T_CreatedbStmt|735|
|T_DropdbStmt|736|
|T_VacuumStmt|737|
|T_ExplainStmt|738|
|T_CreateSeqStmt|739|
|T_AlterSeqStmt|740|
|T_VariableSetStmt|741|
|T_VariableShowStmt|742|
|T_VariableResetStmt|743|
|T_CreateTrigStmt|744|
|T_DropPropertyStmt|745|
|T_CreatePLangStmt|746|
|T_DropPLangStmt|747|
|T_CreateRoleStmt|748|
|T_AlterRoleStmt|749|
|T_DropRoleStmt|750|
|T_LockStmt|751|
|T_ConstraintsSetStmt|752|
|T_ReindexStmt|753|
|T_CheckPointStmt|754|
|T_CreateSchemaStmt|755|
|T_AlterDatabaseStmt|756|
|T_AlterDatabaseSetStmt|757|
|T_AlterRoleSetStmt|758|
|T_CreateConversionStmt|759|
|T_CreateCastStmt|760|
|T_DropCastStmt|761|
|T_CreateOpClassStmt|762|
|T_RemoveOpClassStmt|763|
|T_PrepareStmt|764|
|T_ExecuteStmt|765|
|T_DeallocateStmt|766|
|T_DeclareCursorStmt|767|
|T_CreateTableSpaceStmt|768|
|T_DropTableSpaceStmt|769|
|T_AlterObjectSchemaStmt|770|
|T_AlterOwnerStmt|771|
|||
|T_A_Expr|800|
|T_ColumnRef|801|
|T_ParamRef|802|
|T_A_Const|803|
|T_FuncCall|804|
|T_A_Indices|805|
|T_A_Indirection|806|
|T_ResTarget|807|
|T_TypeCast|808|
|T_SortBy|809|
|T_RangeSubselect|810|
|T_RangeFunction|811|
|T_TypeName|812|
|T_ColumnDef|813|
|T_IndexElem|814|
|T_Constraint|815|
|T_DefElem|816|
|T_RangeTblEntry|817|
|T_SortClause|818|
|T_GroupClause|819|
|T_FkConstraint|820|
|T_PrivGrantee|821|
|T_FuncWithArgs|822|
|T_PrivTarget|823|
|T_CreateOpClassItem|824|
|T_CompositeTypeStmt|825|
|T_InhRelation|826|
|T_FunctionParameter|827|
|T_LockingClause|828|
|||
|T_TriggerData|900|
|T_ReturnSetInfo|901|
|T_TIDBitmap|902|


*実装 [#pe5f3780]

typedef enum NodeTag
{
	T_Invalid = 0,

	/*
	 * TAGS FOR EXECUTOR NODES (execnodes.h)
	 */
	T_IndexInfo = 10,
	T_ExprContext,
	T_ProjectionInfo,
	T_JunkFilter,
	T_ResultRelInfo,
	T_EState,
	T_TupleTableSlot,

	/*
	 * TAGS FOR PLAN NODES (plannodes.h)
	 */
	T_Plan = 100,
	T_Result,
	T_Append,
	T_BitmapAnd,
	T_BitmapOr,
	T_Scan,
	T_SeqScan,
	T_IndexScan,
	T_BitmapIndexScan,
	T_BitmapHeapScan,
	T_TidScan,
	T_SubqueryScan,
	T_FunctionScan,
	T_Join,
	T_NestLoop,
	T_MergeJoin,
	T_HashJoin,
	T_Material,
	T_Sort,
	T_Group,
	T_Agg,
	T_Unique,
	T_Hash,
	T_SetOp,
	T_Limit,

	/*
	 * 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_BitmapAndState,
	T_BitmapOrState,
	T_ScanState,
	T_SeqScanState,
	T_IndexScanState,
	T_BitmapIndexScanState,
	T_BitmapHeapScanState,
	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,

	/*
	 * TAGS FOR PRIMITIVE NODES (primnodes.h)
	 */
	T_Alias = 300,
	T_RangeVar,
	T_Expr,
	T_Var,
	T_Const,
	T_Param,
	T_Aggref,
	T_ArrayRef,
	T_FuncExpr,
	T_OpExpr,
	T_DistinctExpr,
	T_ScalarArrayOpExpr,
	T_BoolExpr,
	T_SubLink,
	T_SubPlan,
	T_FieldSelect,
	T_FieldStore,
	T_RelabelType,
	T_ConvertRowtypeExpr,
	T_CaseExpr,
	T_CaseWhen,
	T_CaseTestExpr,
	T_ArrayExpr,
	T_RowExpr,
	T_CoalesceExpr,
	T_MinMaxExpr,
	T_NullIfExpr,
	T_NullTest,
	T_BooleanTest,
	T_CoerceToDomain,
	T_CoerceToDomainValue,
	T_SetToDefault,
	T_TargetEntry,
	T_RangeTblRef,
	T_JoinExpr,
	T_FromExpr,

	/*
	 * TAGS FOR EXPRESSION STATE NODES (execnodes.h)
	 *
	 * These correspond (not always one-for-one) to primitive nodes derived
	 * from Expr.
	 */
	T_ExprState = 400,
	T_GenericExprState,
	T_AggrefExprState,
	T_ArrayRefExprState,
	T_FuncExprState,
	T_ScalarArrayOpExprState,
	T_BoolExprState,
	T_SubPlanState,
	T_FieldSelectState,
	T_FieldStoreState,
	T_ConvertRowtypeExprState,
	T_CaseExprState,
	T_CaseWhenState,
	T_ArrayExprState,
	T_RowExprState,
	T_CoalesceExprState,
	T_MinMaxExprState,
	T_CoerceToDomainState,
	T_DomainConstraintState,

	/*
	 * TAGS FOR PLANNER NODES (relation.h)
	 */
	T_PlannerInfo = 500,
	T_RelOptInfo,
	T_IndexOptInfo,
	T_Path,
	T_IndexPath,
	T_BitmapHeapPath,
	T_BitmapAndPath,
	T_BitmapOrPath,
	T_NestPath,
	T_MergePath,
	T_HashPath,
	T_TidPath,
	T_AppendPath,
	T_ResultPath,
	T_MaterialPath,
	T_UniquePath,
	T_PathKeyItem,
	T_RestrictInfo,
	T_InnerIndexscanInfo,
	T_InClauseInfo,

	/*
	 * TAGS FOR MEMORY NODES (memnodes.h)
	 */
	T_MemoryContext = 600,
	T_AllocSetContext,

	/*
	 * TAGS FOR VALUE NODES (value.h)
	 */
	T_Value = 650,
	T_Integer,
	T_Float,
	T_String,
	T_BitString,
	T_Null,

	/*
	 * TAGS FOR LIST NODES (pg_list.h)
	 */
	T_List,
	T_IntList,
	T_OidList,

	/*
	 * TAGS FOR PARSE TREE NODES (parsenodes.h)
	 */
	T_Query = 700,
	T_InsertStmt,
	T_DeleteStmt,
	T_UpdateStmt,
	T_SelectStmt,
	T_AlterTableStmt,
	T_AlterTableCmd,
	T_AlterDomainStmt,
	T_SetOperationStmt,
	T_GrantStmt,
	T_GrantRoleStmt,
	T_ClosePortalStmt,
	T_ClusterStmt,
	T_CopyStmt,
	T_CreateStmt,
	T_DefineStmt,
	T_DropStmt,
	T_TruncateStmt,
	T_CommentStmt,
	T_FetchStmt,
	T_IndexStmt,
	T_CreateFunctionStmt,
	T_AlterFunctionStmt,
	T_RemoveAggrStmt,
	T_RemoveFuncStmt,
	T_RemoveOperStmt,
	T_RenameStmt,
	T_RuleStmt,
	T_NotifyStmt,
	T_ListenStmt,
	T_UnlistenStmt,
	T_TransactionStmt,
	T_ViewStmt,
	T_LoadStmt,
	T_CreateDomainStmt,
	T_CreatedbStmt,
	T_DropdbStmt,
	T_VacuumStmt,
	T_ExplainStmt,
	T_CreateSeqStmt,
	T_AlterSeqStmt,
	T_VariableSetStmt,
	T_VariableShowStmt,
	T_VariableResetStmt,
	T_CreateTrigStmt,
	T_DropPropertyStmt,
	T_CreatePLangStmt,
	T_DropPLangStmt,
	T_CreateRoleStmt,
	T_AlterRoleStmt,
	T_DropRoleStmt,
	T_LockStmt,
	T_ConstraintsSetStmt,
	T_ReindexStmt,
	T_CheckPointStmt,
	T_CreateSchemaStmt,
	T_AlterDatabaseStmt,
	T_AlterDatabaseSetStmt,
	T_AlterRoleSetStmt,
	T_CreateConversionStmt,
	T_CreateCastStmt,
	T_DropCastStmt,
	T_CreateOpClassStmt,
	T_RemoveOpClassStmt,
	T_PrepareStmt,
	T_ExecuteStmt,
	T_DeallocateStmt,
	T_DeclareCursorStmt,
	T_CreateTableSpaceStmt,
	T_DropTableSpaceStmt,
	T_AlterObjectSchemaStmt,
	T_AlterOwnerStmt,

	T_A_Expr = 800,
	T_ColumnRef,
	T_ParamRef,
	T_A_Const,
	T_FuncCall,
	T_A_Indices,
	T_A_Indirection,
	T_ResTarget,
	T_TypeCast,
	T_SortBy,
	T_RangeSubselect,
	T_RangeFunction,
	T_TypeName,
	T_ColumnDef,
	T_IndexElem,
	T_Constraint,
	T_DefElem,
	T_RangeTblEntry,
	T_SortClause,
	T_GroupClause,
	T_FkConstraint,
	T_PrivGrantee,
	T_FuncWithArgs,
	T_PrivTarget,
	T_CreateOpClassItem,
	T_CompositeTypeStmt,
	T_InhRelation,
	T_FunctionParameter,
	T_LockingClause,

	/*
	 * TAGS FOR RANDOM OTHER STUFF
	 *
	 * These are objects that aren't part of parse/plan/execute node tree
	 * structures, but we give them NodeTags anyway for identification
	 * purposes (usually because they are involved in APIs where we want to
	 * pass multiple object types through the same pointer).
	 */
	T_TriggerData = 900,		/* in commands/trigger.h */
	T_ReturnSetInfo,			/* in nodes/execnodes.h */
	T_TIDBitmap					/* in nodes/tidbitmap.h */
} NodeTag;


*呼出元 [#g6feb2ed]

-[[MemoryContextData/postgresql-8.1.4]]

*備考 [#w694eb2b]

 /*
 * 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 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 ...)
 */

*履歴 [#hd0c4431]
-作者:[[testnoda/ページ作者]]
-日付:2007/1/17
|更新日|更新者|更新内容|
||||

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS