PostgreSQL Source Code  git master
nodes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Node
 

Macros

#define nodeTag(nodeptr)   (((const Node*)(nodeptr))->type)
 
#define newNode(size, tag)
 
#define makeNode(_type_)   ((_type_ *) newNode(sizeof(_type_),T_##_type_))
 
#define NodeSetTag(nodeptr, t)   (((Node*)(nodeptr))->type = (t))
 
#define IsA(nodeptr, _type_)   (nodeTag(nodeptr) == T_##_type_)
 
#define castNode(_type_, nodeptr)   ((_type_ *) (nodeptr))
 
#define copyObject(obj)   copyObjectImpl(obj)
 
#define IS_OUTER_JOIN(jointype)
 
#define AGGSPLITOP_COMBINE   0x01 /* substitute combinefn for transfn */
 
#define AGGSPLITOP_SKIPFINAL   0x02 /* skip finalfn, return state as-is */
 
#define AGGSPLITOP_SERIALIZE   0x04 /* apply serialfn to output */
 
#define AGGSPLITOP_DESERIALIZE   0x08 /* apply deserialfn to input */
 
#define DO_AGGSPLIT_COMBINE(as)   (((as) & AGGSPLITOP_COMBINE) != 0)
 
#define DO_AGGSPLIT_SKIPFINAL(as)   (((as) & AGGSPLITOP_SKIPFINAL) != 0)
 
#define DO_AGGSPLIT_SERIALIZE(as)   (((as) & AGGSPLITOP_SERIALIZE) != 0)
 
#define DO_AGGSPLIT_DESERIALIZE(as)   (((as) & AGGSPLITOP_DESERIALIZE) != 0)
 

Typedefs

typedef enum NodeTag NodeTag
 
typedef struct Node Node
 
typedef double Selectivity
 
typedef double Cost
 
typedef double Cardinality
 
typedef enum CmdType CmdType
 
typedef enum JoinType JoinType
 
typedef enum AggStrategy AggStrategy
 
typedef enum AggSplit AggSplit
 
typedef enum SetOpCmd SetOpCmd
 
typedef enum SetOpStrategy SetOpStrategy
 
typedef enum OnConflictAction OnConflictAction
 
typedef enum LimitOption LimitOption
 

Enumerations

enum  NodeTag {
  T_Invalid = 0 , T_IndexInfo , T_ExprContext , T_ProjectionInfo ,
  T_JunkFilter , T_OnConflictSetState , T_MergeActionState , T_ResultRelInfo ,
  T_EState , T_TupleTableSlot , T_Plan , T_Result ,
  T_ProjectSet , T_ModifyTable , T_Append , T_MergeAppend ,
  T_RecursiveUnion , T_BitmapAnd , T_BitmapOr , T_Scan ,
  T_SeqScan , T_SampleScan , T_IndexScan , T_IndexOnlyScan ,
  T_BitmapIndexScan , T_BitmapHeapScan , T_TidScan , T_TidRangeScan ,
  T_SubqueryScan , T_FunctionScan , T_ValuesScan , T_TableFuncScan ,
  T_CteScan , T_NamedTuplestoreScan , T_WorkTableScan , T_ForeignScan ,
  T_CustomScan , T_Join , T_NestLoop , T_MergeJoin ,
  T_HashJoin , T_Material , T_Memoize , T_Sort ,
  T_IncrementalSort , T_Group , T_Agg , T_WindowAgg ,
  T_Unique , T_Gather , T_GatherMerge , T_Hash ,
  T_SetOp , T_LockRows , T_Limit , T_NestLoopParam ,
  T_PlanRowMark , T_PartitionPruneInfo , T_PartitionedRelPruneInfo , T_PartitionPruneStepOp ,
  T_PartitionPruneStepCombine , T_PlanInvalItem , T_PlanState , T_ResultState ,
  T_ProjectSetState , T_ModifyTableState , T_AppendState , T_MergeAppendState ,
  T_RecursiveUnionState , T_BitmapAndState , T_BitmapOrState , T_ScanState ,
  T_SeqScanState , T_SampleScanState , T_IndexScanState , T_IndexOnlyScanState ,
  T_BitmapIndexScanState , T_BitmapHeapScanState , T_TidScanState , T_TidRangeScanState ,
  T_SubqueryScanState , T_FunctionScanState , T_TableFuncScanState , T_ValuesScanState ,
  T_CteScanState , T_NamedTuplestoreScanState , T_WorkTableScanState , T_ForeignScanState ,
  T_CustomScanState , T_JoinState , T_NestLoopState , T_MergeJoinState ,
  T_HashJoinState , T_MaterialState , T_MemoizeState , T_SortState ,
  T_IncrementalSortState , T_GroupState , T_AggState , T_WindowAggState ,
  T_UniqueState , T_GatherState , T_GatherMergeState , T_HashState ,
  T_SetOpState , T_LockRowsState , T_LimitState , T_Alias ,
  T_RangeVar , T_TableFunc , T_Var , T_Const ,
  T_Param , T_Aggref , T_GroupingFunc , T_WindowFunc ,
  T_SubscriptingRef , T_FuncExpr , T_NamedArgExpr , T_OpExpr ,
  T_DistinctExpr , T_NullIfExpr , T_ScalarArrayOpExpr , T_BoolExpr ,
  T_SubLink , T_SubPlan , T_AlternativeSubPlan , T_FieldSelect ,
  T_FieldStore , T_RelabelType , T_CoerceViaIO , T_ArrayCoerceExpr ,
  T_ConvertRowtypeExpr , T_CollateExpr , T_CaseExpr , T_CaseWhen ,
  T_CaseTestExpr , T_ArrayExpr , T_RowExpr , T_RowCompareExpr ,
  T_CoalesceExpr , T_MinMaxExpr , T_SQLValueFunction , T_XmlExpr ,
  T_NullTest , T_BooleanTest , T_CoerceToDomain , T_CoerceToDomainValue ,
  T_SetToDefault , T_CurrentOfExpr , T_NextValueExpr , T_InferenceElem ,
  T_TargetEntry , T_RangeTblRef , T_JoinExpr , T_FromExpr ,
  T_OnConflictExpr , T_IntoClause , T_JsonFormat , T_JsonReturning ,
  T_JsonValueExpr , T_JsonParseExpr , T_JsonScalarExpr , T_JsonSerializeExpr ,
  T_JsonConstructorExpr , T_JsonExpr , T_JsonCoercion , T_JsonItemCoercions ,
  T_JsonTableParent , T_JsonTableSibling , T_ExprState , T_WindowFuncExprState ,
  T_SetExprState , T_SubPlanState , T_DomainConstraintState , T_PlannerInfo ,
  T_PlannerGlobal , T_RelOptInfo , T_IndexOptInfo , T_ForeignKeyOptInfo ,
  T_ParamPathInfo , T_Path , T_IndexPath , T_BitmapHeapPath ,
  T_BitmapAndPath , T_BitmapOrPath , T_TidPath , T_TidRangePath ,
  T_SubqueryScanPath , T_ForeignPath , T_CustomPath , T_NestPath ,
  T_MergePath , T_HashPath , T_AppendPath , T_MergeAppendPath ,
  T_GroupResultPath , T_MaterialPath , T_MemoizePath , T_UniquePath ,
  T_GatherPath , T_GatherMergePath , T_ProjectionPath , T_ProjectSetPath ,
  T_SortPath , T_IncrementalSortPath , T_GroupPath , T_UpperUniquePath ,
  T_AggPath , T_GroupingSetsPath , T_MinMaxAggPath , T_WindowAggPath ,
  T_SetOpPath , T_RecursiveUnionPath , T_LockRowsPath , T_ModifyTablePath ,
  T_LimitPath , T_EquivalenceClass , T_EquivalenceMember , T_PathKey ,
  T_PathKeyInfo , T_PathTarget , T_RestrictInfo , T_IndexClause ,
  T_PlaceHolderVar , T_SpecialJoinInfo , T_AppendRelInfo , T_RowIdentityVarInfo ,
  T_PlaceHolderInfo , T_MinMaxAggInfo , T_PlannerParamItem , T_RollupData ,
  T_GroupingSetData , T_StatisticExtInfo , T_MergeAction , T_AllocSetContext ,
  T_SlabContext , T_GenerationContext , T_Integer , T_Float ,
  T_Boolean , T_String , T_BitString , T_List ,
  T_IntList , T_OidList , T_ExtensibleNode , T_RawStmt ,
  T_Query , T_PlannedStmt , T_InsertStmt , T_DeleteStmt ,
  T_UpdateStmt , T_MergeStmt , T_SelectStmt , T_ReturnStmt ,
  T_PLAssignStmt , T_AlterTableStmt , T_AlterTableCmd , T_AlterDomainStmt ,
  T_SetOperationStmt , T_GrantStmt , T_GrantRoleStmt , T_AlterDefaultPrivilegesStmt ,
  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_DoStmt , 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_CreateTableAsStmt , T_CreateSeqStmt ,
  T_AlterSeqStmt , T_VariableSetStmt , T_VariableShowStmt , T_DiscardStmt ,
  T_CreateTrigStmt , T_CreatePLangStmt , T_CreateRoleStmt , T_AlterRoleStmt ,
  T_DropRoleStmt , T_LockStmt , T_ConstraintsSetStmt , T_ReindexStmt ,
  T_CheckPointStmt , T_CreateSchemaStmt , T_AlterDatabaseStmt , T_AlterDatabaseRefreshCollStmt ,
  T_AlterDatabaseSetStmt , T_AlterRoleSetStmt , T_CreateConversionStmt , T_CreateCastStmt ,
  T_CreateOpClassStmt , T_CreateOpFamilyStmt , T_AlterOpFamilyStmt , T_PrepareStmt ,
  T_ExecuteStmt , T_DeallocateStmt , T_DeclareCursorStmt , T_CreateTableSpaceStmt ,
  T_DropTableSpaceStmt , T_AlterObjectDependsStmt , T_AlterObjectSchemaStmt , T_AlterOwnerStmt ,
  T_AlterOperatorStmt , T_AlterTypeStmt , T_DropOwnedStmt , T_ReassignOwnedStmt ,
  T_CompositeTypeStmt , T_CreateEnumStmt , T_CreateRangeStmt , T_AlterEnumStmt ,
  T_AlterTSDictionaryStmt , T_AlterTSConfigurationStmt , T_CreateFdwStmt , T_AlterFdwStmt ,
  T_CreateForeignServerStmt , T_AlterForeignServerStmt , T_CreateUserMappingStmt , T_AlterUserMappingStmt ,
  T_DropUserMappingStmt , T_AlterTableSpaceOptionsStmt , T_AlterTableMoveAllStmt , T_SecLabelStmt ,
  T_CreateForeignTableStmt , T_ImportForeignSchemaStmt , T_CreateExtensionStmt , T_AlterExtensionStmt ,
  T_AlterExtensionContentsStmt , T_CreateEventTrigStmt , T_AlterEventTrigStmt , T_RefreshMatViewStmt ,
  T_ReplicaIdentityStmt , T_AlterSystemStmt , T_CreatePolicyStmt , T_AlterPolicyStmt ,
  T_CreateTransformStmt , T_CreateAmStmt , T_CreatePublicationStmt , T_AlterPublicationStmt ,
  T_CreateSubscriptionStmt , T_AlterSubscriptionStmt , T_DropSubscriptionStmt , T_CreateStatsStmt ,
  T_AlterCollationStmt , T_CallStmt , T_AlterStatsStmt , T_A_Expr ,
  T_ColumnRef , T_ParamRef , T_A_Const , T_FuncCall ,
  T_A_Star , T_A_Indices , T_A_Indirection , T_A_ArrayExpr ,
  T_ResTarget , T_MultiAssignRef , T_TypeCast , T_CollateClause ,
  T_SortBy , T_WindowDef , T_RangeSubselect , T_RangeFunction ,
  T_RangeTableSample , T_RangeTableFunc , T_RangeTableFuncCol , T_TypeName ,
  T_ColumnDef , T_IndexElem , T_StatsElem , T_Constraint ,
  T_DefElem , T_RangeTblEntry , T_RangeTblFunction , T_TableSampleClause ,
  T_WithCheckOption , T_SortGroupClause , T_GroupingSet , T_WindowClause ,
  T_ObjectWithArgs , T_AccessPriv , T_CreateOpClassItem , T_TableLikeClause ,
  T_FunctionParameter , T_LockingClause , T_RowMarkClause , T_XmlSerialize ,
  T_WithClause , T_InferClause , T_OnConflictClause , T_CTESearchClause ,
  T_CTECycleClause , T_CommonTableExpr , T_MergeWhenClause , T_RoleSpec ,
  T_TriggerTransition , T_PartitionElem , T_PartitionSpec , T_PartitionBoundSpec ,
  T_PartitionRangeDatum , T_PartitionCmd , T_VacuumRelation , T_PublicationObjSpec ,
  T_PublicationTable , T_JsonObjectConstructor , T_JsonArrayConstructor , T_JsonArrayQueryConstructor ,
  T_JsonAggConstructor , T_JsonObjectAgg , T_JsonArrayAgg , T_JsonFuncExpr ,
  T_JsonIsPredicate , T_JsonTable , T_JsonTableColumn , T_JsonTablePlan ,
  T_JsonCommon , T_JsonArgument , T_JsonKeyValue , T_JsonBehavior ,
  T_JsonOutput , T_IdentifySystemCmd , T_BaseBackupCmd , T_CreateReplicationSlotCmd ,
  T_DropReplicationSlotCmd , T_ReadReplicationSlotCmd , T_StartReplicationCmd , T_TimeLineHistoryCmd ,
  T_TriggerData , T_EventTriggerData , T_ReturnSetInfo , T_WindowObjectData ,
  T_TIDBitmap , T_InlineCodeBlock , T_FdwRoutine , T_IndexAmRoutine ,
  T_TableAmRoutine , T_TsmRoutine , T_ForeignKeyCacheInfo , T_CallContext ,
  T_SupportRequestSimplify , T_SupportRequestSelectivity , T_SupportRequestCost , T_SupportRequestRows ,
  T_SupportRequestIndexCondition , T_SupportRequestWFuncMonotonic
}
 
enum  CmdType {
  CMD_UNKNOWN , CMD_SELECT , CMD_UPDATE , CMD_INSERT ,
  CMD_DELETE , CMD_MERGE , CMD_UTILITY , CMD_NOTHING
}
 
enum  JoinType {
  JOIN_INNER , JOIN_LEFT , JOIN_FULL , JOIN_RIGHT ,
  JOIN_SEMI , JOIN_ANTI , JOIN_UNIQUE_OUTER , JOIN_UNIQUE_INNER
}
 
enum  AggStrategy { AGG_PLAIN , AGG_SORTED , AGG_HASHED , AGG_MIXED }
 
enum  AggSplit { AGGSPLIT_SIMPLE = 0 , AGGSPLIT_INITIAL_SERIAL = AGGSPLITOP_SKIPFINAL | AGGSPLITOP_SERIALIZE , AGGSPLIT_FINAL_DESERIAL = AGGSPLITOP_COMBINE | AGGSPLITOP_DESERIALIZE }
 
enum  SetOpCmd { SETOPCMD_INTERSECT , SETOPCMD_INTERSECT_ALL , SETOPCMD_EXCEPT , SETOPCMD_EXCEPT_ALL }
 
enum  SetOpStrategy { SETOP_SORTED , SETOP_HASHED }
 
enum  OnConflictAction { ONCONFLICT_NONE , ONCONFLICT_NOTHING , ONCONFLICT_UPDATE }
 
enum  LimitOption { LIMIT_OPTION_COUNT , LIMIT_OPTION_WITH_TIES , LIMIT_OPTION_DEFAULT }
 

Functions

void outNode (struct StringInfoData *str, const void *obj)
 
void outToken (struct StringInfoData *str, const char *s)
 
void outBitmapset (struct StringInfoData *str, const struct Bitmapset *bms)
 
void outDatum (struct StringInfoData *str, uintptr_t value, int typlen, bool typbyval)
 
char * nodeToString (const void *obj)
 
char * bmsToString (const struct Bitmapset *bms)
 
void * stringToNode (const char *str)
 
struct BitmapsetreadBitmapset (void)
 
uintptr_t readDatum (bool typbyval)
 
boolreadBoolCols (int numCols)
 
int * readIntCols (int numCols)
 
OidreadOidCols (int numCols)
 
int16readAttrNumberCols (int numCols)
 
void * copyObjectImpl (const void *obj)
 
bool equal (const void *a, const void *b)
 

Variables

PGDLLIMPORT NodenewNodeMacroHolder
 

Macro Definition Documentation

◆ AGGSPLITOP_COMBINE

#define AGGSPLITOP_COMBINE   0x01 /* substitute combinefn for transfn */

Definition at line 821 of file nodes.h.

◆ AGGSPLITOP_DESERIALIZE

#define AGGSPLITOP_DESERIALIZE   0x08 /* apply deserialfn to input */

Definition at line 824 of file nodes.h.

◆ AGGSPLITOP_SERIALIZE

#define AGGSPLITOP_SERIALIZE   0x04 /* apply serialfn to output */

Definition at line 823 of file nodes.h.

◆ AGGSPLITOP_SKIPFINAL

#define AGGSPLITOP_SKIPFINAL   0x02 /* skip finalfn, return state as-is */

Definition at line 822 of file nodes.h.

◆ castNode

#define castNode (   _type_,
  nodeptr 
)    ((_type_ *) (nodeptr))

Definition at line 642 of file nodes.h.

◆ copyObject

#define copyObject (   obj)    copyObjectImpl(obj)

Definition at line 689 of file nodes.h.

◆ DO_AGGSPLIT_COMBINE

#define DO_AGGSPLIT_COMBINE (   as)    (((as) & AGGSPLITOP_COMBINE) != 0)

Definition at line 838 of file nodes.h.

◆ DO_AGGSPLIT_DESERIALIZE

#define DO_AGGSPLIT_DESERIALIZE (   as)    (((as) & AGGSPLITOP_DESERIALIZE) != 0)

Definition at line 841 of file nodes.h.

◆ DO_AGGSPLIT_SERIALIZE

#define DO_AGGSPLIT_SERIALIZE (   as)    (((as) & AGGSPLITOP_SERIALIZE) != 0)

Definition at line 840 of file nodes.h.

◆ DO_AGGSPLIT_SKIPFINAL

#define DO_AGGSPLIT_SKIPFINAL (   as)    (((as) & AGGSPLITOP_SKIPFINAL) != 0)

Definition at line 839 of file nodes.h.

◆ IS_OUTER_JOIN

#define IS_OUTER_JOIN (   jointype)
Value:
(((1 << (jointype)) & \
((1 << JOIN_LEFT) | \
(1 << JOIN_FULL) | \
(1 << JOIN_RIGHT) | \
(1 << JOIN_ANTI))) != 0)
@ JOIN_FULL
Definition: nodes.h:751
@ JOIN_RIGHT
Definition: nodes.h:752
@ JOIN_LEFT
Definition: nodes.h:750
@ JOIN_ANTI
Definition: nodes.h:764

Definition at line 792 of file nodes.h.

◆ IsA

#define IsA (   nodeptr,
  _type_ 
)    (nodeTag(nodeptr) == T_##_type_)

Definition at line 624 of file nodes.h.

◆ makeNode

#define makeNode (   _type_)    ((_type_ *) newNode(sizeof(_type_),T_##_type_))

Definition at line 621 of file nodes.h.

◆ newNode

#define newNode (   size,
  tag 
)
Value:
( \
AssertMacro((size) >= sizeof(Node)), /* need the tag, at least */ \
newNodeMacroHolder = (Node *) palloc0fast(size), \
newNodeMacroHolder->type = (tag), \
)
PGDLLIMPORT Node * newNodeMacroHolder
Definition: nodes.c:31
#define palloc0fast(sz)
Definition: palloc.h:91
Definition: nodes.h:574

Definition at line 611 of file nodes.h.

◆ NodeSetTag

#define NodeSetTag (   nodeptr,
 
)    (((Node*)(nodeptr))->type = (t))

Definition at line 622 of file nodes.h.

◆ nodeTag

#define nodeTag (   nodeptr)    (((const Node*)(nodeptr))->type)

Definition at line 578 of file nodes.h.

Typedef Documentation

◆ AggSplit

typedef enum AggSplit AggSplit

◆ AggStrategy

typedef enum AggStrategy AggStrategy

◆ Cardinality

typedef double Cardinality

Definition at line 708 of file nodes.h.

◆ CmdType

typedef enum CmdType CmdType

◆ Cost

typedef double Cost

Definition at line 707 of file nodes.h.

◆ JoinType

typedef enum JoinType JoinType

◆ LimitOption

typedef enum LimitOption LimitOption

◆ Node

typedef struct Node Node

◆ NodeTag

typedef enum NodeTag NodeTag

◆ OnConflictAction

◆ Selectivity

typedef double Selectivity

Definition at line 706 of file nodes.h.

◆ SetOpCmd

typedef enum SetOpCmd SetOpCmd

◆ SetOpStrategy

Enumeration Type Documentation

◆ AggSplit

enum AggSplit
Enumerator
AGGSPLIT_SIMPLE 
AGGSPLIT_INITIAL_SERIAL 
AGGSPLIT_FINAL_DESERIAL 

Definition at line 827 of file nodes.h.

828 {
829  /* Basic, non-split aggregation: */
830  AGGSPLIT_SIMPLE = 0,
831  /* Initial phase of partial aggregation, with serialization: */
833  /* Final phase of partial aggregation, with deserialization: */
835 } AggSplit;
#define AGGSPLITOP_DESERIALIZE
Definition: nodes.h:824
#define AGGSPLITOP_SKIPFINAL
Definition: nodes.h:822
#define AGGSPLITOP_SERIALIZE
Definition: nodes.h:823
AggSplit
Definition: nodes.h:828
@ AGGSPLIT_FINAL_DESERIAL
Definition: nodes.h:834
@ AGGSPLIT_SIMPLE
Definition: nodes.h:830
@ AGGSPLIT_INITIAL_SERIAL
Definition: nodes.h:832
#define AGGSPLITOP_COMBINE
Definition: nodes.h:821

◆ AggStrategy

Enumerator
AGG_PLAIN 
AGG_SORTED 
AGG_HASHED 
AGG_MIXED 

Definition at line 805 of file nodes.h.

806 {
807  AGG_PLAIN, /* simple agg across all input rows */
808  AGG_SORTED, /* grouped agg, input must be sorted */
809  AGG_HASHED, /* grouped agg, use internal hashtable */
810  AGG_MIXED /* grouped agg, hash and sort both used */
811 } AggStrategy;
AggStrategy
Definition: nodes.h:806
@ AGG_SORTED
Definition: nodes.h:808
@ AGG_HASHED
Definition: nodes.h:809
@ AGG_MIXED
Definition: nodes.h:810
@ AGG_PLAIN
Definition: nodes.h:807

◆ CmdType

enum CmdType
Enumerator
CMD_UNKNOWN 
CMD_SELECT 
CMD_UPDATE 
CMD_INSERT 
CMD_DELETE 
CMD_MERGE 
CMD_UTILITY 
CMD_NOTHING 

Definition at line 718 of file nodes.h.

719 {
720  CMD_UNKNOWN,
721  CMD_SELECT, /* select stmt */
722  CMD_UPDATE, /* update stmt */
723  CMD_INSERT, /* insert stmt */
724  CMD_DELETE, /* delete stmt */
725  CMD_MERGE, /* merge stmt */
726  CMD_UTILITY, /* cmds like create, destroy, copy, vacuum,
727  * etc. */
728  CMD_NOTHING /* dummy command for instead nothing rules
729  * with qual */
730 } CmdType;
CmdType
Definition: nodes.h:719
@ CMD_MERGE
Definition: nodes.h:725
@ CMD_UTILITY
Definition: nodes.h:726
@ CMD_INSERT
Definition: nodes.h:723
@ CMD_DELETE
Definition: nodes.h:724
@ CMD_UNKNOWN
Definition: nodes.h:720
@ CMD_UPDATE
Definition: nodes.h:722
@ CMD_SELECT
Definition: nodes.h:721
@ CMD_NOTHING
Definition: nodes.h:728

◆ JoinType

enum JoinType
Enumerator
JOIN_INNER 
JOIN_LEFT 
JOIN_FULL 
JOIN_RIGHT 
JOIN_SEMI 
JOIN_ANTI 
JOIN_UNIQUE_OUTER 
JOIN_UNIQUE_INNER 

Definition at line 743 of file nodes.h.

744 {
745  /*
746  * The canonical kinds of joins according to the SQL JOIN syntax. Only
747  * these codes can appear in parser output (e.g., JoinExpr nodes).
748  */
749  JOIN_INNER, /* matching tuple pairs only */
750  JOIN_LEFT, /* pairs + unmatched LHS tuples */
751  JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */
752  JOIN_RIGHT, /* pairs + unmatched RHS tuples */
753 
754  /*
755  * Semijoins and anti-semijoins (as defined in relational theory) do not
756  * appear in the SQL JOIN syntax, but there are standard idioms for
757  * representing them (e.g., using EXISTS). The planner recognizes these
758  * cases and converts them to joins. So the planner and executor must
759  * support these codes. NOTE: in JOIN_SEMI output, it is unspecified
760  * which matching RHS row is joined to. In JOIN_ANTI output, the row is
761  * guaranteed to be null-extended.
762  */
763  JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */
764  JOIN_ANTI, /* 1 copy of each LHS row that has no match */
765 
766  /*
767  * These codes are used internally in the planner, but are not supported
768  * by the executor (nor, indeed, by most of the planner).
769  */
770  JOIN_UNIQUE_OUTER, /* LHS path must be made unique */
771  JOIN_UNIQUE_INNER /* RHS path must be made unique */
772 
773  /*
774  * We might need additional join types someday.
775  */
776 } JoinType;
JoinType
Definition: nodes.h:744
@ JOIN_SEMI
Definition: nodes.h:763
@ JOIN_INNER
Definition: nodes.h:749
@ JOIN_UNIQUE_OUTER
Definition: nodes.h:770
@ JOIN_UNIQUE_INNER
Definition: nodes.h:771

◆ LimitOption

Enumerator
LIMIT_OPTION_COUNT 
LIMIT_OPTION_WITH_TIES 
LIMIT_OPTION_DEFAULT 

Definition at line 882 of file nodes.h.

883 {
884  LIMIT_OPTION_COUNT, /* FETCH FIRST... ONLY */
885  LIMIT_OPTION_WITH_TIES, /* FETCH FIRST... WITH TIES */
886  LIMIT_OPTION_DEFAULT, /* No limit present */
887 } LimitOption;
LimitOption
Definition: nodes.h:883
@ LIMIT_OPTION_COUNT
Definition: nodes.h:884
@ LIMIT_OPTION_WITH_TIES
Definition: nodes.h:885
@ LIMIT_OPTION_DEFAULT
Definition: nodes.h:886

◆ NodeTag

enum NodeTag
Enumerator
T_Invalid 
T_IndexInfo 
T_ExprContext 
T_ProjectionInfo 
T_JunkFilter 
T_OnConflictSetState 
T_MergeActionState 
T_ResultRelInfo 
T_EState 
T_TupleTableSlot 
T_Plan 
T_Result 
T_ProjectSet 
T_ModifyTable 
T_Append 
T_MergeAppend 
T_RecursiveUnion 
T_BitmapAnd 
T_BitmapOr 
T_Scan 
T_SeqScan 
T_SampleScan 
T_IndexScan 
T_IndexOnlyScan 
T_BitmapIndexScan 
T_BitmapHeapScan 
T_TidScan 
T_TidRangeScan 
T_SubqueryScan 
T_FunctionScan 
T_ValuesScan 
T_TableFuncScan 
T_CteScan 
T_NamedTuplestoreScan 
T_WorkTableScan 
T_ForeignScan 
T_CustomScan 
T_Join 
T_NestLoop 
T_MergeJoin 
T_HashJoin 
T_Material 
T_Memoize 
T_Sort 
T_IncrementalSort 
T_Group 
T_Agg 
T_WindowAgg 
T_Unique 
T_Gather 
T_GatherMerge 
T_Hash 
T_SetOp 
T_LockRows 
T_Limit 
T_NestLoopParam 
T_PlanRowMark 
T_PartitionPruneInfo 
T_PartitionedRelPruneInfo 
T_PartitionPruneStepOp 
T_PartitionPruneStepCombine 
T_PlanInvalItem 
T_PlanState 
T_ResultState 
T_ProjectSetState 
T_ModifyTableState 
T_AppendState 
T_MergeAppendState 
T_RecursiveUnionState 
T_BitmapAndState 
T_BitmapOrState 
T_ScanState 
T_SeqScanState 
T_SampleScanState 
T_IndexScanState 
T_IndexOnlyScanState 
T_BitmapIndexScanState 
T_BitmapHeapScanState 
T_TidScanState 
T_TidRangeScanState 
T_SubqueryScanState 
T_FunctionScanState 
T_TableFuncScanState 
T_ValuesScanState 
T_CteScanState 
T_NamedTuplestoreScanState 
T_WorkTableScanState 
T_ForeignScanState 
T_CustomScanState 
T_JoinState 
T_NestLoopState 
T_MergeJoinState 
T_HashJoinState 
T_MaterialState 
T_MemoizeState 
T_SortState 
T_IncrementalSortState 
T_GroupState 
T_AggState 
T_WindowAggState 
T_UniqueState 
T_GatherState 
T_GatherMergeState 
T_HashState 
T_SetOpState 
T_LockRowsState 
T_LimitState 
T_Alias 
T_RangeVar 
T_TableFunc 
T_Var 
T_Const 
T_Param 
T_Aggref 
T_GroupingFunc 
T_WindowFunc 
T_SubscriptingRef 
T_FuncExpr 
T_NamedArgExpr 
T_OpExpr 
T_DistinctExpr 
T_NullIfExpr 
T_ScalarArrayOpExpr 
T_BoolExpr 
T_SubLink 
T_SubPlan 
T_AlternativeSubPlan 
T_FieldSelect 
T_FieldStore 
T_RelabelType 
T_CoerceViaIO 
T_ArrayCoerceExpr 
T_ConvertRowtypeExpr 
T_CollateExpr 
T_CaseExpr 
T_CaseWhen 
T_CaseTestExpr 
T_ArrayExpr 
T_RowExpr 
T_RowCompareExpr 
T_CoalesceExpr 
T_MinMaxExpr 
T_SQLValueFunction 
T_XmlExpr 
T_NullTest 
T_BooleanTest 
T_CoerceToDomain 
T_CoerceToDomainValue 
T_SetToDefault 
T_CurrentOfExpr 
T_NextValueExpr 
T_InferenceElem 
T_TargetEntry 
T_RangeTblRef 
T_JoinExpr 
T_FromExpr 
T_OnConflictExpr 
T_IntoClause 
T_JsonFormat 
T_JsonReturning 
T_JsonValueExpr 
T_JsonParseExpr 
T_JsonScalarExpr 
T_JsonSerializeExpr 
T_JsonConstructorExpr 
T_JsonExpr 
T_JsonCoercion 
T_JsonItemCoercions 
T_JsonTableParent 
T_JsonTableSibling 
T_ExprState 
T_WindowFuncExprState 
T_SetExprState 
T_SubPlanState 
T_DomainConstraintState 
T_PlannerInfo 
T_PlannerGlobal 
T_RelOptInfo 
T_IndexOptInfo 
T_ForeignKeyOptInfo 
T_ParamPathInfo 
T_Path 
T_IndexPath 
T_BitmapHeapPath 
T_BitmapAndPath 
T_BitmapOrPath 
T_TidPath 
T_TidRangePath 
T_SubqueryScanPath 
T_ForeignPath 
T_CustomPath 
T_NestPath 
T_MergePath 
T_HashPath 
T_AppendPath 
T_MergeAppendPath 
T_GroupResultPath 
T_MaterialPath 
T_MemoizePath 
T_UniquePath 
T_GatherPath 
T_GatherMergePath 
T_ProjectionPath 
T_ProjectSetPath 
T_SortPath 
T_IncrementalSortPath 
T_GroupPath 
T_UpperUniquePath 
T_AggPath 
T_GroupingSetsPath 
T_MinMaxAggPath 
T_WindowAggPath 
T_SetOpPath 
T_RecursiveUnionPath 
T_LockRowsPath 
T_ModifyTablePath 
T_LimitPath 
T_EquivalenceClass 
T_EquivalenceMember 
T_PathKey 
T_PathKeyInfo 
T_PathTarget 
T_RestrictInfo 
T_IndexClause 
T_PlaceHolderVar 
T_SpecialJoinInfo 
T_AppendRelInfo 
T_RowIdentityVarInfo 
T_PlaceHolderInfo 
T_MinMaxAggInfo 
T_PlannerParamItem 
T_RollupData 
T_GroupingSetData 
T_StatisticExtInfo 
T_MergeAction 
T_AllocSetContext 
T_SlabContext 
T_GenerationContext 
T_Integer 
T_Float 
T_Boolean 
T_String 
T_BitString 
T_List 
T_IntList 
T_OidList 
T_ExtensibleNode 
T_RawStmt 
T_Query 
T_PlannedStmt 
T_InsertStmt 
T_DeleteStmt 
T_UpdateStmt 
T_MergeStmt 
T_SelectStmt 
T_ReturnStmt 
T_PLAssignStmt 
T_AlterTableStmt 
T_AlterTableCmd 
T_AlterDomainStmt 
T_SetOperationStmt 
T_GrantStmt 
T_GrantRoleStmt 
T_AlterDefaultPrivilegesStmt 
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_DoStmt 
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_CreateTableAsStmt 
T_CreateSeqStmt 
T_AlterSeqStmt 
T_VariableSetStmt 
T_VariableShowStmt 
T_DiscardStmt 
T_CreateTrigStmt 
T_CreatePLangStmt 
T_CreateRoleStmt 
T_AlterRoleStmt 
T_DropRoleStmt 
T_LockStmt 
T_ConstraintsSetStmt 
T_ReindexStmt 
T_CheckPointStmt 
T_CreateSchemaStmt 
T_AlterDatabaseStmt 
T_AlterDatabaseRefreshCollStmt 
T_AlterDatabaseSetStmt 
T_AlterRoleSetStmt 
T_CreateConversionStmt 
T_CreateCastStmt 
T_CreateOpClassStmt 
T_CreateOpFamilyStmt 
T_AlterOpFamilyStmt 
T_PrepareStmt 
T_ExecuteStmt 
T_DeallocateStmt 
T_DeclareCursorStmt 
T_CreateTableSpaceStmt 
T_DropTableSpaceStmt 
T_AlterObjectDependsStmt 
T_AlterObjectSchemaStmt 
T_AlterOwnerStmt 
T_AlterOperatorStmt 
T_AlterTypeStmt 
T_DropOwnedStmt 
T_ReassignOwnedStmt 
T_CompositeTypeStmt 
T_CreateEnumStmt 
T_CreateRangeStmt 
T_AlterEnumStmt 
T_AlterTSDictionaryStmt 
T_AlterTSConfigurationStmt 
T_CreateFdwStmt 
T_AlterFdwStmt 
T_CreateForeignServerStmt 
T_AlterForeignServerStmt 
T_CreateUserMappingStmt 
T_AlterUserMappingStmt 
T_DropUserMappingStmt 
T_AlterTableSpaceOptionsStmt 
T_AlterTableMoveAllStmt 
T_SecLabelStmt 
T_CreateForeignTableStmt 
T_ImportForeignSchemaStmt 
T_CreateExtensionStmt 
T_AlterExtensionStmt 
T_AlterExtensionContentsStmt 
T_CreateEventTrigStmt 
T_AlterEventTrigStmt 
T_RefreshMatViewStmt 
T_ReplicaIdentityStmt 
T_AlterSystemStmt 
T_CreatePolicyStmt 
T_AlterPolicyStmt 
T_CreateTransformStmt 
T_CreateAmStmt 
T_CreatePublicationStmt 
T_AlterPublicationStmt 
T_CreateSubscriptionStmt 
T_AlterSubscriptionStmt 
T_DropSubscriptionStmt 
T_CreateStatsStmt 
T_AlterCollationStmt 
T_CallStmt 
T_AlterStatsStmt 
T_A_Expr 
T_ColumnRef 
T_ParamRef 
T_A_Const 
T_FuncCall 
T_A_Star 
T_A_Indices 
T_A_Indirection 
T_A_ArrayExpr 
T_ResTarget 
T_MultiAssignRef 
T_TypeCast 
T_CollateClause 
T_SortBy 
T_WindowDef 
T_RangeSubselect 
T_RangeFunction 
T_RangeTableSample 
T_RangeTableFunc 
T_RangeTableFuncCol 
T_TypeName 
T_ColumnDef 
T_IndexElem 
T_StatsElem 
T_Constraint 
T_DefElem 
T_RangeTblEntry 
T_RangeTblFunction 
T_TableSampleClause 
T_WithCheckOption 
T_SortGroupClause 
T_GroupingSet 
T_WindowClause 
T_ObjectWithArgs 
T_AccessPriv 
T_CreateOpClassItem 
T_TableLikeClause 
T_FunctionParameter 
T_LockingClause 
T_RowMarkClause 
T_XmlSerialize 
T_WithClause 
T_InferClause 
T_OnConflictClause 
T_CTESearchClause 
T_CTECycleClause 
T_CommonTableExpr 
T_MergeWhenClause 
T_RoleSpec 
T_TriggerTransition 
T_PartitionElem 
T_PartitionSpec 
T_PartitionBoundSpec 
T_PartitionRangeDatum 
T_PartitionCmd 
T_VacuumRelation 
T_PublicationObjSpec 
T_PublicationTable 
T_JsonObjectConstructor 
T_JsonArrayConstructor 
T_JsonArrayQueryConstructor 
T_JsonAggConstructor 
T_JsonObjectAgg 
T_JsonArrayAgg 
T_JsonFuncExpr 
T_JsonIsPredicate 
T_JsonTable 
T_JsonTableColumn 
T_JsonTablePlan 
T_JsonCommon 
T_JsonArgument 
T_JsonKeyValue 
T_JsonBehavior 
T_JsonOutput 
T_IdentifySystemCmd 
T_BaseBackupCmd 
T_CreateReplicationSlotCmd 
T_DropReplicationSlotCmd 
T_ReadReplicationSlotCmd 
T_StartReplicationCmd 
T_TimeLineHistoryCmd 
T_TriggerData 
T_EventTriggerData 
T_ReturnSetInfo 
T_WindowObjectData 
T_TIDBitmap 
T_InlineCodeBlock 
T_FdwRoutine 
T_IndexAmRoutine 
T_TableAmRoutine 
T_TsmRoutine 
T_ForeignKeyCacheInfo 
T_CallContext 
T_SupportRequestSimplify 
T_SupportRequestSelectivity 
T_SupportRequestCost 
T_SupportRequestRows 
T_SupportRequestIndexCondition 
T_SupportRequestWFuncMonotonic 

Definition at line 26 of file nodes.h.

27 {
28  T_Invalid = 0,
29 
30  /*
31  * TAGS FOR EXECUTOR NODES (execnodes.h)
32  */
40  T_EState,
42 
43  /*
44  * TAGS FOR PLAN NODES (plannodes.h)
45  */
46  T_Plan,
47  T_Result,
50  T_Append,
54  T_BitmapOr,
55  T_Scan,
56  T_SeqScan,
62  T_TidScan,
68  T_CteScan,
73  T_Join,
74  T_NestLoop,
76  T_HashJoin,
77  T_Material,
78  T_Memoize,
79  T_Sort,
81  T_Group,
82  T_Agg,
84  T_Unique,
85  T_Gather,
87  T_Hash,
88  T_SetOp,
89  T_LockRows,
90  T_Limit,
91  /* these aren't subclasses of Plan: */
99 
100  /*
101  * TAGS FOR PLAN STATE NODES (execnodes.h)
102  *
103  * These should correspond one-to-one with Plan node types.
104  */
105  T_PlanState,
114  T_ScanState,
132  T_JoinState,
138  T_SortState,
140  T_GroupState,
141  T_AggState,
146  T_HashState,
147  T_SetOpState,
149  T_LimitState,
150 
151  /*
152  * TAGS FOR PRIMITIVE NODES (primnodes.h)
153  */
154  T_Alias,
155  T_RangeVar,
156  T_TableFunc,
157  T_Var,
158  T_Const,
159  T_Param,
160  T_Aggref,
162  T_WindowFunc,
164  T_FuncExpr,
166  T_OpExpr,
168  T_NullIfExpr,
170  T_BoolExpr,
171  T_SubLink,
172  T_SubPlan,
175  T_FieldStore,
181  T_CaseExpr,
182  T_CaseWhen,
184  T_ArrayExpr,
185  T_RowExpr,
188  T_MinMaxExpr,
190  T_XmlExpr,
191  T_NullTest,
201  T_JoinExpr,
202  T_FromExpr,
204  T_IntoClause,
205  T_JsonFormat,
212  T_JsonExpr,
217 
218  /*
219  * TAGS FOR EXPRESSION STATE NODES (execnodes.h)
220  *
221  * ExprState represents the evaluation state for a whole expression tree.
222  * Most Expr-based plan nodes do not have a corresponding expression state
223  * node, they're fully handled within execExpr* - but sometimes the state
224  * needs to be shared with other parts of the executor, as for example
225  * with SubPlanState, which nodeSubplan.c has to modify.
226  */
227  T_ExprState,
232 
233  /*
234  * TAGS FOR PLANNER NODES (pathnodes.h)
235  */
238  T_RelOptInfo,
242  T_Path,
243  T_IndexPath,
247  T_TidPath,
251  T_CustomPath,
252  T_NestPath,
253  T_MergePath,
254  T_HashPath,
255  T_AppendPath,
260  T_UniquePath,
261  T_GatherPath,
265  T_SortPath,
267  T_GroupPath,
269  T_AggPath,
273  T_SetOpPath,
277  T_LimitPath,
278  /* these aren't subclasses of Path: */
281  T_PathKey,
283  T_PathTarget,
293  T_RollupData,
297 
298  /*
299  * TAGS FOR MEMORY NODES (memnodes.h)
300  */
304 
305  /*
306  * TAGS FOR VALUE NODES (value.h)
307  */
308  T_Integer,
309  T_Float,
310  T_Boolean,
311  T_String,
312  T_BitString,
313 
314  /*
315  * TAGS FOR LIST NODES (pg_list.h)
316  */
317  T_List,
318  T_IntList,
319  T_OidList,
320 
321  /*
322  * TAGS FOR EXTENSIBLE NODES (extensible.h)
323  */
325 
326  /*
327  * TAGS FOR STATEMENT NODES (mostly in parsenodes.h)
328  */
329  T_RawStmt,
330  T_Query,
332  T_InsertStmt,
333  T_DeleteStmt,
334  T_UpdateStmt,
335  T_MergeStmt,
336  T_SelectStmt,
337  T_ReturnStmt,
343  T_GrantStmt,
348  T_CopyStmt,
349  T_CreateStmt,
350  T_DefineStmt,
351  T_DropStmt,
354  T_FetchStmt,
355  T_IndexStmt,
358  T_DoStmt,
359  T_RenameStmt,
360  T_RuleStmt,
361  T_NotifyStmt,
362  T_ListenStmt,
365  T_ViewStmt,
366  T_LoadStmt,
369  T_DropdbStmt,
370  T_VacuumStmt,
383  T_LockStmt,
447  T_CallStmt,
449 
450  /*
451  * TAGS FOR PARSE TREE NODES (parsenodes.h)
452  */
453  T_A_Expr,
454  T_ColumnRef,
455  T_ParamRef,
456  T_A_Const,
457  T_FuncCall,
458  T_A_Star,
459  T_A_Indices,
462  T_ResTarget,
464  T_TypeCast,
466  T_SortBy,
467  T_WindowDef,
473  T_TypeName,
474  T_ColumnDef,
475  T_IndexElem,
476  T_StatsElem,
477  T_Constraint,
478  T_DefElem,
487  T_AccessPriv,
494  T_WithClause,
501  T_RoleSpec,
519  T_JsonTable,
522  T_JsonCommon,
526  T_JsonOutput,
527 
528  /*
529  * TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h)
530  */
538 
539  /*
540  * TAGS FOR RANDOM OTHER STUFF
541  *
542  * These are objects that aren't part of parse/plan/execute node tree
543  * structures, but we give them NodeTags anyway for identification
544  * purposes (usually because they are involved in APIs where we want to
545  * pass multiple object types through the same pointer).
546  */
547  T_TriggerData, /* in commands/trigger.h */
548  T_EventTriggerData, /* in commands/event_trigger.h */
549  T_ReturnSetInfo, /* in nodes/execnodes.h */
550  T_WindowObjectData, /* private in nodeWindowAgg.c */
551  T_TIDBitmap, /* in nodes/tidbitmap.h */
552  T_InlineCodeBlock, /* in nodes/parsenodes.h */
553  T_FdwRoutine, /* in foreign/fdwapi.h */
554  T_IndexAmRoutine, /* in access/amapi.h */
555  T_TableAmRoutine, /* in access/tableam.h */
556  T_TsmRoutine, /* in access/tsmapi.h */
557  T_ForeignKeyCacheInfo, /* in utils/rel.h */
558  T_CallContext, /* in nodes/parsenodes.h */
559  T_SupportRequestSimplify, /* in nodes/supportnodes.h */
560  T_SupportRequestSelectivity, /* in nodes/supportnodes.h */
561  T_SupportRequestCost, /* in nodes/supportnodes.h */
562  T_SupportRequestRows, /* in nodes/supportnodes.h */
563  T_SupportRequestIndexCondition, /* in nodes/supportnodes.h */
564  T_SupportRequestWFuncMonotonic /* in nodes/supportnodes.h */
565 } NodeTag;
NodeTag
Definition: nodes.h:27
@ T_LockingClause
Definition: nodes.h:491
@ T_Unique
Definition: nodes.h:84
@ T_HashJoinState
Definition: nodes.h:135
@ T_BitString
Definition: nodes.h:312
@ T_SupportRequestCost
Definition: nodes.h:561
@ T_RangeTblEntry
Definition: nodes.h:479
@ T_TIDBitmap
Definition: nodes.h:551
@ T_FieldStore
Definition: nodes.h:175
@ T_AlterPublicationStmt
Definition: nodes.h:441
@ T_AlternativeSubPlan
Definition: nodes.h:173
@ T_PartitionCmd
Definition: nodes.h:507
@ T_CoalesceExpr
Definition: nodes.h:187
@ T_CreateSchemaStmt
Definition: nodes.h:387
@ T_PathKey
Definition: nodes.h:281
@ T_PartitionPruneInfo
Definition: nodes.h:94
@ T_ModifyTablePath
Definition: nodes.h:276
@ T_RuleStmt
Definition: nodes.h:360
@ T_ExtensibleNode
Definition: nodes.h:324
@ T_SortPath
Definition: nodes.h:265
@ T_NamedTuplestoreScan
Definition: nodes.h:69
@ T_CreateRoleStmt
Definition: nodes.h:380
@ T_RangeVar
Definition: nodes.h:155
@ T_DoStmt
Definition: nodes.h:358
@ T_RangeTableFunc
Definition: nodes.h:471
@ T_Constraint
Definition: nodes.h:477
@ T_CreateStmt
Definition: nodes.h:349
@ T_WorkTableScanState
Definition: nodes.h:129
@ T_RangeFunction
Definition: nodes.h:469
@ T_OnConflictSetState
Definition: nodes.h:37
@ T_SubqueryScanPath
Definition: nodes.h:249
@ T_LoadStmt
Definition: nodes.h:366
@ T_GroupResultPath
Definition: nodes.h:257
@ T_JsonParseExpr
Definition: nodes.h:208
@ T_JsonSerializeExpr
Definition: nodes.h:210
@ T_CreateTrigStmt
Definition: nodes.h:378
@ T_XmlSerialize
Definition: nodes.h:493
@ T_MergeAppendState
Definition: nodes.h:110
@ T_DefElem
Definition: nodes.h:478
@ T_WithCheckOption
Definition: nodes.h:482
@ T_DomainConstraintState
Definition: nodes.h:231
@ T_ReindexStmt
Definition: nodes.h:385
@ T_SupportRequestSelectivity
Definition: nodes.h:560
@ T_AlterEnumStmt
Definition: nodes.h:413
@ T_List
Definition: nodes.h:317
@ T_ColumnDef
Definition: nodes.h:474
@ T_ExecuteStmt
Definition: nodes.h:398
@ T_PlannerParamItem
Definition: nodes.h:292
@ T_HashPath
Definition: nodes.h:254
@ T_CTESearchClause
Definition: nodes.h:497
@ T_IndexOnlyScanState
Definition: nodes.h:118
@ T_IndexOptInfo
Definition: nodes.h:239
@ T_OnConflictExpr
Definition: nodes.h:203
@ T_FdwRoutine
Definition: nodes.h:553
@ T_SubLink
Definition: nodes.h:171
@ T_RangeTblRef
Definition: nodes.h:200
@ T_JsonTableColumn
Definition: nodes.h:520
@ T_SeqScanState
Definition: nodes.h:115
@ T_InferenceElem
Definition: nodes.h:198
@ T_ValuesScanState
Definition: nodes.h:126
@ T_CreateFdwStmt
Definition: nodes.h:416
@ T_RenameStmt
Definition: nodes.h:359
@ T_CreateEventTrigStmt
Definition: nodes.h:431
@ T_SortGroupClause
Definition: nodes.h:483
@ T_GroupPath
Definition: nodes.h:267
@ T_CoerceToDomainValue
Definition: nodes.h:194
@ T_ObjectWithArgs
Definition: nodes.h:486
@ T_DiscardStmt
Definition: nodes.h:377
@ T_WindowFunc
Definition: nodes.h:162
@ T_CustomScanState
Definition: nodes.h:131
@ T_ImportForeignSchemaStmt
Definition: nodes.h:427
@ T_FieldSelect
Definition: nodes.h:174
@ T_JsonTablePlan
Definition: nodes.h:521
@ T_VacuumStmt
Definition: nodes.h:370
@ T_InlineCodeBlock
Definition: nodes.h:552
@ T_ArrayExpr
Definition: nodes.h:184
@ T_IdentifySystemCmd
Definition: nodes.h:531
@ T_TableFunc
Definition: nodes.h:156
@ T_TidRangeScan
Definition: nodes.h:63
@ T_AlterOperatorStmt
Definition: nodes.h:406
@ T_TableFuncScan
Definition: nodes.h:67
@ T_HashState
Definition: nodes.h:146
@ T_CollateExpr
Definition: nodes.h:180
@ T_JsonBehavior
Definition: nodes.h:525
@ T_JsonArrayConstructor
Definition: nodes.h:512
@ T_CallContext
Definition: nodes.h:558
@ T_ReturnStmt
Definition: nodes.h:337
@ T_CreateTableSpaceStmt
Definition: nodes.h:401
@ T_DropRoleStmt
Definition: nodes.h:382
@ T_AlterTableSpaceOptionsStmt
Definition: nodes.h:423
@ T_PartitionElem
Definition: nodes.h:503
@ T_BoolExpr
Definition: nodes.h:170
@ T_MinMaxAggPath
Definition: nodes.h:271
@ T_AlterCollationStmt
Definition: nodes.h:446
@ T_RelOptInfo
Definition: nodes.h:238
@ T_AccessPriv
Definition: nodes.h:487
@ T_OpExpr
Definition: nodes.h:166
@ T_SupportRequestRows
Definition: nodes.h:562
@ T_PathKeyInfo
Definition: nodes.h:282
@ T_SupportRequestWFuncMonotonic
Definition: nodes.h:564
@ T_CreateStatsStmt
Definition: nodes.h:445
@ T_CreateFunctionStmt
Definition: nodes.h:356
@ T_FunctionScan
Definition: nodes.h:65
@ T_TypeName
Definition: nodes.h:473
@ T_AlterDatabaseStmt
Definition: nodes.h:388
@ T_CreateSubscriptionStmt
Definition: nodes.h:442
@ T_PublicationObjSpec
Definition: nodes.h:509
@ T_SpecialJoinInfo
Definition: nodes.h:287
@ T_AlterRoleStmt
Definition: nodes.h:381
@ T_ExprContext
Definition: nodes.h:34
@ T_PathTarget
Definition: nodes.h:283
@ T_JoinExpr
Definition: nodes.h:201
@ T_ScalarArrayOpExpr
Definition: nodes.h:169
@ T_NestPath
Definition: nodes.h:252
@ T_CaseExpr
Definition: nodes.h:181
@ T_JsonArgument
Definition: nodes.h:523
@ T_RelabelType
Definition: nodes.h:176
@ T_TupleTableSlot
Definition: nodes.h:41
@ T_CreatePublicationStmt
Definition: nodes.h:440
@ T_PlaceHolderInfo
Definition: nodes.h:290
@ T_JsonTableParent
Definition: nodes.h:215
@ T_PublicationTable
Definition: nodes.h:510
@ T_DeleteStmt
Definition: nodes.h:333
@ T_XmlExpr
Definition: nodes.h:190
@ T_CreateForeignTableStmt
Definition: nodes.h:426
@ T_ForeignKeyOptInfo
Definition: nodes.h:240
@ T_TidRangeScanState
Definition: nodes.h:122
@ T_GroupState
Definition: nodes.h:140
@ T_GroupingSet
Definition: nodes.h:484
@ T_AlterObjectDependsStmt
Definition: nodes.h:403
@ T_BitmapOr
Definition: nodes.h:54
@ T_CustomPath
Definition: nodes.h:251
@ T_CreateRangeStmt
Definition: nodes.h:412
@ T_Scan
Definition: nodes.h:55
@ T_CreateConversionStmt
Definition: nodes.h:392
@ T_Material
Definition: nodes.h:77
@ T_ExprState
Definition: nodes.h:227
@ T_ClusterStmt
Definition: nodes.h:347
@ T_SampleScanState
Definition: nodes.h:116
@ T_RawStmt
Definition: nodes.h:329
@ T_WindowObjectData
Definition: nodes.h:550
@ T_SupportRequestSimplify
Definition: nodes.h:559
@ T_DropOwnedStmt
Definition: nodes.h:408
@ T_IndexOnlyScan
Definition: nodes.h:59
@ T_FunctionParameter
Definition: nodes.h:490
@ T_JsonReturning
Definition: nodes.h:206
@ T_TableSampleClause
Definition: nodes.h:481
@ T_Append
Definition: nodes.h:50
@ T_DropUserMappingStmt
Definition: nodes.h:422
@ T_SetOperationStmt
Definition: nodes.h:342
@ T_RestrictInfo
Definition: nodes.h:284
@ T_LockStmt
Definition: nodes.h:383
@ T_Gather
Definition: nodes.h:85
@ T_ListenStmt
Definition: nodes.h:362
@ T_BitmapIndexScan
Definition: nodes.h:60
@ T_Alias
Definition: nodes.h:154
@ T_ResTarget
Definition: nodes.h:462
@ T_SortState
Definition: nodes.h:138
@ T_PrepareStmt
Definition: nodes.h:397
@ T_MinMaxAggInfo
Definition: nodes.h:291
@ T_ReassignOwnedStmt
Definition: nodes.h:409
@ T_PartitionedRelPruneInfo
Definition: nodes.h:95
@ T_ConvertRowtypeExpr
Definition: nodes.h:179
@ T_RowIdentityVarInfo
Definition: nodes.h:289
@ T_AlterTypeStmt
Definition: nodes.h:407
@ T_BaseBackupCmd
Definition: nodes.h:532
@ T_IncrementalSortPath
Definition: nodes.h:266
@ T_CreateOpClassItem
Definition: nodes.h:488
@ T_RecursiveUnion
Definition: nodes.h:52
@ T_UpdateStmt
Definition: nodes.h:334
@ T_CommonTableExpr
Definition: nodes.h:499
@ T_IncrementalSortState
Definition: nodes.h:139
@ T_SubqueryScanState
Definition: nodes.h:123
@ T_TidPath
Definition: nodes.h:247
@ T_VariableShowStmt
Definition: nodes.h:376
@ T_TruncateStmt
Definition: nodes.h:352
@ T_PlanInvalItem
Definition: nodes.h:98
@ T_JsonConstructorExpr
Definition: nodes.h:211
@ T_JsonFuncExpr
Definition: nodes.h:517
@ T_ExplainStmt
Definition: nodes.h:371
@ T_WindowClause
Definition: nodes.h:485
@ T_SetExprState
Definition: nodes.h:229
@ T_JsonObjectConstructor
Definition: nodes.h:511
@ T_LockRows
Definition: nodes.h:89
@ T_CheckPointStmt
Definition: nodes.h:386
@ T_MultiAssignRef
Definition: nodes.h:463
@ T_EventTriggerData
Definition: nodes.h:548
@ T_DropdbStmt
Definition: nodes.h:369
@ T_StatsElem
Definition: nodes.h:476
@ T_Hash
Definition: nodes.h:87
@ T_ResultRelInfo
Definition: nodes.h:39
@ T_NotifyStmt
Definition: nodes.h:361
@ T_TidScan
Definition: nodes.h:62
@ T_ProjectionInfo
Definition: nodes.h:35
@ T_CteScanState
Definition: nodes.h:127
@ T_JsonAggConstructor
Definition: nodes.h:514
@ T_ResultState
Definition: nodes.h:106
@ T_AggPath
Definition: nodes.h:269
@ T_BitmapHeapScanState
Definition: nodes.h:120
@ T_Limit
Definition: nodes.h:90
@ T_Plan
Definition: nodes.h:46
@ T_JsonScalarExpr
Definition: nodes.h:209
@ T_CreateSeqStmt
Definition: nodes.h:373
@ T_PlanRowMark
Definition: nodes.h:93
@ T_A_Indices
Definition: nodes.h:459
@ T_StatisticExtInfo
Definition: nodes.h:295
@ T_MemoizePath
Definition: nodes.h:259
@ T_JsonTableSibling
Definition: nodes.h:216
@ T_AlterForeignServerStmt
Definition: nodes.h:419
@ T_RecursiveUnionState
Definition: nodes.h:111
@ T_MaterialState
Definition: nodes.h:136
@ T_CreateEnumStmt
Definition: nodes.h:411
@ T_AppendState
Definition: nodes.h:109
@ T_GatherMergePath
Definition: nodes.h:262
@ T_Query
Definition: nodes.h:330
@ T_A_ArrayExpr
Definition: nodes.h:461
@ T_SetOpPath
Definition: nodes.h:273
@ T_UnlistenStmt
Definition: nodes.h:363
@ T_FromExpr
Definition: nodes.h:202
@ T_Memoize
Definition: nodes.h:78
@ T_TidRangePath
Definition: nodes.h:248
@ T_JsonOutput
Definition: nodes.h:526
@ T_TriggerTransition
Definition: nodes.h:502
@ T_TransactionStmt
Definition: nodes.h:364
@ T_LockRowsState
Definition: nodes.h:148
@ T_ParamPathInfo
Definition: nodes.h:241
@ T_AlterExtensionContentsStmt
Definition: nodes.h:430
@ T_AlterFdwStmt
Definition: nodes.h:417
@ T_Sort
Definition: nodes.h:79
@ T_NamedTuplestoreScanState
Definition: nodes.h:128
@ T_BitmapAndPath
Definition: nodes.h:245
@ T_RowExpr
Definition: nodes.h:185
@ T_TargetEntry
Definition: nodes.h:199
@ T_AlterStatsStmt
Definition: nodes.h:448
@ T_AlterEventTrigStmt
Definition: nodes.h:432
@ T_ProjectionPath
Definition: nodes.h:263
@ T_PlannerInfo
Definition: nodes.h:236
@ T_AlterOpFamilyStmt
Definition: nodes.h:396
@ T_DropStmt
Definition: nodes.h:351
@ T_FuncCall
Definition: nodes.h:457
@ T_CreateTransformStmt
Definition: nodes.h:438
@ T_SubPlanState
Definition: nodes.h:230
@ T_Float
Definition: nodes.h:309
@ T_AlterTableCmd
Definition: nodes.h:340
@ T_SeqScan
Definition: nodes.h:56
@ T_ArrayCoerceExpr
Definition: nodes.h:178
@ T_A_Const
Definition: nodes.h:456
@ T_TidScanState
Definition: nodes.h:121
@ T_IndexInfo
Definition: nodes.h:33
@ T_ModifyTableState
Definition: nodes.h:108
@ T_AggState
Definition: nodes.h:141
@ T_String
Definition: nodes.h:311
@ T_ProjectSetState
Definition: nodes.h:107
@ T_AlterSeqStmt
Definition: nodes.h:374
@ T_GatherState
Definition: nodes.h:144
@ T_JunkFilter
Definition: nodes.h:36
@ T_BitmapOrState
Definition: nodes.h:113
@ T_WindowAgg
Definition: nodes.h:83
@ T_FunctionScanState
Definition: nodes.h:124
@ T_CTECycleClause
Definition: nodes.h:498
@ T_MinMaxExpr
Definition: nodes.h:188
@ T_MaterialPath
Definition: nodes.h:258
@ T_A_Expr
Definition: nodes.h:453
@ T_AlterFunctionStmt
Definition: nodes.h:357
@ T_SetOpState
Definition: nodes.h:147
@ T_InferClause
Definition: nodes.h:495
@ T_TriggerData
Definition: nodes.h:547
@ T_A_Indirection
Definition: nodes.h:460
@ T_RecursiveUnionPath
Definition: nodes.h:274
@ T_ForeignPath
Definition: nodes.h:250
@ T_ForeignKeyCacheInfo
Definition: nodes.h:557
@ T_JsonKeyValue
Definition: nodes.h:524
@ T_CurrentOfExpr
Definition: nodes.h:196
@ T_JsonCommon
Definition: nodes.h:522
@ T_IndexStmt
Definition: nodes.h:355
@ T_ProjectSet
Definition: nodes.h:48
@ T_MergeActionState
Definition: nodes.h:38
@ T_AlterDatabaseRefreshCollStmt
Definition: nodes.h:389
@ T_AlterObjectSchemaStmt
Definition: nodes.h:404
@ T_CreatePolicyStmt
Definition: nodes.h:436
@ T_ReturnSetInfo
Definition: nodes.h:549
@ T_AlterPolicyStmt
Definition: nodes.h:437
@ T_MergeJoin
Definition: nodes.h:75
@ T_UniqueState
Definition: nodes.h:143
@ T_SampleScan
Definition: nodes.h:57
@ T_SortBy
Definition: nodes.h:466
@ T_MergeAppendPath
Definition: nodes.h:256
@ T_ValuesScan
Definition: nodes.h:66
@ T_AllocSetContext
Definition: nodes.h:301
@ T_Aggref
Definition: nodes.h:160
@ T_GroupingSetsPath
Definition: nodes.h:270
@ T_DropTableSpaceStmt
Definition: nodes.h:402
@ T_BooleanTest
Definition: nodes.h:192
@ T_BitmapAnd
Definition: nodes.h:53
@ T_ReadReplicationSlotCmd
Definition: nodes.h:535
@ T_ParamRef
Definition: nodes.h:455
@ T_MemoizeState
Definition: nodes.h:137
@ T_MergeAppend
Definition: nodes.h:51
@ T_CompositeTypeStmt
Definition: nodes.h:410
@ T_OidList
Definition: nodes.h:319
@ T_MergeJoinState
Definition: nodes.h:134
@ T_DropReplicationSlotCmd
Definition: nodes.h:534
@ T_JsonArrayQueryConstructor
Definition: nodes.h:513
@ T_Integer
Definition: nodes.h:308
@ T_BitmapHeapPath
Definition: nodes.h:244
@ T_CallStmt
Definition: nodes.h:447
@ T_CreateDomainStmt
Definition: nodes.h:367
@ T_AlterTSConfigurationStmt
Definition: nodes.h:415
@ T_PlanState
Definition: nodes.h:105
@ T_Agg
Definition: nodes.h:82
@ T_GrantRoleStmt
Definition: nodes.h:344
@ T_A_Star
Definition: nodes.h:458
@ T_RangeTblFunction
Definition: nodes.h:480
@ T_CreateForeignServerStmt
Definition: nodes.h:418
@ T_UpperUniquePath
Definition: nodes.h:268
@ T_RowMarkClause
Definition: nodes.h:492
@ T_InsertStmt
Definition: nodes.h:332
@ T_WithClause
Definition: nodes.h:494
@ T_MergeAction
Definition: nodes.h:296
@ T_CreateTableAsStmt
Definition: nodes.h:372
@ T_IntList
Definition: nodes.h:318
@ T_VacuumRelation
Definition: nodes.h:508
@ T_MergeWhenClause
Definition: nodes.h:500
@ T_BitmapAndState
Definition: nodes.h:112
@ T_DeclareCursorStmt
Definition: nodes.h:400
@ T_AppendRelInfo
Definition: nodes.h:288
@ T_DefineStmt
Definition: nodes.h:350
@ T_CreateOpFamilyStmt
Definition: nodes.h:395
@ T_FetchStmt
Definition: nodes.h:354
@ T_CreatePLangStmt
Definition: nodes.h:379
@ T_CteScan
Definition: nodes.h:68
@ T_DeallocateStmt
Definition: nodes.h:399
@ T_RollupData
Definition: nodes.h:293
@ T_JsonIsPredicate
Definition: nodes.h:518
@ T_JsonValueExpr
Definition: nodes.h:207
@ T_CopyStmt
Definition: nodes.h:348
@ T_WindowFuncExprState
Definition: nodes.h:228
@ T_JsonCoercion
Definition: nodes.h:213
@ T_WindowAggState
Definition: nodes.h:142
@ T_SubPlan
Definition: nodes.h:172
@ T_NestLoop
Definition: nodes.h:74
@ T_SQLValueFunction
Definition: nodes.h:189
@ T_LockRowsPath
Definition: nodes.h:275
@ T_UniquePath
Definition: nodes.h:260
@ T_NamedArgExpr
Definition: nodes.h:165
@ T_DropSubscriptionStmt
Definition: nodes.h:444
@ T_JsonArrayAgg
Definition: nodes.h:516
@ T_ReplicaIdentityStmt
Definition: nodes.h:434
@ T_PLAssignStmt
Definition: nodes.h:338
@ T_IncrementalSort
Definition: nodes.h:80
@ T_CustomScan
Definition: nodes.h:72
@ T_Const
Definition: nodes.h:158
@ T_Group
Definition: nodes.h:81
@ T_NestLoopParam
Definition: nodes.h:92
@ T_ModifyTable
Definition: nodes.h:49
@ T_AlterExtensionStmt
Definition: nodes.h:429
@ T_CreateUserMappingStmt
Definition: nodes.h:420
@ T_AlterTSDictionaryStmt
Definition: nodes.h:414
@ T_WindowAggPath
Definition: nodes.h:272
@ T_LimitPath
Definition: nodes.h:277
@ T_GatherMerge
Definition: nodes.h:86
@ T_TimeLineHistoryCmd
Definition: nodes.h:537
@ T_JsonObjectAgg
Definition: nodes.h:515
@ T_CoerceViaIO
Definition: nodes.h:177
@ T_AlterUserMappingStmt
Definition: nodes.h:421
@ T_AlterOwnerStmt
Definition: nodes.h:405
@ T_PartitionRangeDatum
Definition: nodes.h:506
@ T_SlabContext
Definition: nodes.h:302
@ T_ScanState
Definition: nodes.h:114
@ T_AlterSystemStmt
Definition: nodes.h:435
@ T_JsonTable
Definition: nodes.h:519
@ T_JsonExpr
Definition: nodes.h:212
@ T_NextValueExpr
Definition: nodes.h:197
@ T_TsmRoutine
Definition: nodes.h:556
@ T_PartitionBoundSpec
Definition: nodes.h:505
@ T_CreateAmStmt
Definition: nodes.h:439
@ T_NestLoopState
Definition: nodes.h:133
@ T_Param
Definition: nodes.h:159
@ T_TableFuncScanState
Definition: nodes.h:125
@ T_AlterDomainStmt
Definition: nodes.h:341
@ T_CoerceToDomain
Definition: nodes.h:193
@ T_JsonItemCoercions
Definition: nodes.h:214
@ T_WindowDef
Definition: nodes.h:467
@ T_GroupingFunc
Definition: nodes.h:161
@ T_ConstraintsSetStmt
Definition: nodes.h:384
@ T_BitmapIndexScanState
Definition: nodes.h:119
@ T_SelectStmt
Definition: nodes.h:336
@ T_SubqueryScan
Definition: nodes.h:64
@ T_AlterDatabaseSetStmt
Definition: nodes.h:390
@ T_IndexScanState
Definition: nodes.h:117
@ T_DistinctExpr
Definition: nodes.h:167
@ T_PartitionSpec
Definition: nodes.h:504
@ T_CollateClause
Definition: nodes.h:465
@ T_MergePath
Definition: nodes.h:253
@ T_SetOp
Definition: nodes.h:88
@ T_CreateExtensionStmt
Definition: nodes.h:428
@ T_CreateCastStmt
Definition: nodes.h:393
@ T_RangeTableSample
Definition: nodes.h:470
@ T_RefreshMatViewStmt
Definition: nodes.h:433
@ T_ColumnRef
Definition: nodes.h:454
@ T_GrantStmt
Definition: nodes.h:343
@ T_AlterSubscriptionStmt
Definition: nodes.h:443
@ T_CreatedbStmt
Definition: nodes.h:368
@ T_GroupingSetData
Definition: nodes.h:294
@ T_ProjectSetPath
Definition: nodes.h:264
@ T_FuncExpr
Definition: nodes.h:164
@ T_Var
Definition: nodes.h:157
@ T_Join
Definition: nodes.h:73
@ T_PlannedStmt
Definition: nodes.h:331
@ T_GenerationContext
Definition: nodes.h:303
@ T_GatherMergeState
Definition: nodes.h:145
@ T_RowCompareExpr
Definition: nodes.h:186
@ T_RangeSubselect
Definition: nodes.h:468
@ T_CaseTestExpr
Definition: nodes.h:183
@ T_NullTest
Definition: nodes.h:191
@ T_ForeignScanState
Definition: nodes.h:130
@ T_PlannerGlobal
Definition: nodes.h:237
@ T_StartReplicationCmd
Definition: nodes.h:536
@ T_Invalid
Definition: nodes.h:28
@ T_AlterDefaultPrivilegesStmt
Definition: nodes.h:345
@ T_VariableSetStmt
Definition: nodes.h:375
@ T_SecLabelStmt
Definition: nodes.h:425
@ T_Result
Definition: nodes.h:47
@ T_AppendPath
Definition: nodes.h:255
@ T_IndexClause
Definition: nodes.h:285
@ T_AlterTableStmt
Definition: nodes.h:339
@ T_CaseWhen
Definition: nodes.h:182
@ T_EquivalenceMember
Definition: nodes.h:280
@ T_JoinState
Definition: nodes.h:132
@ T_CreateOpClassStmt
Definition: nodes.h:394
@ T_LimitState
Definition: nodes.h:149
@ T_IndexAmRoutine
Definition: nodes.h:554
@ T_EState
Definition: nodes.h:40
@ T_PartitionPruneStepCombine
Definition: nodes.h:97
@ T_SubscriptingRef
Definition: nodes.h:163
@ T_OnConflictClause
Definition: nodes.h:496
@ T_PartitionPruneStepOp
Definition: nodes.h:96
@ T_IndexScan
Definition: nodes.h:58
@ T_IndexElem
Definition: nodes.h:475
@ T_EquivalenceClass
Definition: nodes.h:279
@ T_IntoClause
Definition: nodes.h:204
@ T_ViewStmt
Definition: nodes.h:365
@ T_AlterTableMoveAllStmt
Definition: nodes.h:424
@ T_SupportRequestIndexCondition
Definition: nodes.h:563
@ T_BitmapOrPath
Definition: nodes.h:246
@ T_ClosePortalStmt
Definition: nodes.h:346
@ T_RangeTableFuncCol
Definition: nodes.h:472
@ T_SetToDefault
Definition: nodes.h:195
@ T_CreateReplicationSlotCmd
Definition: nodes.h:533
@ T_BitmapHeapScan
Definition: nodes.h:61
@ T_AlterRoleSetStmt
Definition: nodes.h:391
@ T_CommentStmt
Definition: nodes.h:353
@ T_TypeCast
Definition: nodes.h:464
@ T_TableAmRoutine
Definition: nodes.h:555
@ T_WorkTableScan
Definition: nodes.h:70
@ T_ForeignScan
Definition: nodes.h:71
@ T_Boolean
Definition: nodes.h:310
@ T_HashJoin
Definition: nodes.h:76
@ T_NullIfExpr
Definition: nodes.h:168
@ T_TableLikeClause
Definition: nodes.h:489
@ T_Path
Definition: nodes.h:242
@ T_RoleSpec
Definition: nodes.h:501
@ T_MergeStmt
Definition: nodes.h:335
@ T_GatherPath
Definition: nodes.h:261
@ T_IndexPath
Definition: nodes.h:243
@ T_PlaceHolderVar
Definition: nodes.h:286
@ T_JsonFormat
Definition: nodes.h:205

◆ OnConflictAction

Enumerator
ONCONFLICT_NONE 
ONCONFLICT_NOTHING 
ONCONFLICT_UPDATE 

Definition at line 869 of file nodes.h.

870 {
871  ONCONFLICT_NONE, /* No "ON CONFLICT" clause */
872  ONCONFLICT_NOTHING, /* ON CONFLICT ... DO NOTHING */
873  ONCONFLICT_UPDATE /* ON CONFLICT ... DO UPDATE */
OnConflictAction
Definition: nodes.h:870
@ ONCONFLICT_NONE
Definition: nodes.h:871
@ ONCONFLICT_UPDATE
Definition: nodes.h:873
@ ONCONFLICT_NOTHING
Definition: nodes.h:872

◆ SetOpCmd

enum SetOpCmd
Enumerator
SETOPCMD_INTERSECT 
SETOPCMD_INTERSECT_ALL 
SETOPCMD_EXCEPT 
SETOPCMD_EXCEPT_ALL 

Definition at line 849 of file nodes.h.

850 {
855 } SetOpCmd;
SetOpCmd
Definition: nodes.h:850
@ SETOPCMD_EXCEPT
Definition: nodes.h:853
@ SETOPCMD_EXCEPT_ALL
Definition: nodes.h:854
@ SETOPCMD_INTERSECT_ALL
Definition: nodes.h:852
@ SETOPCMD_INTERSECT
Definition: nodes.h:851

◆ SetOpStrategy

Enumerator
SETOP_SORTED 
SETOP_HASHED 

Definition at line 857 of file nodes.h.

858 {
859  SETOP_SORTED, /* input must be sorted */
860  SETOP_HASHED /* use internal hashtable */
861 } SetOpStrategy;
SetOpStrategy
Definition: nodes.h:858
@ SETOP_HASHED
Definition: nodes.h:860
@ SETOP_SORTED
Definition: nodes.h:859

Function Documentation

◆ bmsToString()

char* bmsToString ( const struct Bitmapset bms)

◆ copyObjectImpl()

void* copyObjectImpl ( const void *  obj)

Definition at line 5555 of file copyfuncs.c.

5556 {
5557  void *retval;
5558 
5559  if (from == NULL)
5560  return NULL;
5561 
5562  /* Guard against stack overflow due to overly complex expressions */
5564 
5565  switch (nodeTag(from))
5566  {
5567  /*
5568  * PLAN NODES
5569  */
5570  case T_PlannedStmt:
5571  retval = _copyPlannedStmt(from);
5572  break;
5573  case T_Plan:
5574  retval = _copyPlan(from);
5575  break;
5576  case T_Result:
5577  retval = _copyResult(from);
5578  break;
5579  case T_ProjectSet:
5580  retval = _copyProjectSet(from);
5581  break;
5582  case T_ModifyTable:
5583  retval = _copyModifyTable(from);
5584  break;
5585  case T_Append:
5586  retval = _copyAppend(from);
5587  break;
5588  case T_MergeAppend:
5589  retval = _copyMergeAppend(from);
5590  break;
5591  case T_RecursiveUnion:
5592  retval = _copyRecursiveUnion(from);
5593  break;
5594  case T_BitmapAnd:
5595  retval = _copyBitmapAnd(from);
5596  break;
5597  case T_BitmapOr:
5598  retval = _copyBitmapOr(from);
5599  break;
5600  case T_Scan:
5601  retval = _copyScan(from);
5602  break;
5603  case T_Gather:
5604  retval = _copyGather(from);
5605  break;
5606  case T_GatherMerge:
5607  retval = _copyGatherMerge(from);
5608  break;
5609  case T_SeqScan:
5610  retval = _copySeqScan(from);
5611  break;
5612  case T_SampleScan:
5613  retval = _copySampleScan(from);
5614  break;
5615  case T_IndexScan:
5616  retval = _copyIndexScan(from);
5617  break;
5618  case T_IndexOnlyScan:
5619  retval = _copyIndexOnlyScan(from);
5620  break;
5621  case T_BitmapIndexScan:
5622  retval = _copyBitmapIndexScan(from);
5623  break;
5624  case T_BitmapHeapScan:
5625  retval = _copyBitmapHeapScan(from);
5626  break;
5627  case T_TidScan:
5628  retval = _copyTidScan(from);
5629  break;
5630  case T_TidRangeScan:
5631  retval = _copyTidRangeScan(from);
5632  break;
5633  case T_SubqueryScan:
5634  retval = _copySubqueryScan(from);
5635  break;
5636  case T_FunctionScan:
5637  retval = _copyFunctionScan(from);
5638  break;
5639  case T_TableFuncScan:
5640  retval = _copyTableFuncScan(from);
5641  break;
5642  case T_ValuesScan:
5643  retval = _copyValuesScan(from);
5644  break;
5645  case T_CteScan:
5646  retval = _copyCteScan(from);
5647  break;
5648  case T_NamedTuplestoreScan:
5649  retval = _copyNamedTuplestoreScan(from);
5650  break;
5651  case T_WorkTableScan:
5652  retval = _copyWorkTableScan(from);
5653  break;
5654  case T_ForeignScan:
5655  retval = _copyForeignScan(from);
5656  break;
5657  case T_CustomScan:
5658  retval = _copyCustomScan(from);
5659  break;
5660  case T_Join:
5661  retval = _copyJoin(from);
5662  break;
5663  case T_NestLoop:
5664  retval = _copyNestLoop(from);
5665  break;
5666  case T_MergeJoin:
5667  retval = _copyMergeJoin(from);
5668  break;
5669  case T_HashJoin:
5670  retval = _copyHashJoin(from);
5671  break;
5672  case T_Material:
5673  retval = _copyMaterial(from);
5674  break;
5675  case T_Memoize:
5676  retval = _copyMemoize(from);
5677  break;
5678  case T_Sort:
5679  retval = _copySort(from);
5680  break;
5681  case T_IncrementalSort:
5682  retval = _copyIncrementalSort(from);
5683  break;
5684  case T_Group:
5685  retval = _copyGroup(from);
5686  break;
5687  case T_Agg:
5688  retval = _copyAgg(from);
5689  break;
5690  case T_WindowAgg:
5691  retval = _copyWindowAgg(from);
5692  break;
5693  case T_Unique:
5694  retval = _copyUnique(from);
5695  break;
5696  case T_Hash:
5697  retval = _copyHash(from);
5698  break;
5699  case T_SetOp:
5700  retval = _copySetOp(from);
5701  break;
5702  case T_LockRows:
5703  retval = _copyLockRows(from);
5704  break;
5705  case T_Limit:
5706  retval = _copyLimit(from);
5707  break;
5708  case T_NestLoopParam:
5709  retval = _copyNestLoopParam(from);
5710  break;
5711  case T_PlanRowMark:
5712  retval = _copyPlanRowMark(from);
5713  break;
5714  case T_PartitionPruneInfo:
5715  retval = _copyPartitionPruneInfo(from);
5716  break;
5718  retval = _copyPartitionedRelPruneInfo(from);
5719  break;
5721  retval = _copyPartitionPruneStepOp(from);
5722  break;
5724  retval = _copyPartitionPruneStepCombine(from);
5725  break;
5726  case T_PlanInvalItem:
5727  retval = _copyPlanInvalItem(from);
5728  break;
5729 
5730  /*
5731  * PRIMITIVE NODES
5732  */
5733  case T_Alias:
5734  retval = _copyAlias(from);
5735  break;
5736  case T_RangeVar:
5737  retval = _copyRangeVar(from);
5738  break;
5739  case T_TableFunc:
5740  retval = _copyTableFunc(from);
5741  break;
5742  case T_IntoClause:
5743  retval = _copyIntoClause(from);
5744  break;
5745  case T_Var:
5746  retval = _copyVar(from);
5747  break;
5748  case T_Const:
5749  retval = _copyConst(from);
5750  break;
5751  case T_Param:
5752  retval = _copyParam(from);
5753  break;
5754  case T_Aggref:
5755  retval = _copyAggref(from);
5756  break;
5757  case T_GroupingFunc:
5758  retval = _copyGroupingFunc(from);
5759  break;
5760  case T_WindowFunc:
5761  retval = _copyWindowFunc(from);
5762  break;
5763  case T_SubscriptingRef:
5764  retval = _copySubscriptingRef(from);
5765  break;
5766  case T_FuncExpr:
5767  retval = _copyFuncExpr(from);
5768  break;
5769  case T_NamedArgExpr:
5770  retval = _copyNamedArgExpr(from);
5771  break;
5772  case T_OpExpr:
5773  retval = _copyOpExpr(from);
5774  break;
5775  case T_DistinctExpr:
5776  retval = _copyDistinctExpr(from);
5777  break;
5778  case T_NullIfExpr:
5779  retval = _copyNullIfExpr(from);
5780  break;
5781  case T_ScalarArrayOpExpr:
5782  retval = _copyScalarArrayOpExpr(from);
5783  break;
5784  case T_BoolExpr:
5785  retval = _copyBoolExpr(from);
5786  break;
5787  case T_SubLink:
5788  retval = _copySubLink(from);
5789  break;
5790  case T_SubPlan:
5791  retval = _copySubPlan(from);
5792  break;
5793  case T_AlternativeSubPlan:
5794  retval = _copyAlternativeSubPlan(from);
5795  break;
5796  case T_FieldSelect:
5797  retval = _copyFieldSelect(from);
5798  break;
5799  case T_FieldStore:
5800  retval = _copyFieldStore(from);
5801  break;
5802  case T_RelabelType:
5803  retval = _copyRelabelType(from);
5804  break;
5805  case T_CoerceViaIO:
5806  retval = _copyCoerceViaIO(from);
5807  break;
5808  case T_ArrayCoerceExpr:
5809  retval = _copyArrayCoerceExpr(from);
5810  break;
5811  case T_ConvertRowtypeExpr:
5812  retval = _copyConvertRowtypeExpr(from);
5813  break;
5814  case T_CollateExpr:
5815  retval = _copyCollateExpr(from);
5816  break;
5817  case T_CaseExpr:
5818  retval = _copyCaseExpr(from);
5819  break;
5820  case T_CaseWhen:
5821  retval = _copyCaseWhen(from);
5822  break;
5823  case T_CaseTestExpr:
5824  retval = _copyCaseTestExpr(from);
5825  break;
5826  case T_ArrayExpr:
5827  retval = _copyArrayExpr(from);
5828  break;
5829  case T_RowExpr:
5830  retval = _copyRowExpr(from);
5831  break;
5832  case T_RowCompareExpr:
5833  retval = _copyRowCompareExpr(from);
5834  break;
5835  case T_CoalesceExpr:
5836  retval = _copyCoalesceExpr(from);
5837  break;
5838  case T_MinMaxExpr:
5839  retval = _copyMinMaxExpr(from);
5840  break;
5841  case T_SQLValueFunction:
5842  retval = _copySQLValueFunction(from);
5843  break;
5844  case T_XmlExpr:
5845  retval = _copyXmlExpr(from);
5846  break;
5847  case T_NullTest:
5848  retval = _copyNullTest(from);
5849  break;
5850  case T_BooleanTest:
5851  retval = _copyBooleanTest(from);
5852  break;
5853  case T_CoerceToDomain:
5854  retval = _copyCoerceToDomain(from);
5855  break;
5856  case T_CoerceToDomainValue:
5857  retval = _copyCoerceToDomainValue(from);
5858  break;
5859  case T_SetToDefault:
5860  retval = _copySetToDefault(from);
5861  break;
5862  case T_CurrentOfExpr:
5863  retval = _copyCurrentOfExpr(from);
5864  break;
5865  case T_NextValueExpr:
5866  retval = _copyNextValueExpr(from);
5867  break;
5868  case T_InferenceElem:
5869  retval = _copyInferenceElem(from);
5870  break;
5871  case T_TargetEntry:
5872  retval = _copyTargetEntry(from);
5873  break;
5874  case T_RangeTblRef:
5875  retval = _copyRangeTblRef(from);
5876  break;
5877  case T_JoinExpr:
5878  retval = _copyJoinExpr(from);
5879  break;
5880  case T_FromExpr:
5881  retval = _copyFromExpr(from);
5882  break;
5883  case T_OnConflictExpr:
5884  retval = _copyOnConflictExpr(from);
5885  break;
5886  case T_JsonFormat:
5887  retval = _copyJsonFormat(from);
5888  break;
5889  case T_JsonReturning:
5890  retval = _copyJsonReturning(from);
5891  break;
5892  case T_JsonValueExpr:
5893  retval = _copyJsonValueExpr(from);
5894  break;
5895  case T_JsonParseExpr:
5896  retval = _copyJsonParseExpr(from);
5897  break;
5898  case T_JsonScalarExpr:
5899  retval = _copyJsonScalarExpr(from);
5900  break;
5901  case T_JsonSerializeExpr:
5902  retval = _copyJsonSerializeExpr(from);
5903  break;
5904  case T_JsonKeyValue:
5905  retval = _copyJsonKeyValue(from);
5906  break;
5907  case T_JsonConstructorExpr:
5908  retval = _copyJsonConstructorExpr(from);
5909  break;
5911  retval = _copyJsonObjectConstructor(from);
5912  break;
5913  case T_JsonAggConstructor:
5914  retval = _copyJsonAggConstructor(from);
5915  break;
5916  case T_JsonObjectAgg:
5917  retval = _copyJsonObjectAgg(from);
5918  break;
5919  case T_JsonOutput:
5920  retval = _copyJsonOutput(from);
5921  break;
5923  retval = _copyJsonArrayConstructor(from);
5924  break;
5926  retval = _copyJsonArrayQueryConstructor(from);
5927  break;
5928  case T_JsonArrayAgg:
5929  retval = _copyJsonArrayAgg(from);
5930  break;
5931  case T_JsonIsPredicate:
5932  retval = _copyJsonIsPredicate(from);
5933  break;
5934  case T_JsonFuncExpr:
5935  retval = _copyJsonFuncExpr(from);
5936  break;
5937  case T_JsonExpr:
5938  retval = _copyJsonExpr(from);
5939  break;
5940  case T_JsonCommon:
5941  retval = _copyJsonCommon(from);
5942  break;
5943  case T_JsonBehavior:
5944  retval = _copyJsonBehavior(from);
5945  break;
5946  case T_JsonArgument:
5947  retval = _copyJsonArgument(from);
5948  break;
5949  case T_JsonCoercion:
5950  retval = _copyJsonCoercion(from);
5951  break;
5952  case T_JsonItemCoercions:
5953  retval = _copyJsonItemCoercions(from);
5954  break;
5955  case T_JsonTable:
5956  retval = _copyJsonTable(from);
5957  break;
5958  case T_JsonTableColumn:
5959  retval = _copyJsonTableColumn(from);
5960  break;
5961  case T_JsonTablePlan:
5962  retval = _copyJsonTablePlan(from);
5963  break;
5964  case T_JsonTableParent:
5965  retval = _copyJsonTableParent(from);
5966  break;
5967  case T_JsonTableSibling:
5968  retval = _copyJsonTableSibling(from);
5969  break;
5970 
5971  /*
5972  * RELATION NODES
5973  */
5974  case T_PathKey:
5975  retval = _copyPathKey(from);
5976  break;
5977  case T_RestrictInfo:
5978  retval = _copyRestrictInfo(from);
5979  break;
5980  case T_PlaceHolderVar:
5981  retval = _copyPlaceHolderVar(from);
5982  break;
5983  case T_SpecialJoinInfo:
5984  retval = _copySpecialJoinInfo(from);
5985  break;
5986  case T_AppendRelInfo:
5987  retval = _copyAppendRelInfo(from);
5988  break;
5989  case T_PlaceHolderInfo:
5990  retval = _copyPlaceHolderInfo(from);
5991  break;
5992 
5993  /*
5994  * VALUE NODES
5995  */
5996  case T_Integer:
5997  retval = _copyInteger(from);
5998  break;
5999  case T_Float:
6000  retval = _copyFloat(from);
6001  break;
6002  case T_Boolean:
6003  retval = _copyBoolean(from);
6004  break;
6005  case T_String:
6006  retval = _copyString(from);
6007  break;
6008  case T_BitString:
6009  retval = _copyBitString(from);
6010  break;
6011 
6012  /*
6013  * LIST NODES
6014  */
6015  case T_List:
6016  retval = list_copy_deep(from);
6017  break;
6018 
6019  /*
6020  * Lists of integers and OIDs don't need to be deep-copied, so we
6021  * perform a shallow copy via list_copy()
6022  */
6023  case T_IntList:
6024  case T_OidList:
6025  retval = list_copy(from);
6026  break;
6027 
6028  /*
6029  * EXTENSIBLE NODES
6030  */
6031  case T_ExtensibleNode:
6032  retval = _copyExtensibleNode(from);
6033  break;
6034 
6035  /*
6036  * PARSE NODES
6037  */
6038  case T_Query:
6039  retval = _copyQuery(from);
6040  break;
6041  case T_RawStmt:
6042  retval = _copyRawStmt(from);
6043  break;
6044  case T_InsertStmt:
6045  retval = _copyInsertStmt(from);
6046  break;
6047  case T_DeleteStmt:
6048  retval = _copyDeleteStmt(from);
6049  break;
6050  case T_UpdateStmt:
6051  retval = _copyUpdateStmt(from);
6052  break;
6053  case T_MergeStmt:
6054  retval = _copyMergeStmt(from);
6055  break;
6056  case T_SelectStmt:
6057  retval = _copySelectStmt(from);
6058  break;
6059  case T_SetOperationStmt:
6060  retval = _copySetOperationStmt(from);
6061  break;
6062  case T_ReturnStmt:
6063  retval = _copyReturnStmt(from);
6064  break;
6065  case T_PLAssignStmt:
6066  retval = _copyPLAssignStmt(from);
6067  break;
6068  case T_AlterTableStmt:
6069  retval = _copyAlterTableStmt(from);
6070  break;
6071  case T_AlterTableCmd:
6072  retval = _copyAlterTableCmd(from);
6073  break;
6074  case T_AlterCollationStmt:
6075  retval = _copyAlterCollationStmt(from);
6076  break;
6077  case T_AlterDomainStmt:
6078  retval = _copyAlterDomainStmt(from);
6079  break;
6080  case T_GrantStmt:
6081  retval = _copyGrantStmt(from);
6082  break;
6083  case T_GrantRoleStmt:
6084  retval = _copyGrantRoleStmt(from);
6085  break;
6087  retval = _copyAlterDefaultPrivilegesStmt(from);
6088  break;
6089  case T_DeclareCursorStmt:
6090  retval = _copyDeclareCursorStmt(from);
6091  break;
6092  case T_ClosePortalStmt:
6093  retval = _copyClosePortalStmt(from);
6094  break;
6095  case T_CallStmt:
6096  retval = _copyCallStmt(from);
6097  break;
6098  case T_ClusterStmt:
6099  retval = _copyClusterStmt(from);
6100  break;
6101  case T_CopyStmt:
6102  retval = _copyCopyStmt(from);
6103  break;
6104  case T_CreateStmt:
6105  retval = _copyCreateStmt(from);
6106  break;
6107  case T_TableLikeClause:
6108  retval = _copyTableLikeClause(from);
6109  break;
6110  case T_DefineStmt:
6111  retval = _copyDefineStmt(from);
6112  break;
6113  case T_DropStmt:
6114  retval = _copyDropStmt(from);
6115  break;
6116  case T_TruncateStmt:
6117  retval = _copyTruncateStmt(from);
6118  break;
6119  case T_CommentStmt:
6120  retval = _copyCommentStmt(from);
6121  break;
6122  case T_SecLabelStmt:
6123  retval = _copySecLabelStmt(from);
6124  break;
6125  case T_FetchStmt:
6126  retval = _copyFetchStmt(from);
6127  break;
6128  case T_IndexStmt:
6129  retval = _copyIndexStmt(from);
6130  break;
6131  case T_CreateStatsStmt:
6132  retval = _copyCreateStatsStmt(from);
6133  break;
6134  case T_AlterStatsStmt:
6135  retval = _copyAlterStatsStmt(from);
6136  break;
6137  case T_CreateFunctionStmt:
6138  retval = _copyCreateFunctionStmt(from);
6139  break;
6140  case T_FunctionParameter:
6141  retval = _copyFunctionParameter(from);
6142  break;
6143  case T_AlterFunctionStmt:
6144  retval = _copyAlterFunctionStmt(from);
6145  break;
6146  case T_DoStmt:
6147  retval = _copyDoStmt(from);
6148  break;
6149  case T_RenameStmt:
6150  retval = _copyRenameStmt(from);
6151  break;
6153  retval = _copyAlterObjectDependsStmt(from);
6154  break;
6156  retval = _copyAlterObjectSchemaStmt(from);
6157  break;
6158  case T_AlterOwnerStmt:
6159  retval = _copyAlterOwnerStmt(from);
6160  break;
6161  case T_AlterOperatorStmt:
6162  retval = _copyAlterOperatorStmt(from);
6163  break;
6164  case T_AlterTypeStmt:
6165  retval = _copyAlterTypeStmt(from);
6166  break;
6167  case T_RuleStmt:
6168  retval = _copyRuleStmt(from);
6169  break;
6170  case T_NotifyStmt:
6171  retval = _copyNotifyStmt(from);
6172  break;
6173  case T_ListenStmt:
6174  retval = _copyListenStmt(from);
6175  break;
6176  case T_UnlistenStmt:
6177  retval = _copyUnlistenStmt(from);
6178  break;
6179  case T_TransactionStmt:
6180  retval = _copyTransactionStmt(from);
6181  break;
6182  case T_CompositeTypeStmt:
6183  retval = _copyCompositeTypeStmt(from);
6184  break;
6185  case T_CreateEnumStmt:
6186  retval = _copyCreateEnumStmt(from);
6187  break;
6188  case T_CreateRangeStmt:
6189  retval = _copyCreateRangeStmt(from);
6190  break;
6191  case T_AlterEnumStmt:
6192  retval = _copyAlterEnumStmt(from);
6193  break;
6194  case T_ViewStmt:
6195  retval = _copyViewStmt(from);
6196  break;
6197  case T_LoadStmt:
6198  retval = _copyLoadStmt(from);
6199  break;
6200  case T_CreateDomainStmt:
6201  retval = _copyCreateDomainStmt(from);
6202  break;
6203  case T_CreateOpClassStmt:
6204  retval = _copyCreateOpClassStmt(from);
6205  break;
6206  case T_CreateOpClassItem:
6207  retval = _copyCreateOpClassItem(from);
6208  break;
6209  case T_CreateOpFamilyStmt:
6210  retval = _copyCreateOpFamilyStmt(from);
6211  break;
6212  case T_AlterOpFamilyStmt:
6213  retval = _copyAlterOpFamilyStmt(from);
6214  break;
6215  case T_CreatedbStmt:
6216  retval = _copyCreatedbStmt(from);
6217  break;
6218  case T_AlterDatabaseStmt:
6219  retval = _copyAlterDatabaseStmt(from);
6220  break;
6222  retval = _copyAlterDatabaseRefreshCollStmt(from);
6223  break;
6225  retval = _copyAlterDatabaseSetStmt(from);
6226  break;
6227  case T_DropdbStmt:
6228  retval = _copyDropdbStmt(from);
6229  break;
6230  case T_VacuumStmt:
6231  retval = _copyVacuumStmt(from);
6232  break;
6233  case T_VacuumRelation:
6234  retval = _copyVacuumRelation(from);
6235  break;
6236  case T_ExplainStmt:
6237  retval = _copyExplainStmt(from);
6238  break;
6239  case T_CreateTableAsStmt:
6240  retval = _copyCreateTableAsStmt(from);
6241  break;
6242  case T_RefreshMatViewStmt:
6243  retval = _copyRefreshMatViewStmt(from);
6244  break;
6245  case T_ReplicaIdentityStmt:
6246  retval = _copyReplicaIdentityStmt(from);
6247  break;
6248  case T_AlterSystemStmt:
6249  retval = _copyAlterSystemStmt(from);
6250  break;
6251  case T_CreateSeqStmt:
6252  retval = _copyCreateSeqStmt(from);
6253  break;
6254  case T_AlterSeqStmt:
6255  retval = _copyAlterSeqStmt(from);
6256  break;
6257  case T_VariableSetStmt:
6258  retval = _copyVariableSetStmt(from);
6259  break;
6260  case T_VariableShowStmt:
6261  retval = _copyVariableShowStmt(from);
6262  break;
6263  case T_DiscardStmt:
6264  retval = _copyDiscardStmt(from);
6265  break;
6267  retval = _copyCreateTableSpaceStmt(from);
6268  break;
6269  case T_DropTableSpaceStmt:
6270  retval = _copyDropTableSpaceStmt(from);
6271  break;
6273  retval = _copyAlterTableSpaceOptionsStmt(from);
6274  break;
6276  retval = _copyAlterTableMoveAllStmt(from);
6277  break;
6278  case T_CreateExtensionStmt:
6279  retval = _copyCreateExtensionStmt(from);
6280  break;
6281  case T_AlterExtensionStmt:
6282  retval = _copyAlterExtensionStmt(from);
6283  break;
6285  retval = _copyAlterExtensionContentsStmt(from);
6286  break;
6287  case T_CreateFdwStmt:
6288  retval = _copyCreateFdwStmt(from);
6289  break;
6290  case T_AlterFdwStmt:
6291  retval = _copyAlterFdwStmt(from);
6292  break;
6294  retval = _copyCreateForeignServerStmt(from);
6295  break;
6297  retval = _copyAlterForeignServerStmt(from);
6298  break;
6300  retval = _copyCreateUserMappingStmt(from);
6301  break;
6303  retval = _copyAlterUserMappingStmt(from);
6304  break;
6305  case T_DropUserMappingStmt:
6306  retval = _copyDropUserMappingStmt(from);
6307  break;
6309  retval = _copyCreateForeignTableStmt(from);
6310  break;
6312  retval = _copyImportForeignSchemaStmt(from);
6313  break;
6314  case T_CreateTransformStmt:
6315  retval = _copyCreateTransformStmt(from);
6316  break;
6317  case T_CreateAmStmt:
6318  retval = _copyCreateAmStmt(from);
6319  break;
6320  case T_CreateTrigStmt:
6321  retval = _copyCreateTrigStmt(from);
6322  break;
6323  case T_CreateEventTrigStmt:
6324  retval = _copyCreateEventTrigStmt(from);
6325  break;
6326  case T_AlterEventTrigStmt:
6327  retval = _copyAlterEventTrigStmt(from);
6328  break;
6329  case T_CreatePLangStmt:
6330  retval = _copyCreatePLangStmt(from);
6331  break;
6332  case T_CreateRoleStmt:
6333  retval = _copyCreateRoleStmt(from);
6334  break;
6335  case T_AlterRoleStmt:
6336  retval = _copyAlterRoleStmt(from);
6337  break;
6338  case T_AlterRoleSetStmt:
6339  retval = _copyAlterRoleSetStmt(from);
6340  break;
6341  case T_DropRoleStmt:
6342  retval = _copyDropRoleStmt(from);
6343  break;
6344  case T_LockStmt:
6345  retval = _copyLockStmt(from);
6346  break;
6347  case T_ConstraintsSetStmt:
6348  retval = _copyConstraintsSetStmt(from);
6349  break;
6350  case T_ReindexStmt:
6351  retval = _copyReindexStmt(from);
6352  break;
6353  case T_CheckPointStmt:
6354  retval = (void *) makeNode(CheckPointStmt);
6355  break;
6356  case T_CreateSchemaStmt:
6357  retval = _copyCreateSchemaStmt(from);
6358  break;
6360  retval = _copyCreateConversionStmt(from);
6361  break;
6362  case T_CreateCastStmt:
6363  retval = _copyCreateCastStmt(from);
6364  break;
6365  case T_PrepareStmt:
6366  retval = _copyPrepareStmt(from);
6367  break;
6368  case T_ExecuteStmt:
6369  retval = _copyExecuteStmt(from);
6370  break;
6371  case T_DeallocateStmt:
6372  retval = _copyDeallocateStmt(from);
6373  break;
6374  case T_DropOwnedStmt:
6375  retval = _copyDropOwnedStmt(from);
6376  break;
6377  case T_ReassignOwnedStmt:
6378  retval = _copyReassignOwnedStmt(from);
6379  break;
6381  retval = _copyAlterTSDictionaryStmt(from);
6382  break;
6384  retval = _copyAlterTSConfigurationStmt(from);
6385  break;
6386  case T_CreatePolicyStmt:
6387  retval = _copyCreatePolicyStmt(from);
6388  break;
6389  case T_AlterPolicyStmt:
6390  retval = _copyAlterPolicyStmt(from);
6391  break;
6393  retval = _copyCreatePublicationStmt(from);
6394  break;
6396  retval = _copyAlterPublicationStmt(from);
6397  break;
6399  retval = _copyCreateSubscriptionStmt(from);
6400  break;
6402  retval = _copyAlterSubscriptionStmt(from);
6403  break;
6405  retval = _copyDropSubscriptionStmt(from);
6406  break;
6407  case T_A_Expr:
6408  retval = _copyA_Expr(from);
6409  break;
6410  case T_ColumnRef:
6411  retval = _copyColumnRef(from);
6412  break;
6413  case T_ParamRef:
6414  retval = _copyParamRef(from);
6415  break;
6416  case T_A_Const:
6417  retval = _copyA_Const(from);
6418  break;
6419  case T_FuncCall:
6420  retval = _copyFuncCall(from);
6421  break;
6422  case T_A_Star:
6423  retval = _copyA_Star(from);
6424  break;
6425  case T_A_Indices:
6426  retval = _copyA_Indices(from);
6427  break;
6428  case T_A_Indirection:
6429  retval = _copyA_Indirection(from);
6430  break;
6431  case T_A_ArrayExpr:
6432  retval = _copyA_ArrayExpr(from);
6433  break;
6434  case T_ResTarget:
6435  retval = _copyResTarget(from);
6436  break;
6437  case T_MultiAssignRef:
6438  retval = _copyMultiAssignRef(from);
6439  break;
6440  case T_TypeCast:
6441  retval = _copyTypeCast(from);
6442  break;
6443  case T_CollateClause:
6444  retval = _copyCollateClause(from);
6445  break;
6446  case T_SortBy:
6447  retval = _copySortBy(from);
6448  break;
6449  case T_WindowDef:
6450  retval = _copyWindowDef(from);
6451  break;
6452  case T_RangeSubselect:
6453  retval = _copyRangeSubselect(from);
6454  break;
6455  case T_RangeFunction:
6456  retval = _copyRangeFunction(from);
6457  break;
6458  case T_RangeTableSample:
6459  retval = _copyRangeTableSample(from);
6460  break;
6461  case T_RangeTableFunc:
6462  retval = _copyRangeTableFunc(from);
6463  break;
6464  case T_RangeTableFuncCol:
6465  retval = _copyRangeTableFuncCol(from);
6466  break;
6467  case T_TypeName:
6468  retval = _copyTypeName(from);
6469  break;
6470  case T_IndexElem:
6471  retval = _copyIndexElem(from);
6472  break;
6473  case T_StatsElem:
6474  retval = _copyStatsElem(from);
6475  break;
6476  case T_ColumnDef:
6477  retval = _copyColumnDef(from);
6478  break;
6479  case T_Constraint:
6480  retval = _copyConstraint(from);
6481  break;
6482  case T_DefElem:
6483  retval = _copyDefElem(from);
6484  break;
6485  case T_LockingClause:
6486  retval = _copyLockingClause(from);
6487  break;
6488  case T_RangeTblEntry:
6489  retval = _copyRangeTblEntry(from);
6490  break;
6491  case T_RangeTblFunction:
6492  retval = _copyRangeTblFunction(from);
6493  break;
6494  case T_TableSampleClause:
6495  retval = _copyTableSampleClause(from);
6496  break;
6497  case T_WithCheckOption:
6498  retval = _copyWithCheckOption(from);
6499  break;
6500  case T_SortGroupClause:
6501  retval = _copySortGroupClause(from);
6502  break;
6503  case T_GroupingSet:
6504  retval = _copyGroupingSet(from);
6505  break;
6506  case T_WindowClause:
6507  retval = _copyWindowClause(from);
6508  break;
6509  case T_RowMarkClause:
6510  retval = _copyRowMarkClause(from);
6511  break;
6512  case T_WithClause:
6513  retval = _copyWithClause(from);
6514  break;
6515  case T_InferClause:
6516  retval = _copyInferClause(from);
6517  break;
6518  case T_OnConflictClause:
6519  retval = _copyOnConflictClause(from);
6520  break;
6521  case T_CTESearchClause:
6522  retval = _copyCTESearchClause(from);
6523  break;
6524  case T_CTECycleClause:
6525  retval = _copyCTECycleClause(from);
6526  break;
6527  case T_CommonTableExpr:
6528  retval = _copyCommonTableExpr(from);
6529  break;
6530  case T_MergeWhenClause:
6531  retval = _copyMergeWhenClause(from);
6532  break;
6533  case T_MergeAction:
6534  retval = _copyMergeAction(from);
6535  break;
6536  case T_ObjectWithArgs:
6537  retval = _copyObjectWithArgs(from);
6538  break;
6539  case T_AccessPriv:
6540  retval = _copyAccessPriv(from);
6541  break;
6542  case T_XmlSerialize:
6543  retval = _copyXmlSerialize(from);
6544  break;
6545  case T_RoleSpec:
6546  retval = _copyRoleSpec(from);
6547  break;
6548  case T_TriggerTransition:
6549  retval = _copyTriggerTransition(from);
6550  break;
6551  case T_PartitionElem:
6552  retval = _copyPartitionElem(from);
6553  break;
6554  case T_PartitionSpec:
6555  retval = _copyPartitionSpec(from);
6556  break;
6557  case T_PartitionBoundSpec:
6558  retval = _copyPartitionBoundSpec(from);
6559  break;
6560  case T_PartitionRangeDatum:
6561  retval = _copyPartitionRangeDatum(from);
6562  break;
6563  case T_PartitionCmd:
6564  retval = _copyPartitionCmd(from);
6565  break;
6566  case T_PublicationObjSpec:
6567  retval = _copyPublicationObject(from);
6568  break;
6569  case T_PublicationTable:
6570  retval = _copyPublicationTable(from);
6571  break;
6572 
6573  /*
6574  * MISCELLANEOUS NODES
6575  */
6576  case T_ForeignKeyCacheInfo:
6577  retval = _copyForeignKeyCacheInfo(from);
6578  break;
6579 
6580  default:
6581  elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from));
6582  retval = 0; /* keep compiler quiet */
6583  break;
6584  }
6585 
6586  return retval;
6587 }
static MergeStmt * _copyMergeStmt(const MergeStmt *from)
Definition: copyfuncs.c:3787
static CoalesceExpr * _copyCoalesceExpr(const CoalesceExpr *from)
Definition: copyfuncs.c:2030
static Hash * _copyHash(const Hash *from)
Definition: copyfuncs.c:1147
static Agg * _copyAgg(const Agg *from)
Definition: copyfuncs.c:1064
static ValuesScan * _copyValuesScan(const ValuesScan *from)
Definition: copyfuncs.c:687
static ReindexStmt * _copyReindexStmt(const ReindexStmt *from)
Definition: copyfuncs.c:5133
static AlterTableSpaceOptionsStmt * _copyAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *from)
Definition: copyfuncs.c:4795
static DropOwnedStmt * _copyDropOwnedStmt(const DropOwnedStmt *from)
Definition: copyfuncs.c:5220
static Material * _copyMaterial(const Material *from)
Definition: copyfuncs.c:943
static CreateSchemaStmt * _copyCreateSchemaStmt(const CreateSchemaStmt *from)
Definition: copyfuncs.c:5146
static PlaceHolderInfo * _copyPlaceHolderInfo(const PlaceHolderInfo *from)
Definition: copyfuncs.c:2923
static PartitionRangeDatum * _copyPartitionRangeDatum(const PartitionRangeDatum *from)
Definition: copyfuncs.c:5342
static RangeSubselect * _copyRangeSubselect(const RangeSubselect *from)
Definition: copyfuncs.c:3426
static AlterDatabaseStmt * _copyAlterDatabaseStmt(const AlterDatabaseStmt *from)
Definition: copyfuncs.c:4585
static RangeTableSample * _copyRangeTableSample(const RangeTableSample *from)
Definition: copyfuncs.c:3453
static SeqScan * _copySeqScan(const SeqScan *from)
Definition: copyfuncs.c:445
static FunctionParameter * _copyFunctionParameter(const FunctionParameter *from)
Definition: copyfuncs.c:4258
static MinMaxExpr * _copyMinMaxExpr(const MinMaxExpr *from)
Definition: copyfuncs.c:2046
static ColumnDef * _copyColumnDef(const ColumnDef *from)
Definition: copyfuncs.c:3551
static AppendRelInfo * _copyAppendRelInfo(const AppendRelInfo *from)
Definition: copyfuncs.c:2903
static RangeTblFunction * _copyRangeTblFunction(const RangeTblFunction *from)
Definition: copyfuncs.c:2989
static DistinctExpr * _copyDistinctExpr(const DistinctExpr *from)
Definition: copyfuncs.c:1677
static TruncateStmt * _copyTruncateStmt(const TruncateStmt *from)
Definition: copyfuncs.c:4131
static RecursiveUnion * _copyRecursiveUnion(const RecursiveUnion *from)
Definition: copyfuncs.c:293
static CreateTableAsStmt * _copyCreateTableAsStmt(const CreateTableAsStmt *from)
Definition: copyfuncs.c:4664
static A_Indices * _copyA_Indices(const A_Indices *from)
Definition: copyfuncs.c:3319
static CreatePublicationStmt * _copyCreatePublicationStmt(const CreatePublicationStmt *from)
Definition: copyfuncs.c:5391
static CoerceViaIO * _copyCoerceViaIO(const CoerceViaIO *from)
Definition: copyfuncs.c:1862
static InferenceElem * _copyInferenceElem(const InferenceElem *from)
Definition: copyfuncs.c:2211
static JsonObjectAgg * _copyJsonObjectAgg(const JsonObjectAgg *from)
Definition: copyfuncs.c:2473
static CreateFdwStmt * _copyCreateFdwStmt(const CreateFdwStmt *from)
Definition: copyfuncs.c:4857
static SortGroupClause * _copySortGroupClause(const SortGroupClause *from)
Definition: copyfuncs.c:3031
static LockingClause * _copyLockingClause(const LockingClause *from)
Definition: copyfuncs.c:3631
static JsonParseExpr * _copyJsonParseExpr(const JsonParseExpr *from)
Definition: copyfuncs.c:2359
static BitmapHeapScan * _copyBitmapHeapScan(const BitmapHeapScan *from)
Definition: copyfuncs.c:559
static DropUserMappingStmt * _copyDropUserMappingStmt(const DropUserMappingStmt *from)
Definition: copyfuncs.c:4934
static PublicationTable * _copyPublicationTable(const PublicationTable *from)
Definition: copyfuncs.c:5379
static DropSubscriptionStmt * _copyDropSubscriptionStmt(const DropSubscriptionStmt *from)
Definition: copyfuncs.c:5445
static NullIfExpr * _copyNullIfExpr(const NullIfExpr *from)
Definition: copyfuncs.c:1697
static Param * _copyParam(const Param *from)
Definition: copyfuncs.c:1511
static CollateExpr * _copyCollateExpr(const CollateExpr *from)
Definition: copyfuncs.c:1914
static Join * _copyJoin(const Join *from)
Definition: copyfuncs.c:851
static OpExpr * _copyOpExpr(const OpExpr *from)
Definition: copyfuncs.c:1657
static PartitionSpec * _copyPartitionSpec(const PartitionSpec *from)
Definition: copyfuncs.c:5313
static Group * _copyGroup(const Group *from)
Definition: copyfuncs.c:1046
static CaseExpr * _copyCaseExpr(const CaseExpr *from)
Definition: copyfuncs.c:1929
static IntoClause * _copyIntoClause(const IntoClause *from)
Definition: copyfuncs.c:1425
static ExecuteStmt * _copyExecuteStmt(const ExecuteStmt *from)
Definition: copyfuncs.c:5199
static ReassignOwnedStmt * _copyReassignOwnedStmt(const ReassignOwnedStmt *from)
Definition: copyfuncs.c:5231
static JsonFormat * _copyJsonFormat(const JsonFormat *from)
Definition: copyfuncs.c:2314
static CreateEnumStmt * _copyCreateEnumStmt(const CreateEnumStmt *from)
Definition: copyfuncs.c:4445
static AlterFunctionStmt * _copyAlterFunctionStmt(const AlterFunctionStmt *from)
Definition: copyfuncs.c:4271
static JsonReturning * _copyJsonReturning(const JsonReturning *from)
Definition: copyfuncs.c:2329
static RangeTableFuncCol * _copyRangeTableFuncCol(const RangeTableFuncCol *from)
Definition: copyfuncs.c:3483
static AlterPublicationStmt * _copyAlterPublicationStmt(const AlterPublicationStmt *from)
Definition: copyfuncs.c:5404
static IndexOnlyScan * _copyIndexOnlyScan(const IndexOnlyScan *from)
Definition: copyfuncs.c:509
static CreateEventTrigStmt * _copyCreateEventTrigStmt(const CreateEventTrigStmt *from)
Definition: copyfuncs.c:5024
static CreateExtensionStmt * _copyCreateExtensionStmt(const CreateExtensionStmt *from)
Definition: copyfuncs.c:4821
static IncrementalSort * _copyIncrementalSort(const IncrementalSort *from)
Definition: copyfuncs.c:1024
static HashJoin * _copyHashJoin(const HashJoin *from)
Definition: copyfuncs.c:918
static JsonArrayConstructor * _copyJsonArrayConstructor(const JsonArrayConstructor *from)
Definition: copyfuncs.c:2503
static AlterDatabaseSetStmt * _copyAlterDatabaseSetStmt(const AlterDatabaseSetStmt *from)
Definition: copyfuncs.c:4606
static CommentStmt * _copyCommentStmt(const CommentStmt *from)
Definition: copyfuncs.c:4143
static RuleStmt * _copyRuleStmt(const RuleStmt *from)
Definition: copyfuncs.c:4373
static MergeWhenClause * _copyMergeWhenClause(const MergeWhenClause *from)
Definition: copyfuncs.c:3187
static JsonTablePlan * _copyJsonTablePlan(const JsonTablePlan *from)
Definition: copyfuncs.c:2739
static AlterSeqStmt * _copyAlterSeqStmt(const AlterSeqStmt *from)
Definition: copyfuncs.c:4725
static CommonTableExpr * _copyCommonTableExpr(const CommonTableExpr *from)
Definition: copyfuncs.c:3165
static GroupingFunc * _copyGroupingFunc(const GroupingFunc *from)
Definition: copyfuncs.c:1560
static DoStmt * _copyDoStmt(const DoStmt *from)
Definition: copyfuncs.c:4283
static NamedArgExpr * _copyNamedArgExpr(const NamedArgExpr *from)
Definition: copyfuncs.c:1641
static PartitionPruneStepCombine * _copyPartitionPruneStepCombine(const PartitionPruneStepCombine *from)
Definition: copyfuncs.c:1330
static ExplainStmt * _copyExplainStmt(const ExplainStmt *from)
Definition: copyfuncs.c:4653
static AlterTableCmd * _copyAlterTableCmd(const AlterTableCmd *from)
Definition: copyfuncs.c:3884
static CTESearchClause * _copyCTESearchClause(const CTESearchClause *from)
Definition: copyfuncs.c:3133
static JsonKeyValue * _copyJsonKeyValue(const JsonKeyValue *from)
Definition: copyfuncs.c:2425
static CompositeTypeStmt * _copyCompositeTypeStmt(const CompositeTypeStmt *from)
Definition: copyfuncs.c:4434
static AlterOpFamilyStmt * _copyAlterOpFamilyStmt(const AlterOpFamilyStmt *from)
Definition: copyfuncs.c:4561
static SortBy * _copySortBy(const SortBy *from)
Definition: copyfuncs.c:3395
static Float * _copyFloat(const Float *from)
Definition: copyfuncs.c:5492
static ConstraintsSetStmt * _copyConstraintsSetStmt(const ConstraintsSetStmt *from)
Definition: copyfuncs.c:5122
static PathKey * _copyPathKey(const PathKey *from)
Definition: copyfuncs.c:2799
static AlterOwnerStmt * _copyAlterOwnerStmt(const AlterOwnerStmt *from)
Definition: copyfuncs.c:4338
static RestrictInfo * _copyRestrictInfo(const RestrictInfo *from)
Definition: copyfuncs.c:2816
static PLAssignStmt * _copyPLAssignStmt(const PLAssignStmt *from)
Definition: copyfuncs.c:3857
static ProjectSet * _copyProjectSet(const ProjectSet *from)
Definition: copyfuncs.c:183
static ParamRef * _copyParamRef(const ParamRef *from)
Definition: copyfuncs.c:3241
static UpdateStmt * _copyUpdateStmt(const UpdateStmt *from)
Definition: copyfuncs.c:3772
static TransactionStmt * _copyTransactionStmt(const TransactionStmt *from)
Definition: copyfuncs.c:4420
static JsonTableSibling * _copyJsonTableSibling(const JsonTableSibling *from)
Definition: copyfuncs.c:2776
static ArrayCoerceExpr * _copyArrayCoerceExpr(const ArrayCoerceExpr *from)
Definition: copyfuncs.c:1879
static TableFunc * _copyTableFunc(const TableFunc *from)
Definition: copyfuncs.c:1397
static Var * _copyVar(const Var *from)
Definition: copyfuncs.c:1452
static CollateClause * _copyCollateClause(const CollateClause *from)
Definition: copyfuncs.c:3511
static UnlistenStmt * _copyUnlistenStmt(const UnlistenStmt *from)
Definition: copyfuncs.c:4410
static FetchStmt * _copyFetchStmt(const FetchStmt *from)
Definition: copyfuncs.c:4168
static CreateTableSpaceStmt * _copyCreateTableSpaceStmt(const CreateTableSpaceStmt *from)
Definition: copyfuncs.c:4771
static GroupingSet * _copyGroupingSet(const GroupingSet *from)
Definition: copyfuncs.c:3045
static SubPlan * _copySubPlan(const SubPlan *from)
Definition: copyfuncs.c:1770
static CoerceToDomain * _copyCoerceToDomain(const CoerceToDomain *from)
Definition: copyfuncs.c:2132
static DropTableSpaceStmt * _copyDropTableSpaceStmt(const DropTableSpaceStmt *from)
Definition: copyfuncs.c:4784
static CreateOpClassStmt * _copyCreateOpClassStmt(const CreateOpClassStmt *from)
Definition: copyfuncs.c:4520
static NextValueExpr * _copyNextValueExpr(const NextValueExpr *from)
Definition: copyfuncs.c:2197
static CreateDomainStmt * _copyCreateDomainStmt(const CreateDomainStmt *from)
Definition: copyfuncs.c:4507
static ForeignKeyCacheInfo * _copyForeignKeyCacheInfo(const ForeignKeyCacheInfo *from)
Definition: copyfuncs.c:5533
static A_ArrayExpr * _copyA_ArrayExpr(const A_ArrayExpr *from)
Definition: copyfuncs.c:3342
static InsertStmt * _copyInsertStmt(const InsertStmt *from)
Definition: copyfuncs.c:3742
static AlterDomainStmt * _copyAlterDomainStmt(const AlterDomainStmt *from)
Definition: copyfuncs.c:3910
static PlaceHolderVar * _copyPlaceHolderVar(const PlaceHolderVar *from)
Definition: copyfuncs.c:2864
static JsonCommon * _copyJsonCommon(const JsonCommon *from)
Definition: copyfuncs.c:2666
static Gather * _copyGather(const Gather *from)
Definition: copyfuncs.c:362
static TypeName * _copyTypeName(const TypeName *from)
Definition: copyfuncs.c:3378
static ForeignScan * _copyForeignScan(const ForeignScan *from)
Definition: copyfuncs.c:772
static ModifyTable * _copyModifyTable(const ModifyTable *from)
Definition: copyfuncs.c:199
static VariableSetStmt * _copyVariableSetStmt(const VariableSetStmt *from)
Definition: copyfuncs.c:4738
static AccessPriv * _copyAccessPriv(const AccessPriv *from)
Definition: copyfuncs.c:3956
static CreateConversionStmt * _copyCreateConversionStmt(const CreateConversionStmt *from)
Definition: copyfuncs.c:5159
static GatherMerge * _copyGatherMerge(const GatherMerge *from)
Definition: copyfuncs.c:387
static JsonExpr * _copyJsonExpr(const JsonExpr *from)
Definition: copyfuncs.c:2551
static CteScan * _copyCteScan(const CteScan *from)
Definition: copyfuncs.c:708
static PartitionBoundSpec * _copyPartitionBoundSpec(const PartitionBoundSpec *from)
Definition: copyfuncs.c:5325
static CreateOpClassItem * _copyCreateOpClassItem(const CreateOpClassItem *from)
Definition: copyfuncs.c:4535
static JsonTableParent * _copyJsonTableParent(const JsonTableParent *from)
Definition: copyfuncs.c:2757
static CreateForeignServerStmt * _copyCreateForeignServerStmt(const CreateForeignServerStmt *from)
Definition: copyfuncs.c:4881
static AlterEnumStmt * _copyAlterEnumStmt(const AlterEnumStmt *from)
Definition: copyfuncs.c:4467
static Limit * _copyLimit(const Limit *from)
Definition: copyfuncs.c:1223
static AlterUserMappingStmt * _copyAlterUserMappingStmt(const AlterUserMappingStmt *from)
Definition: copyfuncs.c:4922
static Const * _copyConst(const Const *from)
Definition: copyfuncs.c:1473
static PublicationObjSpec * _copyPublicationObject(const PublicationObjSpec *from)
Definition: copyfuncs.c:5366
static Append * _copyAppend(const Append *from)
Definition: copyfuncs.c:240
static AlterRoleStmt * _copyAlterRoleStmt(const AlterRoleStmt *from)
Definition: copyfuncs.c:5075
static JsonTableColumn * _copyJsonTableColumn(const JsonTableColumn *from)
Definition: copyfuncs.c:2715
static BitString * _copyBitString(const BitString *from)
Definition: copyfuncs.c:5522
static NamedTuplestoreScan * _copyNamedTuplestoreScan(const NamedTuplestoreScan *from)
Definition: copyfuncs.c:730
static PartitionCmd * _copyPartitionCmd(const PartitionCmd *from)
Definition: copyfuncs.c:5354
static InferClause * _copyInferClause(const InferClause *from)
Definition: copyfuncs.c:3106
static SampleScan * _copySampleScan(const SampleScan *from)
Definition: copyfuncs.c:461
static CreateOpFamilyStmt * _copyCreateOpFamilyStmt(const CreateOpFamilyStmt *from)
Definition: copyfuncs.c:4550
static JsonAggConstructor * _copyJsonAggConstructor(const JsonAggConstructor *from)
Definition: copyfuncs.c:2456
static FuncCall * _copyFuncCall(const FuncCall *from)
Definition: copyfuncs.c:3291
static Scan * _copyScan(const Scan *from)
Definition: copyfuncs.c:429
static Plan * _copyPlan(const Plan *from)
Definition: copyfuncs.c:145
static CustomScan * _copyCustomScan(const CustomScan *from)
Definition: copyfuncs.c:801
static AlterExtensionStmt * _copyAlterExtensionStmt(const AlterExtensionStmt *from)
Definition: copyfuncs.c:4833
static CreateRangeStmt * _copyCreateRangeStmt(const CreateRangeStmt *from)
Definition: copyfuncs.c:4456
static ClosePortalStmt * _copyClosePortalStmt(const ClosePortalStmt *from)
Definition: copyfuncs.c:4005
static CreateCastStmt * _copyCreateCastStmt(const CreateCastStmt *from)
Definition: copyfuncs.c:5173
static AlterStatsStmt * _copyAlterStatsStmt(const AlterStatsStmt *from)
Definition: copyfuncs.c:4230
static RenameStmt * _copyRenameStmt(const RenameStmt *from)
Definition: copyfuncs.c:4293
static IndexElem * _copyIndexElem(const IndexElem *from)
Definition: copyfuncs.c:3523
static Constraint * _copyConstraint(const Constraint *from)
Definition: copyfuncs.c:3578
static ReplicaIdentityStmt * _copyReplicaIdentityStmt(const ReplicaIdentityStmt *from)
Definition: copyfuncs.c:4690
static Unique * _copyUnique(const Unique *from)
Definition: copyfuncs.c:1123
static GrantStmt * _copyGrantStmt(const GrantStmt *from)
Definition: copyfuncs.c:3925
static CreatePolicyStmt * _copyCreatePolicyStmt(const CreatePolicyStmt *from)
Definition: copyfuncs.c:5269
static FunctionScan * _copyFunctionScan(const FunctionScan *from)
Definition: copyfuncs.c:644
static WindowFunc * _copyWindowFunc(const WindowFunc *from)
Definition: copyfuncs.c:1577
static AlterObjectDependsStmt * _copyAlterObjectDependsStmt(const AlterObjectDependsStmt *from)
Definition: copyfuncs.c:4310
static A_Star * _copyA_Star(const A_Star *from)
Definition: copyfuncs.c:3311
static ConvertRowtypeExpr * _copyConvertRowtypeExpr(const ConvertRowtypeExpr *from)
Definition: copyfuncs.c:1898
static MultiAssignRef * _copyMultiAssignRef(const MultiAssignRef *from)
Definition: copyfuncs.c:3366
static AlterTypeStmt * _copyAlterTypeStmt(const AlterTypeStmt *from)
Definition: copyfuncs.c:4362
static DeleteStmt * _copyDeleteStmt(const DeleteStmt *from)
Definition: copyfuncs.c:3758
static ColumnRef * _copyColumnRef(const ColumnRef *from)
Definition: copyfuncs.c:3230
static Result * _copyResult(const Result *from)
Definition: copyfuncs.c:162
static WindowClause * _copyWindowClause(const WindowClause *from)
Definition: copyfuncs.c:3057
static StatsElem * _copyStatsElem(const StatsElem *from)
Definition: copyfuncs.c:3540
static NotifyStmt * _copyNotifyStmt(const NotifyStmt *from)
Definition: copyfuncs.c:4389
static JsonBehavior * _copyJsonBehavior(const JsonBehavior *from)
Definition: copyfuncs.c:2652
static CreateStmt * _copyCreateStmt(const CreateStmt *from)
Definition: copyfuncs.c:4079
static SubqueryScan * _copySubqueryScan(const SubqueryScan *from)
Definition: copyfuncs.c:622
static DropdbStmt * _copyDropdbStmt(const DropdbStmt *from)
Definition: copyfuncs.c:4617
static JsonArrayQueryConstructor * _copyJsonArrayQueryConstructor(const JsonArrayQueryConstructor *from)
Definition: copyfuncs.c:2534
static JsonArrayAgg * _copyJsonArrayAgg(const JsonArrayAgg *from)
Definition: copyfuncs.c:2519
static FieldStore * _copyFieldStore(const FieldStore *from)
Definition: copyfuncs.c:1828
static CoerceToDomainValue * _copyCoerceToDomainValue(const CoerceToDomainValue *from)
Definition: copyfuncs.c:2150
static ResTarget * _copyResTarget(const ResTarget *from)
Definition: copyfuncs.c:3353
static Sort * _copySort(const Sort *from)
Definition: copyfuncs.c:1007
static IndexStmt * _copyIndexStmt(const IndexStmt *from)
Definition: copyfuncs.c:4181
static WindowDef * _copyWindowDef(const WindowDef *from)
Definition: copyfuncs.c:3409
static ReturnStmt * _copyReturnStmt(const ReturnStmt *from)
Definition: copyfuncs.c:3847
static PlannedStmt * _copyPlannedStmt(const PlannedStmt *from)
Definition: copyfuncs.c:85
static CreateSeqStmt * _copyCreateSeqStmt(const CreateSeqStmt *from)
Definition: copyfuncs.c:4711
static OnConflictClause * _copyOnConflictClause(const OnConflictClause *from)
Definition: copyfuncs.c:3119
static SetOperationStmt * _copySetOperationStmt(const SetOperationStmt *from)
Definition: copyfuncs.c:3830
static CreateForeignTableStmt * _copyCreateForeignTableStmt(const CreateForeignTableStmt *from)
Definition: copyfuncs.c:4946
static AlterExtensionContentsStmt * _copyAlterExtensionContentsStmt(const AlterExtensionContentsStmt *from)
Definition: copyfuncs.c:4844
static SetToDefault * _copySetToDefault(const SetToDefault *from)
Definition: copyfuncs.c:2166
static DropStmt * _copyDropStmt(const DropStmt *from)
Definition: copyfuncs.c:4117
static JoinExpr * _copyJoinExpr(const JoinExpr *from)
Definition: copyfuncs.c:2258
static FromExpr * _copyFromExpr(const FromExpr *from)
Definition: copyfuncs.c:2279
static DeclareCursorStmt * _copyDeclareCursorStmt(const DeclareCursorStmt *from)
Definition: copyfuncs.c:3993
static CreateTransformStmt * _copyCreateTransformStmt(const CreateTransformStmt *from)
Definition: copyfuncs.c:4974
static TableSampleClause * _copyTableSampleClause(const TableSampleClause *from)
Definition: copyfuncs.c:3005
static CreatePLangStmt * _copyCreatePLangStmt(const CreatePLangStmt *from)
Definition: copyfuncs.c:5048
static AlterSystemStmt * _copyAlterSystemStmt(const AlterSystemStmt *from)
Definition: copyfuncs.c:4701
static TidScan * _copyTidScan(const TidScan *from)
Definition: copyfuncs.c:580
static AlterDefaultPrivilegesStmt * _copyAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *from)
Definition: copyfuncs.c:3982
static RelabelType * _copyRelabelType(const RelabelType *from)
Definition: copyfuncs.c:1844
static CreateStatsStmt * _copyCreateStatsStmt(const CreateStatsStmt *from)
Definition: copyfuncs.c:4214
static XmlExpr * _copyXmlExpr(const XmlExpr *from)
Definition: copyfuncs.c:2080
static JsonFuncExpr * _copyJsonFuncExpr(const JsonFuncExpr *from)
Definition: copyfuncs.c:2615
static ArrayExpr * _copyArrayExpr(const ArrayExpr *from)
Definition: copyfuncs.c:1977
static VacuumRelation * _copyVacuumRelation(const VacuumRelation *from)
Definition: copyfuncs.c:4641
static AlterOperatorStmt * _copyAlterOperatorStmt(const AlterOperatorStmt *from)
Definition: copyfuncs.c:4351
static FieldSelect * _copyFieldSelect(const FieldSelect *from)
Definition: copyfuncs.c:1811
static A_Expr * _copyA_Expr(const A_Expr *from)
Definition: copyfuncs.c:3216
static DiscardStmt * _copyDiscardStmt(const DiscardStmt *from)
Definition: copyfuncs.c:4761
static IndexScan * _copyIndexScan(const IndexScan *from)
Definition: copyfuncs.c:482
static MergeJoin * _copyMergeJoin(const MergeJoin *from)
Definition: copyfuncs.c:890
static DeallocateStmt * _copyDeallocateStmt(const DeallocateStmt *from)
Definition: copyfuncs.c:5210
static SubLink * _copySubLink(const SubLink *from)
Definition: copyfuncs.c:1752
static NestLoopParam * _copyNestLoopParam(const NestLoopParam *from)
Definition: copyfuncs.c:1250
static AlterForeignServerStmt * _copyAlterForeignServerStmt(const AlterForeignServerStmt *from)
Definition: copyfuncs.c:4896
static ObjectWithArgs * _copyObjectWithArgs(const ObjectWithArgs *from)
Definition: copyfuncs.c:3943
static JsonObjectConstructor * _copyJsonObjectConstructor(const JsonObjectConstructor *from)
Definition: copyfuncs.c:2439
static PartitionPruneStepOp * _copyPartitionPruneStepOp(const PartitionPruneStepOp *from)
Definition: copyfuncs.c:1313
static AlterRoleSetStmt * _copyAlterRoleSetStmt(const AlterRoleSetStmt *from)
Definition: copyfuncs.c:5087
static VacuumStmt * _copyVacuumStmt(const VacuumStmt *from)
Definition: copyfuncs.c:4629
static PartitionedRelPruneInfo * _copyPartitionedRelPruneInfo(const PartitionedRelPruneInfo *from)
Definition: copyfuncs.c:1292
static Integer * _copyInteger(const Integer *from)
Definition: copyfuncs.c:5482
static DropRoleStmt * _copyDropRoleStmt(const DropRoleStmt *from)
Definition: copyfuncs.c:5099
static String * _copyString(const String *from)
Definition: copyfuncs.c:5512
static RangeTblRef * _copyRangeTblRef(const RangeTblRef *from)
Definition: copyfuncs.c:2245
static SetOp * _copySetOp(const SetOp *from)
Definition: copyfuncs.c:1172
static CallStmt * _copyCallStmt(const CallStmt *from)
Definition: copyfuncs.c:4015
static RowCompareExpr * _copyRowCompareExpr(const RowCompareExpr *from)
Definition: copyfuncs.c:2012
static OnConflictExpr * _copyOnConflictExpr(const OnConflictExpr *from)
Definition: copyfuncs.c:2293
static AlterTableMoveAllStmt * _copyAlterTableMoveAllStmt(const AlterTableMoveAllStmt *from)
Definition: copyfuncs.c:4807
static PlanRowMark * _copyPlanRowMark(const PlanRowMark *from)
Definition: copyfuncs.c:1264
static AlterPolicyStmt * _copyAlterPolicyStmt(const AlterPolicyStmt *from)
Definition: copyfuncs.c:5285
static Alias * _copyAlias(const Alias *from)
Definition: copyfuncs.c:1364
static LockRows * _copyLockRows(const LockRows *from)
Definition: copyfuncs.c:1201
static TidRangeScan * _copyTidRangeScan(const TidRangeScan *from)
Definition: copyfuncs.c:601
static ImportForeignSchemaStmt * _copyImportForeignSchemaStmt(const ImportForeignSchemaStmt *from)
Definition: copyfuncs.c:4959
static CreateTrigStmt * _copyCreateTrigStmt(const CreateTrigStmt *from)
Definition: copyfuncs.c:5000
static AlterTSConfigurationStmt * _copyAlterTSConfigurationStmt(const AlterTSConfigurationStmt *from)
Definition: copyfuncs.c:5253
static RangeTableFunc * _copyRangeTableFunc(const RangeTableFunc *from)
Definition: copyfuncs.c:3467
static AlterTableStmt * _copyAlterTableStmt(const AlterTableStmt *from)
Definition: copyfuncs.c:3871
static VariableShowStmt * _copyVariableShowStmt(const VariableShowStmt *from)
Definition: copyfuncs.c:4751
static RawStmt * _copyRawStmt(const RawStmt *from)
Definition: copyfuncs.c:3730
static SQLValueFunction * _copySQLValueFunction(const SQLValueFunction *from)
Definition: copyfuncs.c:2064
static JsonItemCoercions * _copyJsonItemCoercions(const JsonItemCoercions *from)
Definition: copyfuncs.c:2593
static SelectStmt * _copySelectStmt(const SelectStmt *from)
Definition: copyfuncs.c:3801
static JsonValueExpr * _copyJsonValueExpr(const JsonValueExpr *from)
Definition: copyfuncs.c:2344
static AlterTSDictionaryStmt * _copyAlterTSDictionaryStmt(const AlterTSDictionaryStmt *from)
Definition: copyfuncs.c:5242
static RowMarkClause * _copyRowMarkClause(const RowMarkClause *from)
Definition: copyfuncs.c:3081
static Memoize * _copyMemoize(const Memoize *from)
Definition: copyfuncs.c:960
static Boolean * _copyBoolean(const Boolean *from)
Definition: copyfuncs.c:5502
static BooleanTest * _copyBooleanTest(const BooleanTest *from)
Definition: copyfuncs.c:2117
static DefineStmt * _copyDefineStmt(const DefineStmt *from)
Definition: copyfuncs.c:4101
static TriggerTransition * _copyTriggerTransition(const TriggerTransition *from)
Definition: copyfuncs.c:3668
static PartitionElem * _copyPartitionElem(const PartitionElem *from)
Definition: copyfuncs.c:5299
static ListenStmt * _copyListenStmt(const ListenStmt *from)
Definition: copyfuncs.c:4400
static TableFuncScan * _copyTableFuncScan(const TableFuncScan *from)
Definition: copyfuncs.c:666
static CTECycleClause * _copyCTECycleClause(const CTECycleClause *from)
Definition: copyfuncs.c:3146
static AlternativeSubPlan * _copyAlternativeSubPlan(const AlternativeSubPlan *from)
Definition: copyfuncs.c:1798
static WindowAgg * _copyWindowAgg(const WindowAgg *from)
Definition: copyfuncs.c:1089
static XmlSerialize * _copyXmlSerialize(const XmlSerialize *from)
Definition: copyfuncs.c:3643
static BoolExpr * _copyBoolExpr(const BoolExpr *from)
Definition: copyfuncs.c:1737
static NullTest * _copyNullTest(const NullTest *from)
Definition: copyfuncs.c:2101
static MergeAction * _copyMergeAction(const MergeAction *from)
Definition: copyfuncs.c:3201
static JsonSerializeExpr * _copyJsonSerializeExpr(const JsonSerializeExpr *from)
Definition: copyfuncs.c:2390
static SecLabelStmt * _copySecLabelStmt(const SecLabelStmt *from)
Definition: copyfuncs.c:4155
static PlanInvalItem * _copyPlanInvalItem(const PlanInvalItem *from)
Definition: copyfuncs.c:1345
static BitmapAnd * _copyBitmapAnd(const BitmapAnd *from)
Definition: copyfuncs.c:319
static TargetEntry * _copyTargetEntry(const TargetEntry *from)
Definition: copyfuncs.c:2226
static RefreshMatViewStmt * _copyRefreshMatViewStmt(const RefreshMatViewStmt *from)
Definition: copyfuncs.c:4678
static TableLikeClause * _copyTableLikeClause(const TableLikeClause *from)
Definition: copyfuncs.c:4089
static RowExpr * _copyRowExpr(const RowExpr *from)
Definition: copyfuncs.c:1995
static CreatedbStmt * _copyCreatedbStmt(const CreatedbStmt *from)
Definition: copyfuncs.c:4574
static BitmapIndexScan * _copyBitmapIndexScan(const BitmapIndexScan *from)
Definition: copyfuncs.c:535
static A_Const * _copyA_Const(const A_Const *from)
Definition: copyfuncs.c:3252
static CreateSubscriptionStmt * _copyCreateSubscriptionStmt(const CreateSubscriptionStmt *from)
Definition: copyfuncs.c:5418
static MergeAppend * _copyMergeAppend(const MergeAppend *from)
Definition: copyfuncs.c:265
static TypeCast * _copyTypeCast(const TypeCast *from)
Definition: copyfuncs.c:3499
static CurrentOfExpr * _copyCurrentOfExpr(const CurrentOfExpr *from)
Definition: copyfuncs.c:2182
static WithCheckOption * _copyWithCheckOption(const WithCheckOption *from)
Definition: copyfuncs.c:3017
static JsonConstructorExpr * _copyJsonConstructorExpr(const JsonConstructorExpr *from)
Definition: copyfuncs.c:2405
static JsonScalarExpr * _copyJsonScalarExpr(const JsonScalarExpr *from)
Definition: copyfuncs.c:2375
static RangeTblEntry * _copyRangeTblEntry(const RangeTblEntry *from)
Definition: copyfuncs.c:2943
static ExtensibleNode * _copyExtensibleNode(const ExtensibleNode *from)
Definition: copyfuncs.c:5461
static RangeFunction * _copyRangeFunction(const RangeFunction *from)
Definition: copyfuncs.c:3438
static SpecialJoinInfo * _copySpecialJoinInfo(const SpecialJoinInfo *from)
Definition: copyfuncs.c:2880
static AlterFdwStmt * _copyAlterFdwStmt(const AlterFdwStmt *from)
Definition: copyfuncs.c:4869
static CreateUserMappingStmt * _copyCreateUserMappingStmt(const CreateUserMappingStmt *from)
Definition: copyfuncs.c:4909
static BitmapOr * _copyBitmapOr(const BitmapOr *from)
Definition: copyfuncs.c:340
static FuncExpr * _copyFuncExpr(const FuncExpr *from)
Definition: copyfuncs.c:1620
static CaseWhen * _copyCaseWhen(const CaseWhen *from)
Definition: copyfuncs.c:1947
static CreateAmStmt * _copyCreateAmStmt(const CreateAmStmt *from)
Definition: copyfuncs.c:4988
static SubscriptingRef * _copySubscriptingRef(const SubscriptingRef *from)
Definition: copyfuncs.c:1599
static AlterSubscriptionStmt * _copyAlterSubscriptionStmt(const AlterSubscriptionStmt *from)
Definition: copyfuncs.c:5431
static AlterCollationStmt * _copyAlterCollationStmt(const AlterCollationStmt *from)
Definition: copyfuncs.c:3900
static JsonCoercion * _copyJsonCoercion(const JsonCoercion *from)
Definition: copyfuncs.c:2577
static LoadStmt * _copyLoadStmt(const LoadStmt *from)
Definition: copyfuncs.c:4497
static ScalarArrayOpExpr * _copyScalarArrayOpExpr(const ScalarArrayOpExpr *from)
Definition: copyfuncs.c:1717
static A_Indirection * _copyA_Indirection(const A_Indirection *from)
Definition: copyfuncs.c:3331
static AlterEventTrigStmt * _copyAlterEventTrigStmt(const AlterEventTrigStmt *from)
Definition: copyfuncs.c:5037
static Query * _copyQuery(const Query *from)
Definition: copyfuncs.c:3680
static WithClause * _copyWithClause(const WithClause *from)
Definition: copyfuncs.c:3094
static LockStmt * _copyLockStmt(const LockStmt *from)
Definition: copyfuncs.c:5110
static DefElem * _copyDefElem(const DefElem *from)
Definition: copyfuncs.c:3617
static AlterDatabaseRefreshCollStmt * _copyAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *from)
Definition: copyfuncs.c:4596
static WorkTableScan * _copyWorkTableScan(const WorkTableScan *from)
Definition: copyfuncs.c:751
static ClusterStmt * _copyClusterStmt(const ClusterStmt *from)
Definition: copyfuncs.c:4027
static GrantRoleStmt * _copyGrantRoleStmt(const GrantRoleStmt *from)
Definition: copyfuncs.c:3967
static ViewStmt * _copyViewStmt(const ViewStmt *from)
Definition: copyfuncs.c:4482
static PartitionPruneInfo * _copyPartitionPruneInfo(const PartitionPruneInfo *from)
Definition: copyfuncs.c:1281
static RangeVar * _copyRangeVar(const RangeVar *from)
Definition: copyfuncs.c:1378
static JsonIsPredicate * _copyJsonIsPredicate(const JsonIsPredicate *from)
Definition: copyfuncs.c:2635
static NestLoop * _copyNestLoop(const NestLoop *from)
Definition: copyfuncs.c:868
static AlterObjectSchemaStmt * _copyAlterObjectSchemaStmt(const AlterObjectSchemaStmt *from)
Definition: copyfuncs.c:4324
static JsonArgument * _copyJsonArgument(const JsonArgument *from)
Definition: copyfuncs.c:2683
static CreateFunctionStmt * _copyCreateFunctionStmt(const CreateFunctionStmt *from)
Definition: copyfuncs.c:4242
static CreateRoleStmt * _copyCreateRoleStmt(const CreateRoleStmt *from)
Definition: copyfuncs.c:5063
static Aggref * _copyAggref(const Aggref *from)
Definition: copyfuncs.c:1529
static JsonOutput * _copyJsonOutput(const JsonOutput *from)
Definition: copyfuncs.c:2489
static PrepareStmt * _copyPrepareStmt(const PrepareStmt *from)
Definition: copyfuncs.c:5187
static CopyStmt * _copyCopyStmt(const CopyStmt *from)
Definition: copyfuncs.c:4039
static RoleSpec * _copyRoleSpec(const RoleSpec *from)
Definition: copyfuncs.c:3656
static JsonTable * _copyJsonTable(const JsonTable *from)
Definition: copyfuncs.c:2697
static CaseTestExpr * _copyCaseTestExpr(const CaseTestExpr *from)
Definition: copyfuncs.c:1962
#define ERROR
Definition: elog.h:33
#define elog(elevel,...)
Definition: elog.h:218
List * list_copy_deep(const List *oldlist)
Definition: list.c:1577
List * list_copy(const List *oldlist)
Definition: list.c:1532
#define nodeTag(nodeptr)
Definition: nodes.h:578
#define makeNode(_type_)
Definition: nodes.h:621
void check_stack_depth(void)
Definition: postgres.c:3500

References _copyA_ArrayExpr(), _copyA_Const(), _copyA_Expr(), _copyA_Indices(), _copyA_Indirection(), _copyA_Star(), _copyAccessPriv(), _copyAgg(), _copyAggref(), _copyAlias(), _copyAlterCollationStmt(), _copyAlterDatabaseRefreshCollStmt(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectDependsStmt(), _copyAlterObjectSchemaStmt(), _copyAlterOperatorStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterPolicyStmt(), _copyAlterPublicationStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterStatsStmt(), _copyAlterSubscriptionStmt(), _copyAlterSystemStmt(), _copyAlterTableCmd(), _copyAlterTableMoveAllStmt(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterTypeStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _copyBitString(), _copyBoolean(), _copyBooleanTest(), _copyBoolExpr(), _copyCallStmt(), _copyCaseExpr(), _copyCaseTestExpr(), _copyCaseWhen(), _copyClosePortalStmt(), _copyClusterStmt(), _copyCoalesceExpr(), _copyCoerceToDomain(), _copyCoerceToDomainValue(), _copyCoerceViaIO(), _copyCollateClause(), _copyCollateExpr(), _copyColumnDef(), _copyColumnRef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyCompositeTypeStmt(), _copyConst(), _copyConstraint(), _copyConstraintsSetStmt(), _copyConvertRowtypeExpr(), _copyCopyStmt(), _copyCreateAmStmt(), _copyCreateCastStmt(), _copyCreateConversionStmt(), _copyCreatedbStmt(), _copyCreateDomainStmt(), _copyCreateEnumStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFdwStmt(), _copyCreateForeignServerStmt(), _copyCreateForeignTableStmt(), _copyCreateFunctionStmt(), _copyCreateOpClassItem(), _copyCreateOpClassStmt(), _copyCreateOpFamilyStmt(), _copyCreatePLangStmt(), _copyCreatePolicyStmt(), _copyCreatePublicationStmt(), _copyCreateRangeStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateSeqStmt(), _copyCreateStatsStmt(), _copyCreateStmt(), _copyCreateSubscriptionStmt(), _copyCreateTableAsStmt(), _copyCreateTableSpaceStmt(), _copyCreateTransformStmt(), _copyCreateTrigStmt(), _copyCreateUserMappingStmt(), _copyCTECycleClause(), _copyCteScan(), _copyCTESearchClause(), _copyCurrentOfExpr(), _copyCustomScan(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropSubscriptionStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyExtensibleNode(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyFloat(), _copyForeignKeyCacheInfo(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyGather(), _copyGatherMerge(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyGroupingFunc(), _copyGroupingSet(), _copyHash(), _copyHashJoin(), _copyImportForeignSchemaStmt(), _copyIncrementalSort(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInferClause(), _copyInferenceElem(), _copyInsertStmt(), _copyInteger(), _copyIntoClause(), _copyJoin(), _copyJoinExpr(), _copyJsonAggConstructor(), _copyJsonArgument(), _copyJsonArrayAgg(), _copyJsonArrayConstructor(), _copyJsonArrayQueryConstructor(), _copyJsonBehavior(), _copyJsonCoercion(), _copyJsonCommon(), _copyJsonConstructorExpr(), _copyJsonExpr(), _copyJsonFormat(), _copyJsonFuncExpr(), _copyJsonIsPredicate(), _copyJsonItemCoercions(), _copyJsonKeyValue(), _copyJsonObjectAgg(), _copyJsonObjectConstructor(), _copyJsonOutput(), _copyJsonParseExpr(), _copyJsonReturning(), _copyJsonScalarExpr(), _copyJsonSerializeExpr(), _copyJsonTable(), _copyJsonTableColumn(), _copyJsonTableParent(), _copyJsonTablePlan(), _copyJsonTableSibling(), _copyJsonValueExpr(), _copyLimit(), _copyListenStmt(), _copyLoadStmt(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMaterial(), _copyMemoize(), _copyMergeAction(), _copyMergeAppend(), _copyMergeJoin(), _copyMergeStmt(), _copyMergeWhenClause(), _copyMinMaxExpr(), _copyModifyTable(), _copyMultiAssignRef(), _copyNamedArgExpr(), _copyNamedTuplestoreScan(), _copyNestLoop(), _copyNestLoopParam(), _copyNextValueExpr(), _copyNotifyStmt(), _copyNullIfExpr(), _copyNullTest(), _copyObjectWithArgs(), _copyOnConflictClause(), _copyOnConflictExpr(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPartitionBoundSpec(), _copyPartitionCmd(), _copyPartitionedRelPruneInfo(), _copyPartitionElem(), _copyPartitionPruneInfo(), _copyPartitionPruneStepCombine(), _copyPartitionPruneStepOp(), _copyPartitionRangeDatum(), _copyPartitionSpec(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlan(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyPLAssignStmt(), _copyPrepareStmt(), _copyProjectSet(), _copyPublicationObject(), _copyPublicationTable(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTableFunc(), _copyRangeTableFuncCol(), _copyRangeTableSample(), _copyRangeTblEntry(), _copyRangeTblFunction(), _copyRangeTblRef(), _copyRangeVar(), _copyRawStmt(), _copyReassignOwnedStmt(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyReplicaIdentityStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyReturnStmt(), _copyRoleSpec(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copySampleScan(), _copyScalarArrayOpExpr(), _copyScan(), _copySecLabelStmt(), _copySelectStmt(), _copySeqScan(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySQLValueFunction(), _copyStatsElem(), _copyString(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copySubscriptingRef(), _copyTableFunc(), _copyTableFuncScan(), _copyTableLikeClause(), _copyTableSampleClause(), _copyTargetEntry(), _copyTidRangeScan(), _copyTidScan(), _copyTransactionStmt(), _copyTriggerTransition(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUnique(), _copyUnlistenStmt(), _copyUpdateStmt(), _copyVacuumRelation(), _copyVacuumStmt(), _copyValuesScan(), _copyVar(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithCheckOption(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), check_stack_depth(), elog, ERROR, list_copy(), list_copy_deep(), makeNode, nodeTag, T_A_ArrayExpr, T_A_Const, T_A_Expr, T_A_Indices, T_A_Indirection, T_A_Star, T_AccessPriv, T_Agg, T_Aggref, T_Alias, T_AlterCollationStmt, T_AlterDatabaseRefreshCollStmt, T_AlterDatabaseSetStmt, T_AlterDatabaseStmt, T_AlterDefaultPrivilegesStmt, T_AlterDomainStmt, T_AlterEnumStmt, T_AlterEventTrigStmt, T_AlterExtensionContentsStmt, T_AlterExtensionStmt, T_AlterFdwStmt, T_AlterForeignServerStmt, T_AlterFunctionStmt, T_AlternativeSubPlan, T_AlterObjectDependsStmt, T_AlterObjectSchemaStmt, T_AlterOperatorStmt, T_AlterOpFamilyStmt, T_AlterOwnerStmt, T_AlterPolicyStmt, T_AlterPublicationStmt, T_AlterRoleSetStmt, T_AlterRoleStmt, T_AlterSeqStmt, T_AlterStatsStmt, T_AlterSubscriptionStmt, T_AlterSystemStmt, T_AlterTableCmd, T_AlterTableMoveAllStmt, T_AlterTableSpaceOptionsStmt, T_AlterTableStmt, T_AlterTSConfigurationStmt, T_AlterTSDictionaryStmt, T_AlterTypeStmt, T_AlterUserMappingStmt, T_Append, T_AppendRelInfo, T_ArrayCoerceExpr, T_ArrayExpr, T_BitmapAnd, T_BitmapHeapScan, T_BitmapIndexScan, T_BitmapOr, T_BitString, T_Boolean, T_BooleanTest, T_BoolExpr, T_CallStmt, T_CaseExpr, T_CaseTestExpr, T_CaseWhen, T_CheckPointStmt, T_ClosePortalStmt, T_ClusterStmt, T_CoalesceExpr, T_CoerceToDomain, T_CoerceToDomainValue, T_CoerceViaIO, T_CollateClause, T_CollateExpr, T_ColumnDef, T_ColumnRef, T_CommentStmt, T_CommonTableExpr, T_CompositeTypeStmt, T_Const, T_Constraint, T_ConstraintsSetStmt, T_ConvertRowtypeExpr, T_CopyStmt, T_CreateAmStmt, T_CreateCastStmt, T_CreateConversionStmt, T_CreatedbStmt, T_CreateDomainStmt, T_CreateEnumStmt, T_CreateEventTrigStmt, T_CreateExtensionStmt, T_CreateFdwStmt, T_CreateForeignServerStmt, T_CreateForeignTableStmt, T_CreateFunctionStmt, T_CreateOpClassItem, T_CreateOpClassStmt, T_CreateOpFamilyStmt, T_CreatePLangStmt, T_CreatePolicyStmt, T_CreatePublicationStmt, T_CreateRangeStmt, T_CreateRoleStmt, T_CreateSchemaStmt, T_CreateSeqStmt, T_CreateStatsStmt, T_CreateStmt, T_CreateSubscriptionStmt, T_CreateTableAsStmt, T_CreateTableSpaceStmt, T_CreateTransformStmt, T_CreateTrigStmt, T_CreateUserMappingStmt, T_CTECycleClause, T_CteScan, T_CTESearchClause, T_CurrentOfExpr, T_CustomScan, T_DeallocateStmt, T_DeclareCursorStmt, T_DefElem, T_DefineStmt, T_DeleteStmt, T_DiscardStmt, T_DistinctExpr, T_DoStmt, T_DropdbStmt, T_DropOwnedStmt, T_DropRoleStmt, T_DropStmt, T_DropSubscriptionStmt, T_DropTableSpaceStmt, T_DropUserMappingStmt, T_ExecuteStmt, T_ExplainStmt, T_ExtensibleNode, T_FetchStmt, T_FieldSelect, T_FieldStore, T_Float, T_ForeignKeyCacheInfo, T_ForeignScan, T_FromExpr, T_FuncCall, T_FuncExpr, T_FunctionParameter, T_FunctionScan, T_Gather, T_GatherMerge, T_GrantRoleStmt, T_GrantStmt, T_Group, T_GroupingFunc, T_GroupingSet, T_Hash, T_HashJoin, T_ImportForeignSchemaStmt, T_IncrementalSort, T_IndexElem, T_IndexOnlyScan, T_IndexScan, T_IndexStmt, T_InferClause, T_InferenceElem, T_InsertStmt, T_Integer, T_IntList, T_IntoClause, T_Join, T_JoinExpr, T_JsonAggConstructor, T_JsonArgument, T_JsonArrayAgg, T_JsonArrayConstructor, T_JsonArrayQueryConstructor, T_JsonBehavior, T_JsonCoercion, T_JsonCommon, T_JsonConstructorExpr, T_JsonExpr, T_JsonFormat, T_JsonFuncExpr, T_JsonIsPredicate, T_JsonItemCoercions, T_JsonKeyValue, T_JsonObjectAgg, T_JsonObjectConstructor, T_JsonOutput, T_JsonParseExpr, T_JsonReturning, T_JsonScalarExpr, T_JsonSerializeExpr, T_JsonTable, T_JsonTableColumn, T_JsonTableParent, T_JsonTablePlan, T_JsonTableSibling, T_JsonValueExpr, T_Limit, T_List, T_ListenStmt, T_LoadStmt, T_LockingClause, T_LockRows, T_LockStmt, T_Material, T_Memoize, T_MergeAction, T_MergeAppend, T_MergeJoin, T_MergeStmt, T_MergeWhenClause, T_MinMaxExpr, T_ModifyTable, T_MultiAssignRef, T_NamedArgExpr, T_NamedTuplestoreScan, T_NestLoop, T_NestLoopParam, T_NextValueExpr, T_NotifyStmt, T_NullIfExpr, T_NullTest, T_ObjectWithArgs, T_OidList, T_OnConflictClause, T_OnConflictExpr, T_OpExpr, T_Param, T_ParamRef, T_PartitionBoundSpec, T_PartitionCmd, T_PartitionedRelPruneInfo, T_PartitionElem, T_PartitionPruneInfo, T_PartitionPruneStepCombine, T_PartitionPruneStepOp, T_PartitionRangeDatum, T_PartitionSpec, T_PathKey, T_PlaceHolderInfo, T_PlaceHolderVar, T_Plan, T_PlanInvalItem, T_PlannedStmt, T_PlanRowMark, T_PLAssignStmt, T_PrepareStmt, T_ProjectSet, T_PublicationObjSpec, T_PublicationTable, T_Query, T_RangeFunction, T_RangeSubselect, T_RangeTableFunc, T_RangeTableFuncCol, T_RangeTableSample, T_RangeTblEntry, T_RangeTblFunction, T_RangeTblRef, T_RangeVar, T_RawStmt, T_ReassignOwnedStmt, T_RecursiveUnion, T_RefreshMatViewStmt, T_ReindexStmt, T_RelabelType, T_RenameStmt, T_ReplicaIdentityStmt, T_ResTarget, T_RestrictInfo, T_Result, T_ReturnStmt, T_RoleSpec, T_RowCompareExpr, T_RowExpr, T_RowMarkClause, T_RuleStmt, T_SampleScan, T_ScalarArrayOpExpr, T_Scan, T_SecLabelStmt, T_SelectStmt, T_SeqScan, T_SetOp, T_SetOperationStmt, T_SetToDefault, T_Sort, T_SortBy, T_SortGroupClause, T_SpecialJoinInfo, T_SQLValueFunction, T_StatsElem, T_String, T_SubLink, T_SubPlan, T_SubqueryScan, T_SubscriptingRef, T_TableFunc, T_TableFuncScan, T_TableLikeClause, T_TableSampleClause, T_TargetEntry, T_TidRangeScan, T_TidScan, T_TransactionStmt, T_TriggerTransition, T_TruncateStmt, T_TypeCast, T_TypeName, T_Unique, T_UnlistenStmt, T_UpdateStmt, T_VacuumRelation, T_VacuumStmt, T_ValuesScan, T_Var, T_VariableSetStmt, T_VariableShowStmt, T_ViewStmt, T_WindowAgg, T_WindowClause, T_WindowDef, T_WindowFunc, T_WithCheckOption, T_WithClause, T_WorkTableScan, T_XmlExpr, and T_XmlSerialize.

Referenced by list_copy_deep().

◆ equal()

bool equal ( const void *  a,
const void *  b 
)

Definition at line 3564 of file equalfuncs.c.

3565 {
3566  bool retval;
3567 
3568  if (a == b)
3569  return true;
3570 
3571  /*
3572  * note that a!=b, so only one of them can be NULL
3573  */
3574  if (a == NULL || b == NULL)
3575  return false;
3576 
3577  /*
3578  * are they the same type of nodes?
3579  */
3580  if (nodeTag(a) != nodeTag(b))
3581  return false;
3582 
3583  /* Guard against stack overflow due to overly complex expressions */
3585 
3586  switch (nodeTag(a))
3587  {
3588  /*
3589  * PRIMITIVE NODES
3590  */
3591  case T_Alias:
3592  retval = _equalAlias(a, b);
3593  break;
3594  case T_RangeVar:
3595  retval = _equalRangeVar(a, b);
3596  break;
3597  case T_TableFunc:
3598  retval = _equalTableFunc(a, b);
3599  break;
3600  case T_IntoClause:
3601  retval = _equalIntoClause(a, b);
3602  break;
3603  case T_Var:
3604  retval = _equalVar(a, b);
3605  break;
3606  case T_Const:
3607  retval = _equalConst(a, b);
3608  break;
3609  case T_Param:
3610  retval = _equalParam(a, b);
3611  break;
3612  case T_Aggref:
3613  retval = _equalAggref(a, b);
3614  break;
3615  case T_GroupingFunc:
3616  retval = _equalGroupingFunc(a, b);
3617  break;
3618  case T_WindowFunc:
3619  retval = _equalWindowFunc(a, b);
3620  break;
3621  case T_SubscriptingRef:
3622  retval = _equalSubscriptingRef(a, b);
3623  break;
3624  case T_FuncExpr:
3625  retval = _equalFuncExpr(a, b);
3626  break;
3627  case T_NamedArgExpr:
3628  retval = _equalNamedArgExpr(a, b);
3629  break;
3630  case T_OpExpr:
3631  retval = _equalOpExpr(a, b);
3632  break;
3633  case T_DistinctExpr:
3634  retval = _equalDistinctExpr(a, b);
3635  break;
3636  case T_NullIfExpr:
3637  retval = _equalNullIfExpr(a, b);
3638  break;
3639  case T_ScalarArrayOpExpr:
3640  retval = _equalScalarArrayOpExpr(a, b);
3641  break;
3642  case T_BoolExpr:
3643  retval = _equalBoolExpr(a, b);
3644  break;
3645  case T_SubLink:
3646  retval = _equalSubLink(a, b);
3647  break;
3648  case T_SubPlan:
3649  retval = _equalSubPlan(a, b);
3650  break;
3651  case T_AlternativeSubPlan:
3652  retval = _equalAlternativeSubPlan(a, b);
3653  break;
3654  case T_FieldSelect:
3655  retval = _equalFieldSelect(a, b);
3656  break;
3657  case T_FieldStore:
3658  retval = _equalFieldStore(a, b);
3659  break;
3660  case T_RelabelType:
3661  retval = _equalRelabelType(a, b);
3662  break;
3663  case T_CoerceViaIO:
3664  retval = _equalCoerceViaIO(a, b);
3665  break;
3666  case T_ArrayCoerceExpr:
3667  retval = _equalArrayCoerceExpr(a, b);
3668  break;
3669  case T_ConvertRowtypeExpr:
3670  retval = _equalConvertRowtypeExpr(a, b);
3671  break;
3672  case T_CollateExpr:
3673  retval = _equalCollateExpr(a, b);
3674  break;
3675  case T_CaseExpr:
3676  retval = _equalCaseExpr(a, b);
3677  break;
3678  case T_CaseWhen:
3679  retval = _equalCaseWhen(a, b);
3680  break;
3681  case T_CaseTestExpr:
3682  retval = _equalCaseTestExpr(a, b);
3683  break;
3684  case T_ArrayExpr:
3685  retval = _equalArrayExpr(a, b);
3686  break;
3687  case T_RowExpr:
3688  retval = _equalRowExpr(a, b);
3689  break;
3690  case T_RowCompareExpr:
3691  retval = _equalRowCompareExpr(a, b);
3692  break;
3693  case T_CoalesceExpr:
3694  retval = _equalCoalesceExpr(a, b);
3695  break;
3696  case T_MinMaxExpr:
3697  retval = _equalMinMaxExpr(a, b);
3698  break;
3699  case T_SQLValueFunction:
3700  retval = _equalSQLValueFunction(a, b);
3701  break;
3702  case T_XmlExpr:
3703  retval = _equalXmlExpr(a, b);
3704  break;
3705  case T_NullTest:
3706  retval = _equalNullTest(a, b);
3707  break;
3708  case T_BooleanTest:
3709  retval = _equalBooleanTest(a, b);
3710  break;
3711  case T_CoerceToDomain:
3712  retval = _equalCoerceToDomain(a, b);
3713  break;
3714  case T_CoerceToDomainValue:
3715  retval = _equalCoerceToDomainValue(a, b);
3716  break;
3717  case T_SetToDefault:
3718  retval = _equalSetToDefault(a, b);
3719  break;
3720  case T_CurrentOfExpr:
3721  retval = _equalCurrentOfExpr(a, b);
3722  break;
3723  case T_NextValueExpr:
3724  retval = _equalNextValueExpr(a, b);
3725  break;
3726  case T_InferenceElem:
3727  retval = _equalInferenceElem(a, b);
3728  break;
3729  case T_TargetEntry:
3730  retval = _equalTargetEntry(a, b);
3731  break;
3732  case T_RangeTblRef:
3733  retval = _equalRangeTblRef(a, b);
3734  break;
3735  case T_FromExpr:
3736  retval = _equalFromExpr(a, b);
3737  break;
3738  case T_OnConflictExpr:
3739  retval = _equalOnConflictExpr(a, b);
3740  break;
3741  case T_JoinExpr:
3742  retval = _equalJoinExpr(a, b);
3743  break;
3744  case T_JsonFormat:
3745  retval = _equalJsonFormat(a, b);
3746  break;
3747  case T_JsonReturning:
3748  retval = _equalJsonReturning(a, b);
3749  break;
3750  case T_JsonValueExpr:
3751  retval = _equalJsonValueExpr(a, b);
3752  break;
3753  case T_JsonParseExpr:
3754  retval = _equalJsonParseExpr(a, b);
3755  break;
3756  case T_JsonScalarExpr:
3757  retval = _equalJsonScalarExpr(a, b);
3758  break;
3759  case T_JsonSerializeExpr:
3760  retval = _equalJsonSerializeExpr(a, b);
3761  break;
3762  case T_JsonConstructorExpr:
3763  retval = _equalJsonConstructorExpr(a, b);
3764  break;
3765  case T_JsonIsPredicate:
3766  retval = _equalJsonIsPredicate(a, b);
3767  break;
3768  case T_JsonBehavior:
3769  retval = _equalJsonBehavior(a, b);
3770  break;
3771  case T_JsonExpr:
3772  retval = _equalJsonExpr(a, b);
3773  break;
3774  case T_JsonCoercion:
3775  retval = _equalJsonCoercion(a, b);
3776  break;
3777  case T_JsonItemCoercions:
3778  retval = _equalJsonItemCoercions(a, b);
3779  break;
3780  case T_JsonTableParent:
3781  retval = _equalJsonTableParent(a, b);
3782  break;
3783  case T_JsonTableSibling:
3784  retval = _equalJsonTableSibling(a, b);
3785  break;
3786 
3787  /*
3788  * RELATION NODES
3789  */
3790  case T_PathKey:
3791  retval = _equalPathKey(a, b);
3792  break;
3793  case T_RestrictInfo:
3794  retval = _equalRestrictInfo(a, b);
3795  break;
3796  case T_PlaceHolderVar:
3797  retval = _equalPlaceHolderVar(a, b);
3798  break;
3799  case T_SpecialJoinInfo:
3800  retval = _equalSpecialJoinInfo(a, b);
3801  break;
3802  case T_AppendRelInfo:
3803  retval = _equalAppendRelInfo(a, b);
3804  break;
3805  case T_PlaceHolderInfo:
3806  retval = _equalPlaceHolderInfo(a, b);
3807  break;
3808 
3809  case T_List:
3810  case T_IntList:
3811  case T_OidList:
3812  retval = _equalList(a, b);
3813  break;
3814 
3815  case T_Integer:
3816  retval = _equalInteger(a, b);
3817  break;
3818  case T_Float:
3819  retval = _equalFloat(a, b);
3820  break;
3821  case T_Boolean:
3822  retval = _equalBoolean(a, b);
3823  break;
3824  case T_String:
3825  retval = _equalString(a, b);
3826  break;
3827  case T_BitString:
3828  retval = _equalBitString(a, b);
3829  break;
3830 
3831  /*
3832  * EXTENSIBLE NODES
3833  */
3834  case T_ExtensibleNode:
3835  retval = _equalExtensibleNode(a, b);
3836  break;
3837 
3838  /*
3839  * PARSE NODES
3840  */
3841  case T_Query:
3842  retval = _equalQuery(a, b);
3843  break;
3844  case T_RawStmt:
3845  retval = _equalRawStmt(a, b);
3846  break;
3847  case T_InsertStmt:
3848  retval = _equalInsertStmt(a, b);
3849  break;
3850  case T_DeleteStmt:
3851  retval = _equalDeleteStmt(a, b);
3852  break;
3853  case T_UpdateStmt:
3854  retval = _equalUpdateStmt(a, b);
3855  break;
3856  case T_MergeStmt:
3857  retval = _equalMergeStmt(a, b);
3858  break;
3859  case T_SelectStmt:
3860  retval = _equalSelectStmt(a, b);
3861  break;
3862  case T_SetOperationStmt:
3863  retval = _equalSetOperationStmt(a, b);
3864  break;
3865  case T_ReturnStmt:
3866  retval = _equalReturnStmt(a, b);
3867  break;
3868  case T_PLAssignStmt:
3869  retval = _equalPLAssignStmt(a, b);
3870  break;
3871  case T_AlterTableStmt:
3872  retval = _equalAlterTableStmt(a, b);
3873  break;
3874  case T_AlterTableCmd:
3875  retval = _equalAlterTableCmd(a, b);
3876  break;
3877  case T_AlterCollationStmt:
3878  retval = _equalAlterCollationStmt(a, b);
3879  break;
3880  case T_AlterDomainStmt:
3881  retval = _equalAlterDomainStmt(a, b);
3882  break;
3883  case T_GrantStmt:
3884  retval = _equalGrantStmt(a, b);
3885  break;
3886  case T_GrantRoleStmt:
3887  retval = _equalGrantRoleStmt(a, b);
3888  break;
3891  break;
3892  case T_DeclareCursorStmt:
3893  retval = _equalDeclareCursorStmt(a, b);
3894  break;
3895  case T_ClosePortalStmt:
3896  retval = _equalClosePortalStmt(a, b);
3897  break;
3898  case T_CallStmt:
3899  retval = _equalCallStmt(a, b);
3900  break;
3901  case T_ClusterStmt:
3902  retval = _equalClusterStmt(a, b);
3903  break;
3904  case T_CopyStmt:
3905  retval = _equalCopyStmt(a, b);
3906  break;
3