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 serializefn to output */
 
#define AGGSPLITOP_DESERIALIZE   0x08 /* apply deserializefn 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 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
 

Enumerations

enum  NodeTag {
  T_Invalid = 0, T_IndexInfo, T_ExprContext, T_ProjectionInfo,
  T_JunkFilter, T_OnConflictSetState, 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_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_Sort, 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_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_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_SortState, 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_Expr,
  T_Var, T_Const, T_Param, T_Aggref,
  T_GroupingFunc, T_WindowFunc, T_ArrayRef, 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_PartitionPruneStep, T_PartitionPruneStepOp, T_PartitionPruneStepCombine, T_PartitionPruneInfo,
  T_ExprState, T_AggrefExprState, T_WindowFuncExprState, T_SetExprState,
  T_SubPlanState, T_AlternativeSubPlanState, 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_SubqueryScanPath,
  T_ForeignPath, T_CustomPath, T_NestPath, T_MergePath,
  T_HashPath, T_AppendPath, T_MergeAppendPath, T_ResultPath,
  T_MaterialPath, T_UniquePath, T_GatherPath, T_GatherMergePath,
  T_ProjectionPath, T_ProjectSetPath, T_SortPath, 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_PathTarget, T_RestrictInfo, T_PlaceHolderVar,
  T_SpecialJoinInfo, T_AppendRelInfo, T_PlaceHolderInfo, T_MinMaxAggInfo,
  T_PlannerParamItem, T_RollupData, T_GroupingSetData, T_StatisticExtInfo,
  T_MemoryContext, T_AllocSetContext, T_SlabContext, T_GenerationContext,
  T_Value, T_Integer, T_Float, T_String,
  T_BitString, T_Null, T_List, T_IntList,
  T_OidList, T_ExtensibleNode, T_RawStmt, T_Query,
  T_PlannedStmt, T_InsertStmt, T_DeleteStmt, T_UpdateStmt,
  T_SelectStmt, 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_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_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_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_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_CommonTableExpr,
  T_RoleSpec, T_TriggerTransition, T_PartitionElem, T_PartitionSpec,
  T_PartitionBoundSpec, T_PartitionRangeDatum, T_PartitionCmd, T_VacuumRelation,
  T_IdentifySystemCmd, T_BaseBackupCmd, T_CreateReplicationSlotCmd, T_DropReplicationSlotCmd,
  T_StartReplicationCmd, T_TimeLineHistoryCmd, T_SQLCmd, T_TriggerData,
  T_EventTriggerData, T_ReturnSetInfo, T_WindowObjectData, T_TIDBitmap,
  T_InlineCodeBlock, T_FdwRoutine, T_IndexAmRoutine, T_TsmRoutine,
  T_ForeignKeyCacheInfo, T_CallContext
}
 
enum  CmdType {
  CMD_UNKNOWN, CMD_SELECT, CMD_UPDATE, CMD_INSERT,
  CMD_DELETE, 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 }
 

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 (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 759 of file nodes.h.

◆ AGGSPLITOP_DESERIALIZE

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

Definition at line 762 of file nodes.h.

◆ AGGSPLITOP_SERIALIZE

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

Definition at line 761 of file nodes.h.

◆ AGGSPLITOP_SKIPFINAL

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

Definition at line 760 of file nodes.h.

◆ castNode

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

Definition at line 586 of file nodes.h.

Referenced by adjust_view_column_set(), ATExecAddIdentity(), ATExecAlterConstraint(), ATExecSetIdentity(), ATExecSetOptions(), ATPostAlterTypeParse(), ATRewriteCatalogs(), check_new_partition_bound(), check_object_ownership(), check_sql_fn_statements(), ComputePartitionAttrs(), conversion_error_callback(), create_bitmap_subplan(), create_customscan_plan(), create_scan_plan(), CreateFunction(), does_not_exist_skipping(), eval_const_expressions_mutator(), exec_save_simple_expr(), exec_stmt_call(), ExecAgg(), ExecAlterObjectSchemaStmt(), ExecAlterOwnerStmt(), ExecAppend(), ExecBitmapHeapScan(), ExecCreateTableAs(), ExecCteScan(), ExecCustomScan(), ExecForeignScan(), ExecFunctionScan(), ExecGather(), ExecGatherMerge(), ExecGroup(), ExecHashJoinImpl(), ExecIndexOnlyScan(), ExecIndexScan(), ExecInitAgg(), ExecInitCteScan(), ExecInitCustomScan(), ExecInitPartitionInfo(), ExecInitSubPlan(), ExecLimit(), ExecLockRows(), ExecMaterial(), ExecMergeAppend(), ExecMergeJoin(), ExecModifyTable(), ExecNamedTuplestoreScan(), ExecNestLoop(), ExecProjectSet(), ExecRecursiveUnion(), ExecResult(), ExecSampleScan(), ExecSeqScan(), ExecSetOp(), ExecSort(), ExecSubqueryScan(), ExecSupportsMarkRestore(), ExecTableFuncScan(), ExecTidScan(), ExecUnique(), ExecValuesScan(), ExecWindowAgg(), ExecWorkTableScan(), ExplainNode(), ExplainOneUtility(), ExplainQuery(), extract_or_clause(), fetch_function_defaults(), flatten_simple_union_all(), func_get_detail(), gather_merge_init(), gather_merge_setup(), generate_bitmap_or_paths(), generate_partition_qual(), generateSerialExtraStmts(), get_altertable_subcmdtypes(), get_object_address(), get_qual_for_list(), get_qual_for_range(), get_range_key_properties(), get_range_partbound_string(), get_rule_expr(), interval_transform(), is_converted_whole_row_reference(), is_simple_union_all(), JumbleExpr(), make_one_range_bound(), make_row_comparison_op(), make_subplan(), match_clause_to_partition_key(), match_expr_to_partition_keys(), numeric_transform(), PerformCursorOpen(), pg_get_function_arg_default(), plan_set_operations(), plperl_func_handler(), plpgsql_call_handler(), plpgsql_inline_handler(), plpython_call_handler(), pltcl_func_handler(), postgresBeginForeignInsert(), print_function_arguments(), ProcedureCreate(), ProcessCopyOptions(), query_is_distinct_for(), rel_is_distinct_for(), RelationBuildPartitionDesc(), RemoveObjects(), RenameConstraint(), RenameType(), RewriteQuery(), ScanQueryForLocks(), ScanQueryWalker(), setRuleCheckAsUser_Query(), ShutdownSetExpr(), SlabAlloc(), SlabFree(), SlabGetChunkSpace(), SlabIsEmpty(), SlabRealloc(), SlabReset(), SlabStats(), standard_ProcessUtility(), subquery_is_pushdown_safe(), TemporalTransform(), test_predtest(), transformAExprBetween(), transformAExprOp(), transformAlterTableStmt(), transformCallStmt(), transformFromClauseItem(), transformIndexConstraint(), transformMultiAssignRef(), transformPartitionBound(), transformPartitionSpec(), transformSetOperationStmt(), transformWindowDefinitions(), unique_key_recheck(), UtilityContainsQuery(), validateInfiniteBounds(), varbit_transform(), and varchar_transform().

◆ copyObject

#define copyObject (   obj)    copyObjectImpl(obj)

Definition at line 630 of file nodes.h.

Referenced by add_placeholders_to_base_rels(), add_security_quals(), add_to_flat_tlist(), add_vars_to_targetlist(), add_with_check_options(), AddQual(), addRangeTableEntryForCTE(), addRangeTableEntryForJoin(), addRangeTableEntryForSubquery(), addRangeTableEntryForTableFunc(), addRangeTableEntryForValues(), adjust_appendrel_attrs_mutator(), adjust_rowcompare_for_index(), adjustJoinTreeList(), AlterPolicy(), analyzeCTETargetList(), ApplyRetrieveRule(), assign_param_for_placeholdervar(), assign_param_for_var(), ATAddCheckConstraint(), ATExecAddColumn(), ATPrepAlterColumnType(), ATPrepCmd(), BeginCopy(), build_implied_join_equality(), build_minmax_path(), BuildCachedPlan(), CompleteCachedPlan(), compute_semijoin_info(), convert_combining_aggrefs(), convert_EXISTS_sublink_to_join(), convert_testexpr_mutator(), ConvertTriggerToFK(), CopyAndAddInvertedQual(), CopyCachedPlan(), create_ctas_internal(), create_scan_plan(), CreateCachedPlan(), CreatePolicy(), CreateTrigger(), DefineIndex(), DefineView(), eval_const_expressions_mutator(), EvaluateParams(), EventTriggerAlterTableStart(), EventTriggerCollectAlterDefPrivs(), EventTriggerCollectAlterOpFam(), EventTriggerCollectAlterTableSubcmd(), EventTriggerCollectAlterTSConfig(), EventTriggerCollectCreateOpClass(), EventTriggerCollectGrant(), EventTriggerCollectSimpleCommand(), ExecCreateTableAs(), ExecInitPartitionInfo(), ExecSerializePlan(), expand_single_inheritance_child(), ExpandIndirectionStar(), ExpandRowReference(), ExplainOneUtility(), ExplainQuery(), expression_tree_mutator(), extract_lateral_references(), FetchPreparedStatementTargetList(), find_placeholder_info(), fireRules(), fix_indexqual_operand(), fix_param_node(), fix_scan_expr_mutator(), fix_upper_expr_mutator(), flatten_join_alias_vars_mutator(), flatten_simple_union_all(), generate_partition_qual(), generate_setop_grouplist(), get_cast_hashentry(), get_eclass_for_sort_expr(), get_qual_for_hash(), get_qual_for_list(), get_range_key_properties(), get_range_nulltest(), grouping_planner(), index_register(), inheritance_planner(), inline_function(), inline_set_returning_function(), make_subplan(), PerformCursorOpen(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), postgresBeginForeignInsert(), prepare_sort_from_pathkeys(), PrepareQuery(), process_implied_equality(), process_subquery_nestloop_params(), pull_up_simple_subquery(), pull_up_simple_union_all(), pull_up_simple_values(), pullup_replace_vars_callback(), query_tree_mutator(), range_table_mutator(), RebuildConstraintComment(), refresh_matview_datafill(), RelationBuildPartitionKey(), RelationBuildRowSecurity(), RelationGetFKeyList(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), replace_domain_constraint_value(), replace_outer_agg(), replace_outer_grouping(), ReplaceVarsFromTargetList_callback(), RevalidateCachedQuery(), rewriteRuleAction(), rewriteTargetView(), set_baserel_partition_key_exprs(), set_plan_refs(), set_subquery_pathlist(), SPI_cursor_open_internal(), split_pathtarget_at_srfs(), SS_process_ctes(), subquery_planner(), substitute_actual_srf_parameters_mutator(), test_rls_hooks_permissive(), test_rls_hooks_restrictive(), transformAExprBetween(), transformAExprIn(), transformAlterTableStmt(), transformCreateStmt(), transformCreateTableAsStmt(), transformDistinctClause(), transformDistinctOnClause(), transformGroupClauseExpr(), transformIndexStmt(), transformJoinUsingClause(), transformPartitionBound(), transformPartitionSpec(), transformRuleStmt(), transformWindowDefinitions(), UpdateRangeTableOfViewParse(), and verify_dictoptions().

◆ DO_AGGSPLIT_COMBINE

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

◆ DO_AGGSPLIT_DESERIALIZE

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

Definition at line 779 of file nodes.h.

Referenced by ExecInitAgg(), and get_agg_clause_costs_walker().

◆ DO_AGGSPLIT_SERIALIZE

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

Definition at line 778 of file nodes.h.

Referenced by ExecInitAgg(), get_agg_clause_costs_walker(), and mark_partial_aggref().

◆ DO_AGGSPLIT_SKIPFINAL

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

◆ IS_OUTER_JOIN

◆ IsA

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

Definition at line 568 of file nodes.h.

Referenced by _int_matchsel(), _outList(), _SPI_execute_plan(), accumulate_append_subpath(), acquireLocksOnSubLinks(), AcquireRewriteLocks(), add_base_rels_to_query(), add_path(), add_placeholders_to_child_joinrel(), add_vars_to_targetlist(), AddQual(), addRangeTableEntryForCTE(), AddRelationNewConstraints(), adjust_appendrel_attrs(), adjust_appendrel_attrs_mutator(), adjust_inherited_tlist(), adjust_view_column_set(), adjustJoinTreeList(), AggCheckCallContext(), AggGetAggref(), AggGetTempMemoryContext(), AggRegisterCallback(), AggStateIsShared(), AlterDomainAddConstraint(), AlterDomainDefault(), AlterTableGetLockLevel(), analyzeCTE(), and_clause(), appendConditions(), apply_pathtarget_labeling_to_tlist(), apply_projection_to_path(), arraycontsel(), assign_param_for_placeholdervar(), assign_param_for_var(), assign_query_collations_walker(), ATColumnChangeRequiresRewrite(), ATExecAddConstraint(), ATExecAddIndex(), ATExecAddIndexConstraint(), ATExecSetStatistics(), ATExecSetStorage(), ATPostAlterTypeParse(), BeginCopy(), bernoulli_samplescangetsamplesize(), bitmap_subplan_mark_shared(), BitmapHeapNext(), brin_page_items(), btcostestimate(), build_index_paths(), build_joinrel_tlist(), build_physical_tlist(), build_remote_returning(), build_subplan(), build_tlist_index(), build_tlist_index_other_vars(), buildMergedJoinVar(), canonicalize_ec_expression(), canonicalize_qual(), ChangeVarNodes(), ChangeVarNodes_walker(), check_agg_arguments_walker(), check_agglevels_and_constraints(), check_constant_qual(), check_functional_grouping(), check_parameter_resolution_walker(), check_sql_fn_statements(), check_ungrouped_columns_walker(), checkExprHasSubLink_walker(), checkWellFormedRecursion(), checkWellFormedRecursionWalker(), ChooseExtendedStatisticNameAddition(), ChoosePortalStrategy(), chooseScalarFunctionAlias(), clause_is_strict_for(), clause_selectivity(), clauselist_selectivity(), coerce_record_to_complex(), coerce_to_target_type(), coerce_type(), CommandIsReadOnly(), CommuteRowCompareExpr(), compute_semijoin_info(), ComputeIndexAttrs(), ComputePartitionAttrs(), connectby_text(), connectby_text_serial(), contain_agg_clause_walker(), contain_aggs_of_level_walker(), contain_context_dependent_node_walker(), contain_mutable_functions_walker(), contain_non_const_walker(), contain_nonstrict_functions_walker(), contain_subplans_walker(), contain_var_clause_walker(), contain_vars_of_level_walker(), contain_volatile_functions_not_nextval_walker(), contain_volatile_functions_walker(), contain_windowfuncs_walker(), contains_multiexpr_param(), contains_target_param(), conversion_error_callback(), convert_combining_aggrefs(), convert_EXISTS_to_ANY(), convert_testexpr_mutator(), cost_bitmap_heap_scan(), cost_bitmap_or_node(), cost_bitmap_tree_node(), cost_index(), cost_qual_eval_walker(), cost_tidscan(), count_rowexpr_columns(), create_bitmap_subplan(), create_hashjoin_plan(), create_lateral_join_info(), create_nestloop_plan(), create_plan(), create_plan_recurse(), createdb(), CreateStatistics(), crosstab(), crosstab_hash(), currtid_for_view(), deconstruct_indexquals(), deconstruct_jointree(), deconstruct_recurse(), defGetStringList(), DefineDomain(), DefineView(), deflist_to_tuplestore(), deparseArrayRef(), deparseSortGroupClause(), dependency_is_compatible_clause(), determineRecursiveColTypes(), each_worker(), each_worker_jsonb(), elements_worker(), elements_worker_jsonb(), eqsel_internal(), errdetail_execute(), estimate_array_length(), estimate_multivariate_ndistinct(), eval_const_expressions_mutator(), evaluate_function(), EventTriggerCollectAlterTableSubcmd(), examine_simple_variable(), examine_variable(), exec_check_rw_parameter(), exec_init_tuple_store(), exec_replication_command(), exec_save_simple_expr(), exec_simple_check_plan(), exec_simple_query(), exec_stmt_call(), ExecBuildProjectionInfo(), ExecCheckPlanOutput(), ExecCreateTableAs(), execCurrentOf(), ExecDropSingleTupleTableSlot(), ExecIndexBuildScanKeys(), ExecInitCheck(), ExecInitExprRec(), ExecInitFunc(), ExecInitFunctionResultSet(), ExecInitMergeJoin(), ExecInitNode(), ExecInitProjectSet(), ExecInitQual(), ExecInitSubPlan(), ExecInitTableFunctionResult(), ExecNestLoop(), ExecProjectSRF(), ExecScanReScan(), ExecSetTupleBound(), ExecSetupPartitionPruneState(), ExecSupportsMarkRestore(), execute_sql_string(), expand_boolean_index_clause(), expand_function_arguments(), expand_indexqual_conditions(), expandRecordVariable(), ExpandRowReference(), ExplainNode(), ExplainOneUtility(), ExplainPrintPlan(), ExplainTargetRel(), exprCollation(), expression_returns_set_rows(), expression_returns_set_walker(), exprIsLengthCoercion(), exprIsNullConstant(), exprSetCollation(), exprType(), exprTypmod(), extract_lateral_references(), extract_not_arg(), extract_query_dependencies_walker(), extract_strong_not_arg(), fetch_more_data(), FetchStatementTargetList(), FigureColnameInternal(), final_cost_hashjoin(), final_cost_mergejoin(), finalize_agg_primnode(), finalize_grouping_exprs_walker(), finalize_primnode(), find_duplicate_ors(), find_ec_member_for_tle(), find_expr_references_walker(), find_forced_null_var(), find_forced_null_vars(), find_indexpath_quals(), find_jointree_node_for_rel(), find_minmax_aggs_walker(), find_nonnullable_rels_walker(), find_nonnullable_vars_walker(), find_param_referent(), find_placeholders_in_expr(), find_placeholders_in_jointree(), find_placeholders_recurse(), find_single_rel_for_clauses(), find_unaggregated_cols_walker(), find_window_functions_walker(), findTargetlistEntrySQL92(), fireRIRonSubLink(), fix_expr_common(), fix_indexorderby_references(), fix_indexqual_operand(), fix_indexqual_references(), fix_join_expr_mutator(), fix_opfuncids_walker(), fix_scan_expr_mutator(), fix_scan_expr_walker(), fix_upper_expr_mutator(), flatCopyTargetEntry(), flatten_grouping_sets(), flatten_join_alias_vars_mutator(), flatten_join_using_qual(), flatten_rtes_walker(), flatten_set_variable_args(), flatten_simple_union_all(), fmgr_security_definer(), fmgr_sql(), foreign_expr_walker(), foreign_grouping_ok(), func_get_detail(), gen_partprune_steps_internal(), generate_base_implied_equalities_const(), generate_join_implied_equalities_normal(), generate_partitionwise_join_paths(), generate_setop_tlist(), genericcostestimate(), get_agg_clause_costs_walker(), get_agg_combine_expr(), get_agg_expr(), get_assignment_input(), get_bitmap_tree_required_outer(), get_call_expr_arg_stable(), get_call_expr_argtype(), get_cast_hashentry(), get_coercion_expr(), get_expr_result_type(), get_fn_expr_variadic(), get_from_clause(), get_from_clause_item(), get_func_expr(), get_indexpath_pages(), get_last_attnums_walker(), get_name_for_var_field(), get_parameter(), get_qual_for_range(), get_relids_in_jointree(), get_rule_expr(), get_rule_expr_toplevel(), get_rule_sortgroupclause(), get_select_query_def(), get_setop_query(), get_special_variable(), get_sublink_expr(), get_target_list(), get_update_query_targetlist_def(), get_utility_query_def(), get_variable(), get_variable_numdistinct(), get_windowfunc_expr(), GetExistingLocalJoinPath(), GetFdwRoutine(), GetIndexAmRoutine(), getInsertSelectQuery(), GetTsmRoutine(), gincost_opexpr(), gincost_scalararrayopexpr(), gincostestimate(), has_dangerous_join_using(), has_indexed_join_quals(), hide_coercion_node(), identify_join_columns(), ImportForeignSchema(), IncrementVarSublevelsUp_walker(), infer_arbiter_indexes(), infer_collation_opclass_match(), init_execution_state(), init_MultiFuncCall(), init_returning_filter(), inline_function(), inline_set_returning_function(), internal_get_result_type(), interval_transform(), is_converted_whole_row_reference(), is_dummy_plan(), is_safe_append_member(), is_simple_subquery(), is_simple_union_all(), is_simple_union_all_recurse(), is_strict_saop(), isAssignmentIndirectionExpr(), isQueryUsingTempRelation_walker(), isSimpleNode(), IsTidEqualAnyClause(), IsTidEqualClause(), IsTransactionExitStmt(), IsTransactionStmtList(), jointree_contains_lateral_outer_refs(), JumbleQuery(), limit_needed(), locate_agg_of_level_walker(), locate_var_of_level_walker(), locate_windowfunc_walker(), LockViewRecurse_walker(), ltreeparentsel(), make_ands_implicit(), make_fn_arguments(), make_partial_grouping_target(), make_partition_op_expr(), make_rel_from_joinlist(), make_subplan(), makeDependencyGraphWalker(), map_variable_attnos_mutator(), markQueryForLocking(), markRTEForSelectPriv(), markTargetListOrigin(), markVarForSelectPriv(), match_boolean_index_clause(), match_boolean_partition_clause(), match_clause_to_indexcol(), match_clause_to_partition_key(), match_eclasses_to_foreign_key_col(), match_expr_to_partition_keys(), match_foreign_keys_to_quals(), match_index_to_operand(), match_special_index_operator(), max_parallel_hazard_walker(), MJExamineQuals(), MultiExecBitmapAnd(), MultiExecBitmapOr(), NameListToString(), networksel(), not_clause(), numeric_transform(), OffsetVarNodes(), OffsetVarNodes_walker(), operator_precedence_group(), operator_predicate_proof(), or_clause(), order_qual_clauses(), orderby_operands_eval_cost(), outNode(), parse_output_parameters(), parseCheckAggregates(), ParseComplexProjection(), ParseFuncOrColumn(), patternsel(), pg_available_extension_versions(), pg_available_extensions(), pg_cursor(), pg_decode_startup(), pg_event_trigger_ddl_commands(), pg_event_trigger_dropped_objects(), pg_extension_update_paths(), pg_get_partkeydef_worker(), pg_get_replication_slots(), pg_hba_file_rules(), pg_logical_slot_get_changes_guts(), pg_prepared_statement(), pg_show_replication_origin_status(), pg_stat_get_activity(), pg_stat_get_progress_info(), pg_stat_get_subscription(), pg_stat_get_wal_senders(), pg_stat_statements_internal(), pg_stop_backup_v2(), pgss_ProcessUtility(), plan_set_operations(), plan_union_children(), plperl_func_handler(), plpgsql_call_handler(), plpgsql_exec_function(), plpython_call_handler(), pltcl_func_handler(), PLy_exec_function(), populate_recordset_worker(), PortalRunMulti(), PortalRunUtility(), postgresPlanDirectModify(), predicate_classify(), predicate_implied_by_recurse(), predicate_implied_by_simple_clause(), predicate_refuted_by_recurse(), predicate_refuted_by_simple_clause(), preprocess_limit(), preprocess_minmax_aggregates(), preprocess_qual_conditions(), preprocess_targetlist(), prepTuplestoreResult(), print_expr(), process_implied_equality(), process_matched_tle(), process_sublinks_mutator(), process_subquery_nestloop_params(), ProcessCopyOptions(), processIndirection(), ProcessUtility(), ProcessUtilitySlow(), pull_partkey_params(), pull_up_sublinks(), pull_up_sublinks_jointree_recurse(), pull_up_sublinks_qual_recurse(), pull_up_subqueries(), pull_up_subqueries_cleanup(), pull_up_subqueries_recurse(), pull_up_union_leaf_queries(), pull_var_clause_walker(), pull_varattnos_walker(), pull_varnos_walker(), pull_vars_walker(), pullup_replace_vars_callback(), pullup_replace_vars_subquery(), qual_is_pushdown_safe(), query_contains_extern_params_walker(), query_or_expression_tree_mutator(), query_or_expression_tree_walker(), query_tree_mutator(), query_tree_walker(), rangesel(), rangeTableEntry_used_walker(), RangeVarCallbackForAlterRelation(), reconsider_full_join_clause(), recurse_push_qual(), recurse_pushdown_safe(), recurse_set_operations(), reduce_outer_joins_pass1(), reduce_outer_joins_pass2(), rel_is_distinct_for(), relabel_to_typmod(), relation_excluded_by_constraints(), remove_rel_from_joinlist(), remove_useless_groupby_columns(), reorder_function_arguments(), replace_correlation_vars_mutator(), replace_domain_constraint_value(), replace_nestloop_params_mutator(), replace_rte_variables(), replace_rte_variables_mutator(), replace_vars_in_jointree(), resolve_column_ref(), resolve_special_varno(), restriction_is_constant_false(), RewriteQuery(), rewriteTargetListIU(), rewriteTargetView(), rewriteValuesRTE(), scalararraysel(), scalararraysel_containment(), scalarineqsel_wrapper(), ScanQueryWalker(), search_indexed_tlist_for_non_var(), searchForDefault(), select_mergejoin_clauses(), set_append_rel_size(), set_cheapest(), set_deparse_planstate(), set_dummy_tlist_references(), set_function_pathlist(), set_join_references(), set_param_references(), set_pathtarget_cost_width(), set_rel_width(), set_subquery_size_estimates(), set_using_names(), setRuleCheckAsUser_walker(), show_all_file_settings(), show_plan_tlist(), show_scan_qual(), simplify_and_arguments(), simplify_boolean_equality(), simplify_EXISTS_query(), simplify_or_arguments(), split_pathtarget_walker(), sql_fn_post_column_ref(), strip_array_coercion(), strip_implicit_coercions(), substitute_actual_parameters_mutator(), substitute_actual_srf_parameters_mutator(), substitute_multiple_relids_walker(), system_rows_samplescangetsamplesize(), system_samplescangetsamplesize(), system_time_samplescangetsamplesize(), TemporalTransform(), testexpr_is_hashable(), TidExprListCreate(), TidQualFromExpr(), tlist_matches_tupdesc(), tlist_member_ignore_relabel(), tlist_member_match_var(), transformAExprDistinct(), transformAExprIn(), transformAExprOp(), transformAlterTableStmt(), transformArrayExpr(), transformAssignedExpr(), transformAssignmentIndirection(), transformColumnRef(), transformConstraintAttrs(), transformCreateStmt(), transformCurrentOfExpr(), transformDeclareCursorStmt(), transformExpressionList(), transformFromClauseItem(), transformGroupClause(), transformGroupingSet(), transformIndirection(), transformInsertRow(), transformInsertStmt(), transformMultiAssignRef(), transformOptionalSelectInto(), transformPartitionBoundValue(), transformRangeFunction(), transformRangeSubselect(), transformRangeTableFunc(), transformSetOperationStmt(), transformSetOperationTree(), transformSubLink(), transformTargetEntry(), transformTargetList(), transformTypeCast(), transformWithClause(), transformXmlExpr(), translate_sub_tlist(), trivial_subqueryscan(), tsmatchsel(), typenameTypeMod(), typeStringToTypeName(), unknown_attribute(), use_physical_tlist(), varbit_transform(), varchar_transform(), view_col_is_auto_updatable(), view_query_is_auto_updatable(), xml_is_well_formed_content(), and xpath_table().

◆ makeNode

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

Definition at line 565 of file nodes.h.

Referenced by _copyA_ArrayExpr(), _copyA_Indirection(), _copyAccessPriv(), _copyAConst(), _copyAExpr(), _copyAgg(), _copyAggref(), _copyAIndices(), _copyAlias(), _copyAlterCollationStmt(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectDependsStmt(), _copyAlterObjectSchemaStmt(), _copyAlterOperatorStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterPolicyStmt(), _copyAlterPublicationStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterSubscriptionStmt(), _copyAlterSystemStmt(), _copyAlterTableCmd(), _copyAlterTableMoveAllStmt(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyAStar(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _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(), _copyCteScan(), _copyCurrentOfExpr(), _copyCustomScan(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropSubscriptionStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignKeyCacheInfo(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyGather(), _copyGatherMerge(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyGroupingFunc(), _copyGroupingSet(), _copyHash(), _copyHashJoin(), _copyImportForeignSchemaStmt(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInferClause(), _copyInferenceElem(), _copyInsertStmt(), _copyIntoClause(), _copyJoin(), _copyJoinExpr(), _copyLimit(), _copyList(), _copyListenStmt(), _copyLoadStmt(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMaterial(), _copyMergeAppend(), _copyMergeJoin(), _copyMinMaxExpr(), _copyModifyTable(), _copyMultiAssignRef(), _copyNamedArgExpr(), _copyNamedTuplestoreScan(), _copyNestLoop(), _copyNestLoopParam(), _copyNextValueExpr(), _copyNotifyStmt(), _copyNullIfExpr(), _copyNullTest(), _copyObjectWithArgs(), _copyOnConflictClause(), _copyOnConflictExpr(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPartitionBoundSpec(), _copyPartitionCmd(), _copyPartitionElem(), _copyPartitionPruneInfo(), _copyPartitionPruneStepCombine(), _copyPartitionPruneStepOp(), _copyPartitionRangeDatum(), _copyPartitionSpec(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlan(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyPrepareStmt(), _copyProjectSet(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTableFunc(), _copyRangeTableFuncCol(), _copyRangeTableSample(), _copyRangeTblEntry(), _copyRangeTblFunction(), _copyRangeTblRef(), _copyRangeVar(), _copyRawStmt(), _copyReassignOwnedStmt(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyReplicaIdentityStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyRoleSpec(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copySampleScan(), _copyScalarArrayOpExpr(), _copyScan(), _copySecLabelStmt(), _copySelectStmt(), _copySeqScan(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySQLValueFunction(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copyTableFunc(), _copyTableFuncScan(), _copyTableLikeClause(), _copyTableSampleClause(), _copyTargetEntry(), _copyTidScan(), _copyTransactionStmt(), _copyTriggerTransition(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUnique(), _copyUnlistenStmt(), _copyUpdateStmt(), _copyVacuumRelation(), _copyVacuumStmt(), _copyValue(), _copyValuesScan(), _copyVar(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithCheckOption(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), add_eq_member(), add_with_check_options(), AddInvertedQual(), addRangeTableEntry(), addRangeTableEntryForCTE(), addRangeTableEntryForENR(), addRangeTableEntryForFunction(), addRangeTableEntryForJoin(), addRangeTableEntryForRelation(), addRangeTableEntryForSubquery(), addRangeTableEntryForTableFunc(), addRangeTableEntryForValues(), addRTEtoQuery(), addTargetToGroupList(), addTargetToSortList(), adjust_appendrel_attrs_mutator(), adjust_rowcompare_for_index(), AlterTableMoveAll(), applyLockingClause(), assign_nestloop_param_placeholdervar(), assign_nestloop_param_var(), assign_param_for_placeholdervar(), assign_param_for_var(), ATExecAddColumn(), ATPostAlterTypeParse(), ATPrepAddOids(), ATPrepCmd(), blhandler(), brinhandler(), bthandler(), build_child_join_rel(), build_child_join_sjinfo(), build_coercion_expression(), build_column_default(), build_empty_join_rel(), build_join_rel(), build_minmax_path(), build_simple_rel(), build_subplan(), BuildIndexInfo(), buildMergedJoinVar(), CatalogOpenIndexes(), CheckIndexCompatible(), checkInsertTargets(), CloneForeignKeyConstraints(), CloneRowTriggersToPartition(), coerce_record_to_complex(), coerce_to_domain(), coerce_to_target_type(), coerce_type(), consider_groupingsets_paths(), convert_ANY_sublink_to_join(), convert_combining_aggrefs(), convert_EXISTS_sublink_to_join(), ConvertTriggerToFK(), copy_pathtarget(), CopyFrom(), copyObjectImpl(), create_agg_path(), create_append_path(), create_bitmap_and_path(), create_bitmap_heap_path(), create_bitmap_or_path(), create_ctas_internal(), create_ctescan_path(), create_empty_pathtarget(), create_estate_for_relation(), create_foreignscan_path(), create_functionscan_path(), create_gather_merge_path(), create_gather_merge_plan(), create_gather_path(), create_group_path(), create_groupingsets_path(), create_hashjoin_path(), create_index_path(), create_limit_path(), create_lockrows_path(), create_material_path(), create_merge_append_path(), create_merge_append_plan(), create_mergejoin_path(), create_minmaxagg_path(), create_modifytable_path(), create_namedtuplestorescan_path(), create_nestloop_path(), create_projection_path(), create_recursiveunion_path(), create_result_path(), create_samplescan_path(), create_seqscan_path(), create_set_projection_path(), create_setop_path(), create_sort_path(), create_subqueryscan_path(), create_tablefuncscan_path(), create_tidscan_path(), create_toast_table(), create_unique_path(), create_unique_plan(), create_upper_unique_path(), create_valuesscan_path(), create_windowagg_path(), create_worktablescan_path(), CreateExecutorState(), CreateExprContext(), CreateExtensionInternal(), CreateFKCheckTrigger(), createForeignKeyActionTriggers(), CreateSchemaCommand(), CreateStandaloneExprContext(), DefineCompositeType(), DefineIndex(), DefineSequence(), DefineView(), DefineVirtualRelation(), deparse_context_for(), DoCopy(), domainAddConstraint(), eval_const_expressions_mutator(), evaluate_function(), ExecBuildAggTrans(), ExecBuildGroupingEqual(), ExecBuildProjectionInfo(), ExecGetTriggerResultRel(), ExecInitAgg(), ExecInitAlternativeSubPlan(), ExecInitAppend(), ExecInitBitmapAnd(), ExecInitBitmapHeapScan(), ExecInitBitmapIndexScan(), ExecInitBitmapOr(), ExecInitCteScan(), ExecInitExpr(), ExecInitExprRec(), ExecInitExprWithParams(), ExecInitForeignScan(), ExecInitFunctionResultSet(), ExecInitFunctionScan(), ExecInitGather(), ExecInitGatherMerge(), ExecInitGroup(), ExecInitHash(), ExecInitHashJoin(), ExecInitIndexOnlyScan(), ExecInitIndexScan(), ExecInitJunkFilter(), ExecInitJunkFilterConversion(), ExecInitLimit(), ExecInitLockRows(), ExecInitMaterial(), ExecInitMergeAppend(), ExecInitMergeJoin(), ExecInitModifyTable(), ExecInitNamedTuplestoreScan(), ExecInitNestLoop(), ExecInitPartitionInfo(), ExecInitProjectSet(), ExecInitQual(), ExecInitRecursiveUnion(), ExecInitResult(), ExecInitSampleScan(), ExecInitSeqScan(), ExecInitSetOp(), ExecInitSort(), ExecInitSubPlan(), ExecInitSubqueryScan(), ExecInitTableFuncScan(), ExecInitTableFunctionResult(), ExecInitTidScan(), ExecInitUnique(), ExecInitValuesScan(), ExecInitWindowAgg(), ExecInitWorkTableScan(), ExecSerializePlan(), ExecuteCallStmt(), ExecuteDoStmt(), expand_single_inheritance_child(), ExpandRowReference(), fetch_upper_rel(), file_fdw_handler(), find_minmax_aggs_walker(), find_placeholder_info(), fixed_paramref_hook(), flatCopyTargetEntry(), flatten_join_alias_vars_mutator(), flatten_simple_union_all(), gen_prune_step_combine(), gen_prune_step_op(), generate_new_param(), generateClonedExtStatsStmt(), generateClonedIndexStmt(), generateSerialExtraStmts(), get_appendrel_parampathinfo(), get_baserel_parampathinfo(), get_cast_hashentry(), get_eclass_for_sort_expr(), get_joinrel_parampathinfo(), get_qual_for_list(), get_range_nulltest(), get_relation_constraints(), get_relation_foreign_keys(), get_relation_info(), get_relation_statistics(), get_switched_clauses(), GetExistingLocalJoinPath(), ginhandler(), gisthandler(), hashhandler(), ImportForeignSchema(), index_check_primary_key(), index_constraint_create(), inheritance_planner(), init_execution_state(), inline_function(), intorel_startup(), load_domaintype_info(), make_agg(), make_agg_arg(), make_andclause(), make_append(), make_bitmap_and(), make_bitmap_heapscan(), make_bitmap_indexscan(), make_bitmap_or(), make_canonical_pathkey(), make_ctescan(), make_datum_param(), make_foreignscan(), make_functionscan(), make_gather(), make_group(), make_hash(), make_hashjoin(), make_indexonlyscan(), make_indexscan(), make_limit(), make_lockrows(), make_material(), make_mergejoin(), make_modifytable(), make_namedtuplestorescan(), make_nestloop(), make_notclause(), make_nulltest_from_distinct(), make_op(), make_opclause(), make_orclause(), make_outerjoininfo(), make_partial_grouping_target(), make_partition_op_expr(), make_partition_pruneinfo(), make_pathtarget_from_tlist(), make_placeholder_expr(), make_project_set(), make_recursive_union(), make_restrictinfo_internal(), make_result(), make_row_comparison_op(), make_samplescan(), make_scalar_array_op(), make_seqscan(), make_setop(), make_sort(), make_subplan(), make_subqueryscan(), make_tablefuncscan(), make_tidscan(), make_unique_from_pathkeys(), make_unique_from_sortclauses(), make_valuesscan(), make_windowagg(), make_worktablescan(), makeA_Expr(), makeAlias(), makeBitString(), makeBoolExpr(), makeColumnDef(), makeConst(), makeDefElem(), makeDefElemExtended(), makeFloat(), makeFromExpr(), makeFuncCall(), makeFuncExpr(), makeGroupingSet(), makeInteger(), makeRangeVar(), makeRelabelType(), makeSimpleA_Expr(), makeString(), makeTargetEntry(), makeTypeNameFromNameList(), makeTypeNameFromOid(), makeVacuumRelation(), makeVar(), map_variable_attnos_mutator(), match_clause_to_ordering_op(), MergeAttributes(), negate_clause(), parseCheckAggregates(), ParseComplexProjection(), ParseFuncOrColumn(), PartConstraintImpliedByRelConstraint(), pg_get_object_address(), pg_get_triggerdef_worker(), pg_plan_queries(), plan_cluster_use_sort(), plan_create_index_workers(), postgres_fdw_handler(), prep_domain_constraints(), PrepareQuery(), preprocess_grouping_sets(), preprocess_rowmarks(), process_equivalence(), process_matched_tle(), process_subquery_nestloop_params(), ProcessUtilitySlow(), pull_up_simple_subquery(), pull_up_union_leaf_queries(), pullup_replace_vars_callback(), RebuildConstraintComment(), record_plan_function_dependency(), RelationGetFKeyList(), reorder_grouping_sets(), reparameterize_path(), reparameterize_path_by_child(), replace_nestloop_params_mutator(), replace_outer_agg(), replace_outer_grouping(), replace_outer_placeholdervar(), replace_outer_var(), ReplaceVarsFromTargetList_callback(), resolve_unique_index_expr(), rewriteTargetView(), RI_Initial_Check(), scalararraysel(), spghandler(), sql_fn_make_param(), SS_make_initplan_from_plan(), SS_process_ctes(), standard_planner(), subquery_planner(), tbm_create(), test_rls_hooks_permissive(), test_rls_hooks_restrictive(), transformAExprIn(), transformAExprOp(), transformAlterTableStmt(), transformArrayExpr(), transformArraySubscripts(), transformAssignmentIndirection(), transformCallStmt(), transformCaseExpr(), transformCoalesceExpr(), transformCollateClause(), transformColumnDefinition(), transformCreateTableAsStmt(), transformCurrentOfExpr(), transformDeclareCursorStmt(), transformDeleteStmt(), transformExplainStmt(), transformFKConstraints(), transformFromClauseItem(), transformGroupingFunc(), transformIndexConstraint(), transformInsertStmt(), transformLockingClause(), transformMinMaxExpr(), transformMultiAssignRef(), transformOfType(), transformOnConflictClause(), transformOptionalSelectInto(), transformPartitionSpec(), transformRangeTableFunc(), transformRangeTableSample(), transformRowExpr(), transformRuleStmt(), transformSelectStmt(), transformSetOperationStmt(), transformSetOperationTree(), transformStmt(), transformSubLink(), transformTableLikeClause(), transformUpdateStmt(), transformValuesClause(), transformWindowDefinitions(), transformXmlExpr(), transformXmlSerialize(), tsm_bernoulli_handler(), tsm_system_handler(), tsm_system_rows_handler(), tsm_system_time_handler(), and variable_paramref_hook().

◆ newNode

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

Definition at line 555 of file nodes.h.

Referenced by _copyExtensibleNode(), and _readExtensibleNode().

◆ NodeSetTag

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

Definition at line 566 of file nodes.h.

Referenced by make_distinct_op(), and transformAExprNullIf().

◆ nodeTag

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

Definition at line 522 of file nodes.h.

Referenced by _outQuery(), add_base_rels_to_query(), add_vars_to_targetlist(), AlterDomainAddConstraint(), analyze_requires_snapshot(), assign_collations_walker(), ATPostAlterTypeParse(), bitmap_subplan_mark_shared(), build_joinrel_tlist(), build_subplan(), check_functions_in_node(), check_xact_readonly(), ChoosePortalStrategy(), contain_leaked_vars_walker(), copyObjectImpl(), cost_bitmap_tree_node(), cost_subplan(), create_bitmap_subplan(), CreateCommandTag(), deconstruct_indexquals(), deconstruct_recurse(), defGetBoolean(), defGetInt32(), defGetInt64(), defGetNumeric(), defGetQualifiedName(), defGetString(), defGetStringList(), defGetTypeLength(), defGetTypeName(), DefineDomain(), deparseExpr(), equal(), eval_const_expressions_mutator(), exec_save_simple_expr(), ExecEndNode(), ExecIndexBuildScanKeys(), ExecInitExprRec(), ExecInitFunctionResultSet(), ExecInitNode(), ExecInitSubPlan(), ExecInitWholeRowVar(), ExecMarkPos(), ExecParallelEstimate(), ExecParallelInitializeDSM(), ExecParallelInitializeWorker(), ExecParallelReInitializeDSM(), ExecParallelRetrieveInstrumentation(), ExecReScan(), ExecRestrPos(), ExecScanReScan(), ExecSetVariableStmt(), ExecShutdownNode(), ExecSupportsBackwardScan(), expand_indexqual_conditions(), ExplainNode(), ExplainPreScanNode(), ExplainTargetRel(), exprCollation(), expression_tree_mutator(), expression_tree_walker(), exprInputCollation(), exprLocation(), exprSetCollation(), exprSetInputCollation(), exprType(), exprTypmod(), FigureColnameInternal(), finalize_plan(), find_indexpath_quals(), find_jointree_node_for_rel(), find_placeholders_recurse(), fix_indexorderby_references(), fix_indexqual_references(), flatten_join_using_qual(), flatten_set_variable_args(), foreign_expr_walker(), generate_partitionwise_join_paths(), get_bitmap_tree_required_outer(), get_from_clause_item(), get_indexpath_pages(), get_matching_partitions(), get_relids_in_jointree(), get_rule_expr(), get_setop_query(), get_sublink_expr(), GetCommandLogLevel(), gincostestimate(), has_dangerous_join_using(), hide_coercion_node(), identify_join_columns(), ImportForeignSchema(), is_projection_capable_plan(), is_simple_union_all_recurse(), isSimpleNode(), jointree_contains_lateral_outer_refs(), JumbleExpr(), looks_like_function(), make_const(), make_rel_from_joinlist(), markQueryForLocking(), markRTEForSelectPriv(), MultiExecProcNode(), NameListToString(), negate_clause(), oidparse(), orderby_operands_eval_cost(), outNode(), partkey_datum_from_expr(), pg_get_partkeydef_worker(), planstate_tree_walker(), preprocess_qual_conditions(), ProcessUtilitySlow(), pull_up_sublinks_jointree_recurse(), pull_up_subqueries_cleanup(), pull_up_subqueries_recurse(), pull_up_union_leaf_queries(), RangeVarCallbackForAlterRelation(), raw_expression_tree_walker(), recurse_push_qual(), recurse_pushdown_safe(), recurse_set_operations(), reduce_outer_joins_pass1(), reduce_outer_joins_pass2(), remove_rel_from_joinlist(), reparameterize_path_by_child(), replace_vars_in_jointree(), search_plan_tree(), sepgsql_utility_command(), set_plan_refs(), set_using_names(), standard_ProcessUtility(), transformAlterTableStmt(), transformConstraintAttrs(), transformCreateSchemaStmt(), transformCreateStmt(), transformExprRecurse(), transformFromClauseItem(), transformStmt(), UtilityContainsQuery(), UtilityReturnsTuples(), and UtilityTupleDescriptor().

Typedef Documentation

◆ AggSplit

◆ AggStrategy

◆ CmdType

◆ Cost

typedef double Cost

Definition at line 648 of file nodes.h.

◆ JoinType

◆ Node

typedef struct Node Node

◆ NodeTag

◆ OnConflictAction

◆ Selectivity

Definition at line 647 of file nodes.h.

◆ SetOpCmd

◆ SetOpStrategy

Enumeration Type Documentation

◆ AggSplit

enum AggSplit
Enumerator
AGGSPLIT_SIMPLE 
AGGSPLIT_INITIAL_SERIAL 
AGGSPLIT_FINAL_DESERIAL 

Definition at line 765 of file nodes.h.

766 {
767  /* Basic, non-split aggregation: */
768  AGGSPLIT_SIMPLE = 0,
769  /* Initial phase of partial aggregation, with serialization: */
771  /* Final phase of partial aggregation, with deserialization: */
773 } AggSplit;
#define AGGSPLITOP_DESERIALIZE
Definition: nodes.h:762
#define AGGSPLITOP_COMBINE
Definition: nodes.h:759
#define AGGSPLITOP_SERIALIZE
Definition: nodes.h:761
AggSplit
Definition: nodes.h:765
#define AGGSPLITOP_SKIPFINAL
Definition: nodes.h:760

◆ AggStrategy

Enumerator
AGG_PLAIN 
AGG_SORTED 
AGG_HASHED 
AGG_MIXED 

Definition at line 743 of file nodes.h.

744 {
745  AGG_PLAIN, /* simple agg across all input rows */
746  AGG_SORTED, /* grouped agg, input must be sorted */
747  AGG_HASHED, /* grouped agg, use internal hashtable */
748  AGG_MIXED /* grouped agg, hash and sort both used */
749 } AggStrategy;
AggStrategy
Definition: nodes.h:743

◆ CmdType

enum CmdType
Enumerator
CMD_UNKNOWN 
CMD_SELECT 
CMD_UPDATE 
CMD_INSERT 
CMD_DELETE 
CMD_UTILITY 
CMD_NOTHING 

Definition at line 657 of file nodes.h.

658 {
659  CMD_UNKNOWN,
660  CMD_SELECT, /* select stmt */
661  CMD_UPDATE, /* update stmt */
662  CMD_INSERT, /* insert stmt */
663  CMD_DELETE,
664  CMD_UTILITY, /* cmds like create, destroy, copy, vacuum,
665  * etc. */
666  CMD_NOTHING /* dummy command for instead nothing rules
667  * with qual */
668 } CmdType;
CmdType
Definition: nodes.h:657

◆ 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 681 of file nodes.h.

682 {
683  /*
684  * The canonical kinds of joins according to the SQL JOIN syntax. Only
685  * these codes can appear in parser output (e.g., JoinExpr nodes).
686  */
687  JOIN_INNER, /* matching tuple pairs only */
688  JOIN_LEFT, /* pairs + unmatched LHS tuples */
689  JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */
690  JOIN_RIGHT, /* pairs + unmatched RHS tuples */
691 
692  /*
693  * Semijoins and anti-semijoins (as defined in relational theory) do not
694  * appear in the SQL JOIN syntax, but there are standard idioms for
695  * representing them (e.g., using EXISTS). The planner recognizes these
696  * cases and converts them to joins. So the planner and executor must
697  * support these codes. NOTE: in JOIN_SEMI output, it is unspecified
698  * which matching RHS row is joined to. In JOIN_ANTI output, the row is
699  * guaranteed to be null-extended.
700  */
701  JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */
702  JOIN_ANTI, /* 1 copy of each LHS row that has no match */
703 
704  /*
705  * These codes are used internally in the planner, but are not supported
706  * by the executor (nor, indeed, by most of the planner).
707  */
708  JOIN_UNIQUE_OUTER, /* LHS path must be made unique */
709  JOIN_UNIQUE_INNER /* RHS path must be made unique */
710 
711  /*
712  * We might need additional join types someday.
713  */
714 } JoinType;
JoinType
Definition: nodes.h:681

◆ NodeTag

enum NodeTag
Enumerator
T_Invalid 
T_IndexInfo 
T_ExprContext 
T_ProjectionInfo 
T_JunkFilter 
T_OnConflictSetState 
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_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_Sort 
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_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_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_SortState 
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_Expr 
T_Var 
T_Const 
T_Param 
T_Aggref 
T_GroupingFunc 
T_WindowFunc 
T_ArrayRef 
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_PartitionPruneStep 
T_PartitionPruneStepOp 
T_PartitionPruneStepCombine 
T_PartitionPruneInfo 
T_ExprState 
T_AggrefExprState 
T_WindowFuncExprState 
T_SetExprState 
T_SubPlanState 
T_AlternativeSubPlanState 
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_SubqueryScanPath 
T_ForeignPath 
T_CustomPath 
T_NestPath 
T_MergePath 
T_HashPath 
T_AppendPath 
T_MergeAppendPath 
T_ResultPath 
T_MaterialPath 
T_UniquePath 
T_GatherPath 
T_GatherMergePath 
T_ProjectionPath 
T_ProjectSetPath 
T_SortPath 
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_PathTarget 
T_RestrictInfo 
T_PlaceHolderVar 
T_SpecialJoinInfo 
T_AppendRelInfo 
T_PlaceHolderInfo 
T_MinMaxAggInfo 
T_PlannerParamItem 
T_RollupData 
T_GroupingSetData 
T_StatisticExtInfo 
T_MemoryContext 
T_AllocSetContext 
T_SlabContext 
T_GenerationContext 
T_Value 
T_Integer 
T_Float 
T_String 
T_BitString 
T_Null 
T_List 
T_IntList 
T_OidList 
T_ExtensibleNode 
T_RawStmt 
T_Query 
T_PlannedStmt 
T_InsertStmt 
T_DeleteStmt 
T_UpdateStmt 
T_SelectStmt 
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_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_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_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_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_CommonTableExpr 
T_RoleSpec 
T_TriggerTransition 
T_PartitionElem 
T_PartitionSpec 
T_PartitionBoundSpec 
T_PartitionRangeDatum 
T_PartitionCmd 
T_VacuumRelation 
T_IdentifySystemCmd 
T_BaseBackupCmd 
T_CreateReplicationSlotCmd 
T_DropReplicationSlotCmd 
T_StartReplicationCmd 
T_TimeLineHistoryCmd 
T_SQLCmd 
T_TriggerData 
T_EventTriggerData 
T_ReturnSetInfo 
T_WindowObjectData 
T_TIDBitmap 
T_InlineCodeBlock 
T_FdwRoutine 
T_IndexAmRoutine 
T_TsmRoutine 
T_ForeignKeyCacheInfo 
T_CallContext 

Definition at line 26 of file nodes.h.

27 {
28  T_Invalid = 0,
29 
30  /*
31  * TAGS FOR EXECUTOR NODES (execnodes.h)
32  */
39  T_EState,
41 
42  /*
43  * TAGS FOR PLAN NODES (plannodes.h)
44  */
45  T_Plan,
46  T_Result,
49  T_Append,
53  T_BitmapOr,
54  T_Scan,
55  T_SeqScan,
61  T_TidScan,
66  T_CteScan,
71  T_Join,
72  T_NestLoop,
74  T_HashJoin,
75  T_Material,
76  T_Sort,
77  T_Group,
78  T_Agg,
80  T_Unique,
81  T_Gather,
83  T_Hash,
84  T_SetOp,
85  T_LockRows,
86  T_Limit,
87  /* these aren't subclasses of Plan: */
91 
92  /*
93  * TAGS FOR PLAN STATE NODES (execnodes.h)
94  *
95  * These should correspond one-to-one with Plan node types.
96  */
106  T_ScanState,
123  T_JoinState,
128  T_SortState,
129  T_GroupState,
130  T_AggState,
135  T_HashState,
136  T_SetOpState,
138  T_LimitState,
139 
140  /*
141  * TAGS FOR PRIMITIVE NODES (primnodes.h)
142  */
143  T_Alias,
144  T_RangeVar,
145  T_TableFunc,
146  T_Expr,
147  T_Var,
148  T_Const,
149  T_Param,
150  T_Aggref,
152  T_WindowFunc,
153  T_ArrayRef,
154  T_FuncExpr,
156  T_OpExpr,
158  T_NullIfExpr,
160  T_BoolExpr,
161  T_SubLink,
162  T_SubPlan,
165  T_FieldStore,
171  T_CaseExpr,
172  T_CaseWhen,
174  T_ArrayExpr,
175  T_RowExpr,
178  T_MinMaxExpr,
180  T_XmlExpr,
181  T_NullTest,
191  T_JoinExpr,
192  T_FromExpr,
194  T_IntoClause,
199 
200  /*
201  * TAGS FOR EXPRESSION STATE NODES (execnodes.h)
202  *
203  * ExprState represents the evaluation state for a whole expression tree.
204  * Most Expr-based plan nodes do not have a corresponding expression state
205  * node, they're fully handled within execExpr* - but sometimes the state
206  * needs to be shared with other parts of the executor, as for example
207  * with AggrefExprState, which nodeAgg.c has to modify.
208  */
209  T_ExprState,
216 
217  /*
218  * TAGS FOR PLANNER NODES (relation.h)
219  */
222  T_RelOptInfo,
226  T_Path,
227  T_IndexPath,
231  T_TidPath,
234  T_CustomPath,
235  T_NestPath,
236  T_MergePath,
237  T_HashPath,
238  T_AppendPath,
240  T_ResultPath,
242  T_UniquePath,
243  T_GatherPath,
247  T_SortPath,
248  T_GroupPath,
250  T_AggPath,
254  T_SetOpPath,
258  T_LimitPath,
259  /* these aren't subclasses of Path: */
262  T_PathKey,
263  T_PathTarget,
271  T_RollupData,
274 
275  /*
276  * TAGS FOR MEMORY NODES (memnodes.h)
277  */
282 
283  /*
284  * TAGS FOR VALUE NODES (value.h)
285  */
286  T_Value,
287  T_Integer,
288  T_Float,
289  T_String,
290  T_BitString,
291  T_Null,
292 
293  /*
294  * TAGS FOR LIST NODES (pg_list.h)
295  */
296  T_List,
297  T_IntList,
298  T_OidList,
299 
300  /*
301  * TAGS FOR EXTENSIBLE NODES (extensible.h)
302  */
304 
305  /*
306  * TAGS FOR STATEMENT NODES (mostly in parsenodes.h)
307  */
308  T_RawStmt,
309  T_Query,
311  T_InsertStmt,
312  T_DeleteStmt,
313  T_UpdateStmt,
314  T_SelectStmt,
319  T_GrantStmt,
324  T_CopyStmt,
325  T_CreateStmt,
326  T_DefineStmt,
327  T_DropStmt,
330  T_FetchStmt,
331  T_IndexStmt,
334  T_DoStmt,
335  T_RenameStmt,
336  T_RuleStmt,
337  T_NotifyStmt,
338  T_ListenStmt,
341  T_ViewStmt,
342  T_LoadStmt,
345  T_DropdbStmt,
346  T_VacuumStmt,
359  T_LockStmt,
421  T_CallStmt,
422 
423  /*
424  * TAGS FOR PARSE TREE NODES (parsenodes.h)
425  */
426  T_A_Expr,
427  T_ColumnRef,
428  T_ParamRef,
429  T_A_Const,
430  T_FuncCall,
431  T_A_Star,
432  T_A_Indices,
435  T_ResTarget,
437  T_TypeCast,
439  T_SortBy,
440  T_WindowDef,
446  T_TypeName,
447  T_ColumnDef,
448  T_IndexElem,
449  T_Constraint,
450  T_DefElem,
459  T_AccessPriv,
466  T_WithClause,
470  T_RoleSpec,
478 
479  /*
480  * TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h)
481  */
488  T_SQLCmd,
489 
490  /*
491  * TAGS FOR RANDOM OTHER STUFF
492  *
493  * These are objects that aren't part of parse/plan/execute node tree
494  * structures, but we give them NodeTags anyway for identification
495  * purposes (usually because they are involved in APIs where we want to
496  * pass multiple object types through the same pointer).
497  */
498  T_TriggerData, /* in commands/trigger.h */
499  T_EventTriggerData, /* in commands/event_trigger.h */
500  T_ReturnSetInfo, /* in nodes/execnodes.h */
501  T_WindowObjectData, /* private in nodeWindowAgg.c */
502  T_TIDBitmap, /* in nodes/tidbitmap.h */
503  T_InlineCodeBlock, /* in nodes/parsenodes.h */
504  T_FdwRoutine, /* in foreign/fdwapi.h */
505  T_IndexAmRoutine, /* in access/amapi.h */
506  T_TsmRoutine, /* in access/tsmapi.h */
507  T_ForeignKeyCacheInfo, /* in utils/rel.h */
508  T_CallContext /* in nodes/parsenodes.h */
509 } NodeTag;
Definition: nodes.h:78
Definition: nodes.h:80
Definition: nodes.h:54
Definition: nodes.h:49
Definition: nodes.h:76
NodeTag
Definition: nodes.h:26
Definition: nodes.h:46
Definition: nodes.h:146
Definition: nodes.h:77
Definition: nodes.h:143
Definition: nodes.h:296
Definition: nodes.h:148
Definition: nodes.h:147
Definition: nodes.h:309
Definition: nodes.h:83
Definition: nodes.h:286
Definition: nodes.h:45
Definition: nodes.h:71
Definition: nodes.h:291
Definition: nodes.h:84
Definition: nodes.h:288
Definition: nodes.h:81
Definition: nodes.h:226
Definition: nodes.h:39
Definition: nodes.h:149
Definition: nodes.h:86

◆ OnConflictAction

Enumerator
ONCONFLICT_NONE 
ONCONFLICT_NOTHING 
ONCONFLICT_UPDATE 

Definition at line 807 of file nodes.h.

808 {
809  ONCONFLICT_NONE, /* No "ON CONFLICT" clause */
810  ONCONFLICT_NOTHING, /* ON CONFLICT ... DO NOTHING */
811  ONCONFLICT_UPDATE /* ON CONFLICT ... DO UPDATE */
OnConflictAction
Definition: nodes.h:807

◆ SetOpCmd

enum SetOpCmd
Enumerator
SETOPCMD_INTERSECT 
SETOPCMD_INTERSECT_ALL 
SETOPCMD_EXCEPT 
SETOPCMD_EXCEPT_ALL 

Definition at line 787 of file nodes.h.

◆ SetOpStrategy

Enumerator
SETOP_SORTED 
SETOP_HASHED 

Definition at line 795 of file nodes.h.

796 {
797  SETOP_SORTED, /* input must be sorted */
798  SETOP_HASHED /* use internal hashtable */
799 } SetOpStrategy;
SetOpStrategy
Definition: nodes.h:795

Function Documentation

◆ bmsToString()

char* bmsToString ( const struct Bitmapset bms)

◆ copyObjectImpl()

void* copyObjectImpl ( const void *  obj)

Definition at line 4754 of file copyfuncs.c.

References _copyA_ArrayExpr(), _copyA_Indirection(), _copyAccessPriv(), _copyAConst(), _copyAExpr(), _copyAgg(), _copyAggref(), _copyAIndices(), _copyAlias(), _copyAlterCollationStmt(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectDependsStmt(), _copyAlterObjectSchemaStmt(), _copyAlterOperatorStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterPolicyStmt(), _copyAlterPublicationStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterSubscriptionStmt(), _copyAlterSystemStmt(), _copyAlterTableCmd(), _copyAlterTableMoveAllStmt(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyAStar(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _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(), _copyCteScan(), _copyCurrentOfExpr(), _copyCustomScan(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropSubscriptionStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyExtensibleNode(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignKeyCacheInfo(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyGather(), _copyGatherMerge(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyGroupingFunc(), _copyGroupingSet(), _copyHash(), _copyHashJoin(), _copyImportForeignSchemaStmt(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInferClause(), _copyInferenceElem(), _copyInsertStmt(), _copyIntoClause(), _copyJoin(), _copyJoinExpr(), _copyLimit(), _copyList(), _copyListenStmt(), _copyLoadStmt(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMaterial(), _copyMergeAppend(), _copyMergeJoin(), _copyMinMaxExpr(), _copyModifyTable(), _copyMultiAssignRef(), _copyNamedArgExpr(), _copyNamedTuplestoreScan(), _copyNestLoop(), _copyNestLoopParam(), _copyNextValueExpr(), _copyNotifyStmt(), _copyNullIfExpr(), _copyNullTest(), _copyObjectWithArgs(), _copyOnConflictClause(), _copyOnConflictExpr(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPartitionBoundSpec(), _copyPartitionCmd(), _copyPartitionElem(), _copyPartitionPruneInfo(), _copyPartitionPruneStepCombine(), _copyPartitionPruneStepOp(), _copyPartitionRangeDatum(), _copyPartitionSpec(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlan(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyPrepareStmt(), _copyProjectSet(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTableFunc(), _copyRangeTableFuncCol(), _copyRangeTableSample(), _copyRangeTblEntry(), _copyRangeTblFunction(), _copyRangeTblRef(), _copyRangeVar(), _copyRawStmt(), _copyReassignOwnedStmt(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyReplicaIdentityStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyRoleSpec(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copySampleScan(), _copyScalarArrayOpExpr(), _copyScan(), _copySecLabelStmt(), _copySelectStmt(), _copySeqScan(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySQLValueFunction(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copyTableFunc(), _copyTableFuncScan(), _copyTableLikeClause(), _copyTableSampleClause(), _copyTargetEntry(), _copyTidScan(), _copyTransactionStmt(), _copyTriggerTransition(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUnique(), _copyUnlistenStmt(), _copyUpdateStmt(), _copyVacuumRelation(), _copyVacuumStmt(), _copyValue(), _copyValuesScan(), _copyVar(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithCheckOption(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), check_stack_depth(), elog, ERROR, list_copy(), 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_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_AlterSubscriptionStmt, T_AlterSystemStmt, T_AlterTableCmd, T_AlterTableMoveAllStmt, T_AlterTableSpaceOptionsStmt, T_AlterTableStmt, T_AlterTSConfigurationStmt, T_AlterTSDictionaryStmt, T_AlterUserMappingStmt, T_Append, T_AppendRelInfo, T_ArrayCoerceExpr, T_ArrayExpr, T_ArrayRef, T_BitmapAnd, T_BitmapHeapScan, T_BitmapIndexScan, T_BitmapOr, T_BitString, 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_CteScan, 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_IndexElem, T_IndexOnlyScan, T_IndexScan, T_IndexStmt, T_InferClause, T_InferenceElem, T_InsertStmt, T_Integer, T_IntList, T_IntoClause, T_Join, T_JoinExpr, T_Limit, T_List, T_ListenStmt, T_LoadStmt, T_LockingClause, T_LockRows, T_LockStmt, T_Material, T_MergeAppend, T_MergeJoin, T_MinMaxExpr, T_ModifyTable, T_MultiAssignRef, T_NamedArgExpr, T_NamedTuplestoreScan, T_NestLoop, T_NestLoopParam, T_NextValueExpr, T_NotifyStmt, T_Null, T_NullIfExpr, T_NullTest, T_ObjectWithArgs, T_OidList, T_OnConflictClause, T_OnConflictExpr, T_OpExpr, T_Param, T_ParamRef, T_PartitionBoundSpec, T_PartitionCmd, 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_PrepareStmt, T_ProjectSet, 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_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_String, T_SubLink, T_SubPlan, T_SubqueryScan, T_TableFunc, T_TableFuncScan, T_TableLikeClause, T_TableSampleClause, T_TargetEntry, 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.

4755 {
4756  void *retval;
4757 
4758  if (from == NULL)
4759  return NULL;
4760 
4761  /* Guard against stack overflow due to overly complex expressions */
4763 
4764  switch (nodeTag(from))
4765  {
4766  /*
4767  * PLAN NODES
4768  */
4769  case T_PlannedStmt:
4770  retval = _copyPlannedStmt(from);
4771  break;
4772  case T_Plan:
4773  retval = _copyPlan(from);
4774  break;
4775  case T_Result:
4776  retval = _copyResult(from);
4777  break;
4778  case T_ProjectSet:
4779  retval = _copyProjectSet(from);
4780  break;
4781  case T_ModifyTable:
4782  retval = _copyModifyTable(from);
4783  break;
4784  case T_Append:
4785  retval = _copyAppend(from);
4786  break;
4787  case T_MergeAppend:
4788  retval = _copyMergeAppend(from);
4789  break;
4790  case T_RecursiveUnion:
4791  retval = _copyRecursiveUnion(from);
4792  break;
4793  case T_BitmapAnd:
4794  retval = _copyBitmapAnd(from);
4795  break;
4796  case T_BitmapOr:
4797  retval = _copyBitmapOr(from);
4798  break;
4799  case T_Scan:
4800  retval = _copyScan(from);
4801  break;
4802  case T_Gather:
4803  retval = _copyGather(from);
4804  break;
4805  case T_GatherMerge:
4806  retval = _copyGatherMerge(from);
4807  break;
4808  case T_SeqScan:
4809  retval = _copySeqScan(from);
4810  break;
4811  case T_SampleScan:
4812  retval = _copySampleScan(from);
4813  break;
4814  case T_IndexScan:
4815  retval = _copyIndexScan(from);
4816  break;
4817  case T_IndexOnlyScan:
4818  retval = _copyIndexOnlyScan(from);
4819  break;
4820  case T_BitmapIndexScan:
4821  retval = _copyBitmapIndexScan(from);
4822  break;
4823  case T_BitmapHeapScan:
4824  retval = _copyBitmapHeapScan(from);
4825  break;
4826  case T_TidScan:
4827  retval = _copyTidScan(from);
4828  break;
4829  case T_SubqueryScan:
4830  retval = _copySubqueryScan(from);
4831  break;
4832  case T_FunctionScan:
4833  retval = _copyFunctionScan(from);
4834  break;
4835  case T_TableFuncScan:
4836  retval = _copyTableFuncScan(from);
4837  break;
4838  case T_ValuesScan:
4839  retval = _copyValuesScan(from);
4840  break;
4841  case T_CteScan:
4842  retval = _copyCteScan(from);
4843  break;
4844  case T_NamedTuplestoreScan:
4845  retval = _copyNamedTuplestoreScan(from);
4846  break;
4847  case T_WorkTableScan:
4848  retval = _copyWorkTableScan(from);
4849  break;
4850  case T_ForeignScan:
4851  retval = _copyForeignScan(from);
4852  break;
4853  case T_CustomScan:
4854  retval = _copyCustomScan(from);
4855  break;
4856  case T_Join:
4857  retval = _copyJoin(from);
4858  break;
4859  case T_NestLoop:
4860  retval = _copyNestLoop(from);
4861  break;
4862  case T_MergeJoin:
4863  retval = _copyMergeJoin(from);
4864  break;
4865  case T_HashJoin:
4866  retval = _copyHashJoin(from);
4867  break;
4868  case T_Material:
4869  retval = _copyMaterial(from);
4870  break;
4871  case T_Sort:
4872  retval = _copySort(from);
4873  break;
4874  case T_Group:
4875  retval = _copyGroup(from);
4876  break;
4877  case T_Agg:
4878  retval = _copyAgg(from);
4879  break;
4880  case T_WindowAgg:
4881  retval = _copyWindowAgg(from);
4882  break;
4883  case T_Unique:
4884  retval = _copyUnique(from);
4885  break;
4886  case T_Hash:
4887  retval = _copyHash(from);
4888  break;
4889  case T_SetOp:
4890  retval = _copySetOp(from);
4891  break;
4892  case T_LockRows:
4893  retval = _copyLockRows(from);
4894  break;
4895  case T_Limit:
4896  retval = _copyLimit(from);
4897  break;
4898  case T_NestLoopParam:
4899  retval = _copyNestLoopParam(from);
4900  break;
4901  case T_PlanRowMark:
4902  retval = _copyPlanRowMark(from);
4903  break;
4904  case T_PlanInvalItem:
4905  retval = _copyPlanInvalItem(from);
4906  break;
4907 
4908  /*
4909  * PRIMITIVE NODES
4910  */
4911  case T_Alias:
4912  retval = _copyAlias(from);
4913  break;
4914  case T_RangeVar:
4915  retval = _copyRangeVar(from);
4916  break;
4917  case T_TableFunc:
4918  retval = _copyTableFunc(from);
4919  break;
4920  case T_IntoClause:
4921  retval = _copyIntoClause(from);
4922  break;
4923  case T_Var:
4924  retval = _copyVar(from);
4925  break;
4926  case T_Const:
4927  retval = _copyConst(from);
4928  break;
4929  case T_Param:
4930  retval = _copyParam(from);
4931  break;
4932  case T_Aggref:
4933  retval = _copyAggref(from);
4934  break;
4935  case T_GroupingFunc:
4936  retval = _copyGroupingFunc(from);
4937  break;
4938  case T_WindowFunc:
4939  retval = _copyWindowFunc(from);
4940  break;
4941  case T_ArrayRef:
4942  retval = _copyArrayRef(from);
4943  break;
4944  case T_FuncExpr:
4945  retval = _copyFuncExpr(from);
4946  break;
4947  case T_NamedArgExpr:
4948  retval = _copyNamedArgExpr(from);
4949  break;
4950  case T_OpExpr:
4951  retval = _copyOpExpr(from);
4952  break;
4953  case T_DistinctExpr:
4954  retval = _copyDistinctExpr(from);
4955  break;
4956  case T_NullIfExpr:
4957  retval = _copyNullIfExpr(from);
4958  break;
4959  case T_ScalarArrayOpExpr:
4960  retval = _copyScalarArrayOpExpr(from);
4961  break;
4962  case T_BoolExpr:
4963  retval = _copyBoolExpr(from);
4964  break;
4965  case T_SubLink:
4966  retval = _copySubLink(from);
4967  break;
4968  case T_SubPlan:
4969  retval = _copySubPlan(from);
4970  break;
4971  case T_AlternativeSubPlan:
4972  retval = _copyAlternativeSubPlan(from);
4973  break;
4974  case T_FieldSelect:
4975  retval = _copyFieldSelect(from);
4976  break;
4977  case T_FieldStore:
4978  retval = _copyFieldStore(from);
4979  break;
4980  case T_RelabelType:
4981  retval = _copyRelabelType(from);
4982  break;
4983  case T_CoerceViaIO:
4984  retval = _copyCoerceViaIO(from);
4985  break;
4986  case T_ArrayCoerceExpr:
4987  retval = _copyArrayCoerceExpr(from);
4988  break;
4989  case T_ConvertRowtypeExpr:
4990  retval = _copyConvertRowtypeExpr(from);
4991  break;
4992  case T_CollateExpr:
4993  retval = _copyCollateExpr(from);
4994  break;
4995  case T_CaseExpr:
4996  retval = _copyCaseExpr(from);
4997  break;
4998  case T_CaseWhen:
4999  retval = _copyCaseWhen(from);
5000  break;
5001  case T_CaseTestExpr:
5002  retval = _copyCaseTestExpr(from);
5003  break;
5004  case T_ArrayExpr:
5005  retval = _copyArrayExpr(from);
5006  break;
5007  case T_RowExpr:
5008  retval = _copyRowExpr(from);
5009  break;
5010  case T_RowCompareExpr:
5011  retval = _copyRowCompareExpr(from);
5012  break;
5013  case T_CoalesceExpr:
5014  retval = _copyCoalesceExpr(from);
5015  break;
5016  case T_MinMaxExpr:
5017  retval = _copyMinMaxExpr(from);
5018  break;
5019  case T_SQLValueFunction:
5020  retval = _copySQLValueFunction(from);
5021  break;
5022  case T_XmlExpr:
5023  retval = _copyXmlExpr(from);
5024  break;
5025  case T_NullTest:
5026  retval = _copyNullTest(from);
5027  break;
5028  case T_BooleanTest:
5029  retval = _copyBooleanTest(from);
5030  break;
5031  case T_CoerceToDomain:
5032  retval = _copyCoerceToDomain(from);
5033  break;
5034  case T_CoerceToDomainValue:
5035  retval = _copyCoerceToDomainValue(from);
5036  break;
5037  case T_SetToDefault:
5038  retval = _copySetToDefault(from);
5039  break;
5040  case T_CurrentOfExpr:
5041  retval = _copyCurrentOfExpr(from);
5042  break;
5043  case T_NextValueExpr:
5044  retval = _copyNextValueExpr(from);
5045  break;
5046  case T_InferenceElem:
5047  retval = _copyInferenceElem(from);
5048  break;
5049  case T_TargetEntry:
5050  retval = _copyTargetEntry(from);
5051  break;
5052  case T_RangeTblRef:
5053  retval = _copyRangeTblRef(from);
5054  break;
5055  case T_JoinExpr:
5056  retval = _copyJoinExpr(from);
5057  break;
5058  case T_FromExpr:
5059  retval = _copyFromExpr(from);
5060  break;
5061  case T_OnConflictExpr:
5062  retval = _copyOnConflictExpr(from);
5063  break;
5065  retval = _copyPartitionPruneStepOp(from);
5066  break;
5068  retval = _copyPartitionPruneStepCombine(from);
5069  break;
5070 
5071  /*
5072  * RELATION NODES
5073  */
5074  case T_PathKey:
5075  retval = _copyPathKey(from);
5076  break;
5077  case T_RestrictInfo:
5078  retval = _copyRestrictInfo(from);
5079  break;
5080  case T_PlaceHolderVar:
5081  retval = _copyPlaceHolderVar(from);
5082  break;
5083  case T_SpecialJoinInfo:
5084  retval = _copySpecialJoinInfo(from);
5085  break;
5086  case T_AppendRelInfo:
5087  retval = _copyAppendRelInfo(from);
5088  break;
5089  case T_PlaceHolderInfo:
5090  retval = _copyPlaceHolderInfo(from);
5091  break;
5092  case T_PartitionPruneInfo:
5093  retval = _copyPartitionPruneInfo(from);
5094  break;
5095 
5096  /*
5097  * VALUE NODES
5098  */
5099  case T_Integer:
5100  case T_Float:
5101  case T_String:
5102  case T_BitString:
5103  case T_Null:
5104  retval = _copyValue(from);
5105  break;
5106 
5107  /*
5108  * LIST NODES
5109  */
5110  case T_List:
5111  retval = _copyList(from);
5112  break;
5113 
5114  /*
5115  * Lists of integers and OIDs don't need to be deep-copied, so we
5116  * perform a shallow copy via list_copy()
5117  */
5118  case T_IntList:
5119  case T_OidList:
5120  retval = list_copy(from);
5121  break;
5122 
5123  /*
5124  * EXTENSIBLE NODES
5125  */
5126  case T_ExtensibleNode:
5127  retval = _copyExtensibleNode(from);
5128  break;
5129 
5130  /*
5131  * PARSE NODES
5132  */
5133  case T_Query:
5134  retval = _copyQuery(from);
5135  break;
5136  case T_RawStmt:
5137  retval = _copyRawStmt(from);
5138  break;
5139  case T_InsertStmt:
5140  retval = _copyInsertStmt(from);
5141  break;
5142  case T_DeleteStmt:
5143  retval = _copyDeleteStmt(from);
5144  break;
5145  case T_UpdateStmt:
5146  retval = _copyUpdateStmt(from);
5147  break;
5148  case T_SelectStmt:
5149  retval = _copySelectStmt(from);
5150  break;
5151  case T_SetOperationStmt:
5152  retval = _copySetOperationStmt(from);
5153  break;
5154  case T_AlterTableStmt:
5155  retval = _copyAlterTableStmt(from);
5156  break;
5157  case T_AlterTableCmd:
5158  retval = _copyAlterTableCmd(from);
5159  break;
5160  case T_AlterCollationStmt:
5161  retval = _copyAlterCollationStmt(from);
5162  break;
5163  case T_AlterDomainStmt:
5164  retval = _copyAlterDomainStmt(from);
5165  break;
5166  case T_GrantStmt:
5167  retval = _copyGrantStmt(from);
5168  break;
5169  case T_GrantRoleStmt:
5170  retval = _copyGrantRoleStmt(from);
5171  break;
5173  retval = _copyAlterDefaultPrivilegesStmt(from);
5174  break;
5175  case T_DeclareCursorStmt:
5176  retval = _copyDeclareCursorStmt(from);
5177  break;
5178  case T_ClosePortalStmt:
5179  retval = _copyClosePortalStmt(from);
5180  break;
5181  case T_CallStmt:
5182  retval = _copyCallStmt(from);
5183  break;
5184  case T_ClusterStmt:
5185  retval = _copyClusterStmt(from);
5186  break;
5187  case T_CopyStmt:
5188  retval = _copyCopyStmt(from);
5189  break;
5190  case T_CreateStmt:
5191  retval = _copyCreateStmt(from);
5192  break;
5193  case T_TableLikeClause:
5194  retval = _copyTableLikeClause(from);
5195  break;
5196  case T_DefineStmt:
5197  retval = _copyDefineStmt(from);
5198  break;
5199  case T_DropStmt:
5200  retval = _copyDropStmt(from);
5201  break;
5202  case T_TruncateStmt:
5203  retval = _copyTruncateStmt(from);
5204  break;
5205  case T_CommentStmt:
5206  retval = _copyCommentStmt(from);
5207  break;
5208  case T_SecLabelStmt:
5209  retval = _copySecLabelStmt(from);
5210  break;
5211  case T_FetchStmt:
5212  retval = _copyFetchStmt(from);
5213  break;
5214  case T_IndexStmt:
5215  retval = _copyIndexStmt(from);
5216  break;
5217  case T_CreateStatsStmt:
5218  retval = _copyCreateStatsStmt(from);
5219  break;
5220  case T_CreateFunctionStmt:
5221  retval = _copyCreateFunctionStmt(from);
5222  break;
5223  case T_FunctionParameter:
5224  retval = _copyFunctionParameter(from);
5225  break;
5226  case T_AlterFunctionStmt:
5227  retval = _copyAlterFunctionStmt(from);
5228  break;
5229  case T_DoStmt:
5230  retval = _copyDoStmt(from);
5231  break;
5232  case T_RenameStmt:
5233  retval = _copyRenameStmt(from);
5234  break;
5236  retval = _copyAlterObjectDependsStmt(from);
5237  break;
5239  retval = _copyAlterObjectSchemaStmt(from);
5240  break;
5241  case T_AlterOwnerStmt:
5242  retval = _copyAlterOwnerStmt(from);
5243  break;
5244  case T_AlterOperatorStmt:
5245  retval = _copyAlterOperatorStmt(from);
5246  break;
5247  case T_RuleStmt:
5248  retval = _copyRuleStmt(from);
5249  break;
5250  case T_NotifyStmt:
5251  retval = _copyNotifyStmt(from);
5252  break;
5253  case T_ListenStmt:
5254  retval = _copyListenStmt(from);
5255  break;
5256  case T_UnlistenStmt:
5257  retval = _copyUnlistenStmt(from);
5258  break;
5259  case T_TransactionStmt:
5260  retval = _copyTransactionStmt(from);
5261  break;
5262  case T_CompositeTypeStmt:
5263  retval = _copyCompositeTypeStmt(from);
5264  break;
5265  case T_CreateEnumStmt:
5266  retval = _copyCreateEnumStmt(from);
5267  break;
5268  case T_CreateRangeStmt:
5269  retval = _copyCreateRangeStmt(from);
5270  break;
5271  case T_AlterEnumStmt:
5272  retval = _copyAlterEnumStmt(from);
5273  break;
5274  case T_ViewStmt:
5275  retval = _copyViewStmt(from);
5276  break;
5277  case T_LoadStmt:
5278  retval = _copyLoadStmt(from);
5279  break;
5280  case T_CreateDomainStmt:
5281  retval = _copyCreateDomainStmt(from);
5282  break;
5283  case T_CreateOpClassStmt:
5284  retval = _copyCreateOpClassStmt(from);
5285  break;
5286  case T_CreateOpClassItem:
5287  retval = _copyCreateOpClassItem(from);
5288  break;
5289  case T_CreateOpFamilyStmt:
5290  retval = _copyCreateOpFamilyStmt(from);
5291  break;
5292  case T_AlterOpFamilyStmt:
5293  retval = _copyAlterOpFamilyStmt(from);
5294  break;
5295  case T_CreatedbStmt:
5296  retval = _copyCreatedbStmt(from);
5297  break;
5298  case T_AlterDatabaseStmt:
5299  retval = _copyAlterDatabaseStmt(from);
5300  break;
5302  retval = _copyAlterDatabaseSetStmt(from);
5303  break;
5304  case T_DropdbStmt:
5305  retval = _copyDropdbStmt(from);
5306  break;
5307  case T_VacuumStmt:
5308  retval = _copyVacuumStmt(from);
5309  break;
5310  case T_VacuumRelation:
5311  retval = _copyVacuumRelation(from);
5312  break;
5313  case T_ExplainStmt:
5314  retval = _copyExplainStmt(from);
5315  break;
5316  case T_CreateTableAsStmt:
5317  retval = _copyCreateTableAsStmt(from);
5318  break;
5319  case T_RefreshMatViewStmt:
5320  retval = _copyRefreshMatViewStmt(from);
5321  break;
5322  case T_ReplicaIdentityStmt:
5323  retval = _copyReplicaIdentityStmt(from);
5324  break;
5325  case T_AlterSystemStmt:
5326  retval = _copyAlterSystemStmt(from);
5327  break;
5328  case T_CreateSeqStmt:
5329  retval = _copyCreateSeqStmt(from);
5330  break;
5331  case T_AlterSeqStmt:
5332  retval = _copyAlterSeqStmt(from);
5333  break;
5334  case T_VariableSetStmt:
5335  retval = _copyVariableSetStmt(from);
5336  break;
5337  case T_VariableShowStmt:
5338  retval = _copyVariableShowStmt(from);
5339  break;
5340  case T_DiscardStmt:
5341  retval = _copyDiscardStmt(from);
5342  break;
5344  retval = _copyCreateTableSpaceStmt(from);
5345  break;
5346  case T_DropTableSpaceStmt:
5347  retval = _copyDropTableSpaceStmt(from);
5348  break;
5350  retval = _copyAlterTableSpaceOptionsStmt(from);
5351  break;
5353  retval = _copyAlterTableMoveAllStmt(from);
5354  break;
5355  case T_CreateExtensionStmt:
5356  retval = _copyCreateExtensionStmt(from);
5357  break;
5358  case T_AlterExtensionStmt:
5359  retval = _copyAlterExtensionStmt(from);
5360  break;
5362  retval = _copyAlterExtensionContentsStmt(from);
5363  break;
5364  case T_CreateFdwStmt:
5365  retval = _copyCreateFdwStmt(from);
5366  break;
5367  case T_AlterFdwStmt:
5368  retval = _copyAlterFdwStmt(from);
5369  break;
5371  retval = _copyCreateForeignServerStmt(from);
5372  break;
5374  retval = _copyAlterForeignServerStmt(from);
5375  break;
5377  retval = _copyCreateUserMappingStmt(from);
5378  break;
5380  retval = _copyAlterUserMappingStmt(from);
5381  break;
5382  case T_DropUserMappingStmt:
5383  retval = _copyDropUserMappingStmt(from);
5384  break;
5386  retval = _copyCreateForeignTableStmt(from);
5387  break;
5389  retval = _copyImportForeignSchemaStmt(from);
5390  break;
5391  case T_CreateTransformStmt:
5392  retval = _copyCreateTransformStmt(from);
5393  break;
5394  case T_CreateAmStmt:
5395  retval = _copyCreateAmStmt(from);
5396  break;
5397  case T_CreateTrigStmt:
5398  retval = _copyCreateTrigStmt(from);
5399  break;
5400  case T_CreateEventTrigStmt:
5401  retval = _copyCreateEventTrigStmt(from);
5402  break;
5403  case T_AlterEventTrigStmt:
5404  retval = _copyAlterEventTrigStmt(from);
5405  break;
5406  case T_CreatePLangStmt:
5407  retval = _copyCreatePLangStmt(from);
5408  break;
5409  case T_CreateRoleStmt:
5410  retval = _copyCreateRoleStmt(from);
5411  break;
5412  case T_AlterRoleStmt:
5413  retval = _copyAlterRoleStmt(from);
5414  break;
5415  case T_AlterRoleSetStmt:
5416  retval = _copyAlterRoleSetStmt(from);
5417  break;
5418  case T_DropRoleStmt:
5419  retval = _copyDropRoleStmt(from);
5420  break;
5421  case T_LockStmt:
5422  retval = _copyLockStmt(from);
5423  break;
5424  case T_ConstraintsSetStmt:
5425  retval = _copyConstraintsSetStmt(from);
5426  break;
5427  case T_ReindexStmt:
5428  retval = _copyReindexStmt(from);
5429  break;
5430  case T_CheckPointStmt:
5431  retval = (void *) makeNode(CheckPointStmt);
5432  break;
5433  case T_CreateSchemaStmt:
5434  retval = _copyCreateSchemaStmt(from);
5435  break;
5437  retval = _copyCreateConversionStmt(from);
5438  break;
5439  case T_CreateCastStmt:
5440  retval = _copyCreateCastStmt(from);
5441  break;
5442  case T_PrepareStmt:
5443  retval = _copyPrepareStmt(from);
5444  break;
5445  case T_ExecuteStmt:
5446  retval = _copyExecuteStmt(from);
5447  break;
5448  case T_DeallocateStmt:
5449  retval = _copyDeallocateStmt(from);
5450  break;
5451  case T_DropOwnedStmt:
5452  retval = _copyDropOwnedStmt(from);
5453  break;
5454  case T_ReassignOwnedStmt:
5455  retval = _copyReassignOwnedStmt(from);
5456  break;
5458  retval = _copyAlterTSDictionaryStmt(from);
5459  break;
5461  retval = _copyAlterTSConfigurationStmt(from);
5462  break;
5463  case T_CreatePolicyStmt:
5464  retval = _copyCreatePolicyStmt(from);
5465  break;
5466  case T_AlterPolicyStmt:
5467  retval = _copyAlterPolicyStmt(from);
5468  break;
5470  retval = _copyCreatePublicationStmt(from);
5471  break;
5473  retval = _copyAlterPublicationStmt(from);
5474  break;
5476  retval = _copyCreateSubscriptionStmt(from);
5477  break;
5479  retval = _copyAlterSubscriptionStmt(from);
5480  break;
5482  retval = _copyDropSubscriptionStmt(from);
5483  break;
5484  case T_A_Expr:
5485  retval = _copyAExpr(from);
5486  break;
5487  case T_ColumnRef:
5488  retval = _copyColumnRef(from);
5489  break;
5490  case T_ParamRef:
5491  retval = _copyParamRef(from);
5492  break;
5493  case T_A_Const:
5494  retval = _copyAConst(from);
5495  break;
5496  case T_FuncCall:
5497  retval = _copyFuncCall(from);
5498  break;
5499  case T_A_Star:
5500  retval = _copyAStar(from);
5501  break;
5502  case T_A_Indices:
5503  retval = _copyAIndices(from);
5504  break;
5505  case T_A_Indirection:
5506  retval = _copyA_Indirection(from);
5507  break;
5508  case T_A_ArrayExpr:
5509  retval = _copyA_ArrayExpr(from);
5510  break;
5511  case T_ResTarget:
5512  retval = _copyResTarget(from);
5513  break;
5514  case T_MultiAssignRef:
5515  retval = _copyMultiAssignRef(from);
5516  break;
5517  case T_TypeCast:
5518  retval = _copyTypeCast(from);
5519  break;
5520  case T_CollateClause:
5521  retval = _copyCollateClause(from);
5522  break;
5523  case T_SortBy:
5524  retval = _copySortBy(from);
5525  break;
5526  case T_WindowDef:
5527  retval = _copyWindowDef(from);
5528  break;
5529  case T_RangeSubselect:
5530  retval = _copyRangeSubselect(from);
5531  break;
5532  case T_RangeFunction:
5533  retval = _copyRangeFunction(from);
5534  break;
5535  case T_RangeTableSample:
5536  retval = _copyRangeTableSample(from);
5537  break;
5538  case T_RangeTableFunc:
5539  retval = _copyRangeTableFunc(from);
5540  break;
5541  case T_RangeTableFuncCol:
5542  retval = _copyRangeTableFuncCol(from);
5543  break;
5544  case T_TypeName:
5545  retval = _copyTypeName(from);
5546  break;
5547  case T_IndexElem:
5548  retval = _copyIndexElem(from);
5549  break;
5550  case T_ColumnDef:
5551  retval = _copyColumnDef(from);
5552  break;
5553  case T_Constraint:
5554  retval = _copyConstraint(from);
5555  break;
5556  case T_DefElem:
5557  retval = _copyDefElem(from);
5558  break;
5559  case T_LockingClause:
5560  retval = _copyLockingClause(from);
5561  break;
5562  case T_RangeTblEntry:
5563  retval = _copyRangeTblEntry(from);
5564  break;
5565  case T_RangeTblFunction:
5566  retval = _copyRangeTblFunction(from);
5567  break;
5568  case T_TableSampleClause:
5569  retval = _copyTableSampleClause(from);
5570  break;
5571  case T_WithCheckOption:
5572  retval = _copyWithCheckOption(from);
5573  break;
5574  case T_SortGroupClause:
5575  retval = _copySortGroupClause(from);
5576  break;
5577  case T_GroupingSet:
5578  retval = _copyGroupingSet(from);
5579  break;
5580  case T_WindowClause:
5581  retval = _copyWindowClause(from);
5582  break;
5583  case T_RowMarkClause:
5584  retval = _copyRowMarkClause(from);
5585  break;
5586  case T_WithClause:
5587  retval = _copyWithClause(from);
5588  break;
5589  case T_InferClause:
5590  retval = _copyInferClause(from);
5591  break;
5592  case T_OnConflictClause:
5593  retval = _copyOnConflictClause(from);
5594  break;
5595  case T_CommonTableExpr:
5596  retval = _copyCommonTableExpr(from);
5597  break;
5598  case T_ObjectWithArgs:
5599  retval = _copyObjectWithArgs(from);
5600  break;
5601  case T_AccessPriv:
5602  retval = _copyAccessPriv(from);
5603  break;
5604  case T_XmlSerialize:
5605  retval = _copyXmlSerialize(from);
5606  break;
5607  case T_RoleSpec:
5608  retval = _copyRoleSpec(from);
5609  break;
5610  case T_TriggerTransition:
5611  retval = _copyTriggerTransition(from);
5612  break;
5613  case T_PartitionElem:
5614  retval = _copyPartitionElem(from);
5615  break;
5616  case T_PartitionSpec:
5617  retval = _copyPartitionSpec(from);
5618  break;
5619  case T_PartitionBoundSpec:
5620  retval = _copyPartitionBoundSpec(from);
5621  break;
5622  case T_PartitionRangeDatum:
5623  retval = _copyPartitionRangeDatum(from);
5624  break;
5625  case T_PartitionCmd:
5626  retval = _copyPartitionCmd(from);
5627  break;
5628 
5629  /*
5630  * MISCELLANEOUS NODES
5631  */
5632  case T_ForeignKeyCacheInfo:
5633  retval = _copyForeignKeyCacheInfo(from);
5634  break;
5635 
5636  default:
5637  elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from));
5638  retval = 0; /* keep compiler quiet */
5639  break;
5640  }
5641 
5642  return retval;
5643 }
static PartitionPruneStepOp * _copyPartitionPruneStepOp(const PartitionPruneStepOp *from)
Definition: copyfuncs.c:2141
static Limit * _copyLimit(const Limit *from)
Definition: copyfuncs.c:1127
static WindowClause * _copyWindowClause(const WindowClause *from)
Definition: copyfuncs.c:2445
static CreateEnumStmt * _copyCreateEnumStmt(const CreateEnumStmt *from)
Definition: copyfuncs.c:3661
static RefreshMatViewStmt * _copyRefreshMatViewStmt(const RefreshMatViewStmt *from)
Definition: copyfuncs.c:3882
static RangeSubselect * _copyRangeSubselect(const RangeSubselect *from)
Definition: copyfuncs.c:2740
static AlterSystemStmt * _copyAlterSystemStmt(const AlterSystemStmt *from)
Definition: copyfuncs.c:3905
static DeallocateStmt * _copyDeallocateStmt(const DeallocateStmt *from)
Definition: copyfuncs.c:4413
static PlanInvalItem * _copyPlanInvalItem(const PlanInvalItem *from)
Definition: copyfuncs.c:1183
static Scan * _copyScan(const Scan *from)
Definition: copyfuncs.c:422
static AlterEventTrigStmt * _copyAlterEventTrigStmt(const AlterEventTrigStmt *from)
Definition: copyfuncs.c:4240
static SeqScan * _copySeqScan(const SeqScan *from)
Definition: copyfuncs.c:438
static AlterTableMoveAllStmt * _copyAlterTableMoveAllStmt(const AlterTableMoveAllStmt *from)
Definition: copyfuncs.c:4011
static DiscardStmt * _copyDiscardStmt(const DiscardStmt *from)
Definition: copyfuncs.c:3965
static DeleteStmt * _copyDeleteStmt(const DeleteStmt *from)
Definition: copyfuncs.c:3051
static Unique * _copyUnique(const Unique *from)
Definition: copyfuncs.c:1030
static BitmapAnd * _copyBitmapAnd(const BitmapAnd *from)
Definition: copyfuncs.c:312
static AccessPriv * _copyAccessPriv(const AccessPriv *from)
Definition: copyfuncs.c:3207
static FromExpr * _copyFromExpr(const FromExpr *from)
Definition: copyfuncs.c:2107
Definition: nodes.h:78
static DropStmt * _copyDropStmt(const DropStmt *from)
Definition: copyfuncs.c:3363
static Plan * _copyPlan(const Plan *from)
Definition: copyfuncs.c:138
static LockStmt * _copyLockStmt(const LockStmt *from)
Definition: copyfuncs.c:4313
static RowMarkClause * _copyRowMarkClause(const RowMarkClause *from)
Definition: copyfuncs.c:2468
static Var * _copyVar(const Var *from)
Definition: copyfuncs.c:1286
static ValuesScan * _copyValuesScan(const ValuesScan *from)
Definition: copyfuncs.c:657
static AlterForeignServerStmt * _copyAlterForeignServerStmt(const AlterForeignServerStmt *from)
Definition: copyfuncs.c:4100
static RowExpr * _copyRowExpr(const RowExpr *from)
Definition: copyfuncs.c:1824
static VariableShowStmt * _copyVariableShowStmt(const VariableShowStmt *from)
Definition: copyfuncs.c:3955
Definition: nodes.h:80
static TransactionStmt * _copyTransactionStmt(const TransactionStmt *from)
Definition: copyfuncs.c:3637
static TableLikeClause * _copyTableLikeClause(const TableLikeClause *from)
Definition: copyfuncs.c:3337
static CreatePolicyStmt * _copyCreatePolicyStmt(const CreatePolicyStmt *from)
Definition: copyfuncs.c:4472
static AlterEnumStmt * _copyAlterEnumStmt(const AlterEnumStmt *from)
Definition: copyfuncs.c:3683
Definition: nodes.h:54
static AlterExtensionStmt * _copyAlterExtensionStmt(const AlterExtensionStmt *from)
Definition: copyfuncs.c:4037
static DeclareCursorStmt * _copyDeclareCursorStmt(const DeclareCursorStmt *from)
Definition: copyfuncs.c:3244
static A_Const * _copyAConst(const A_Const *from)
Definition: copyfuncs.c:2575
static HashJoin * _copyHashJoin(const HashJoin *from)
Definition: copyfuncs.c:890
static AlterFdwStmt * _copyAlterFdwStmt(const AlterFdwStmt *from)
Definition: copyfuncs.c:4073
static PartitionSpec * _copyPartitionSpec(const PartitionSpec *from)
Definition: copyfuncs.c:4516
static GroupingSet * _copyGroupingSet(const GroupingSet *from)
Definition: copyfuncs.c:2433
static DropRoleStmt * _copyDropRoleStmt(const DropRoleStmt *from)
Definition: copyfuncs.c:4302
static CreateAmStmt * _copyCreateAmStmt(const CreateAmStmt *from)
Definition: copyfuncs.c:4192
static AlternativeSubPlan * _copyAlternativeSubPlan(const AlternativeSubPlan *from)
Definition: copyfuncs.c:1627
static UnlistenStmt * _copyUnlistenStmt(const UnlistenStmt *from)
Definition: copyfuncs.c:3627
static Hash * _copyHash(const Hash *from)
Definition: copyfuncs.c:1053
static AlterTSConfigurationStmt * _copyAlterTSConfigurationStmt(const AlterTSConfigurationStmt *from)
Definition: copyfuncs.c:4456
static CreateOpClassStmt * _copyCreateOpClassStmt(const CreateOpClassStmt *from)
Definition: copyfuncs.c:3736
static Result * _copyResult(const Result *from)
Definition: copyfuncs.c:155
static Material * _copyMaterial(const Material *from)
Definition: copyfuncs.c:912
static GatherMerge * _copyGatherMerge(const GatherMerge *from)
Definition: copyfuncs.c:380
static ArrayRef * _copyArrayRef(const ArrayRef *from)
Definition: copyfuncs.c:1431
static RestrictInfo * _copyRestrictInfo(const RestrictInfo *from)
Definition: copyfuncs.c:2215
static ClusterStmt * _copyClusterStmt(const ClusterStmt *from)
Definition: copyfuncs.c:3277
static FunctionScan * _copyFunctionScan(const FunctionScan *from)
Definition: copyfuncs.c:614
static AlterFunctionStmt * _copyAlterFunctionStmt(const AlterFunctionStmt *from)
Definition: copyfuncs.c:3500
static SortBy * _copySortBy(const SortBy *from)
Definition: copyfuncs.c:2709
static MergeJoin * _copyMergeJoin(const MergeJoin *from)
Definition: copyfuncs.c:859
static AlterCollationStmt * _copyAlterCollationStmt(const AlterCollationStmt *from)
Definition: copyfuncs.c:3153
static RuleStmt * _copyRuleStmt(const RuleStmt *from)
Definition: copyfuncs.c:3590
static ImportForeignSchemaStmt * _copyImportForeignSchemaStmt(const ImportForeignSchemaStmt *from)
Definition: copyfuncs.c:4163
static FuncCall * _copyFuncCall(const FuncCall *from)
Definition: copyfuncs.c:2606
static RangeVar * _copyRangeVar(const RangeVar *from)
Definition: copyfuncs.c:1216
static CreatedbStmt * _copyCreatedbStmt(const CreatedbStmt *from)
Definition: copyfuncs.c:3790
static CopyStmt * _copyCopyStmt(const CopyStmt *from)
Definition: copyfuncs.c:3289
List * list_copy(const List *oldlist)
Definition: list.c:1160
static PartitionBoundSpec * _copyPartitionBoundSpec(const PartitionBoundSpec *from)
Definition: copyfuncs.c:4528
static CreateTableSpaceStmt * _copyCreateTableSpaceStmt(const CreateTableSpaceStmt *from)
Definition: copyfuncs.c:3975
static GrantStmt * _copyGrantStmt(const GrantStmt *from)
Definition: copyfuncs.c:3178
static Value * _copyValue(const Value *from)
Definition: copyfuncs.c:4701
Definition: nodes.h:49
static AlterOperatorStmt * _copyAlterOperatorStmt(const AlterOperatorStmt *from)
Definition: copyfuncs.c:3579
static Alias * _copyAlias(const Alias *from)
Definition: copyfuncs.c:1202
static BitmapHeapScan * _copyBitmapHeapScan(const BitmapHeapScan *from)
Definition: copyfuncs.c:551
static Sort * _copySort(const Sort *from)
Definition: copyfuncs.c:929
static A_ArrayExpr * _copyA_ArrayExpr(const A_ArrayExpr *from)
Definition: copyfuncs.c:2656
static Agg * _copyAgg(const Agg *from)
Definition: copyfuncs.c:969
static IntoClause * _copyIntoClause(const IntoClause *from)
Definition: copyfuncs.c:1260
static ParamRef * _copyParamRef(const ParamRef *from)
Definition: copyfuncs.c:2564
Definition: nodes.h:76
static IndexStmt * _copyIndexStmt(const IndexStmt *from)
Definition: copyfuncs.c:3427
static FuncExpr * _copyFuncExpr(const FuncExpr *from)
Definition: copyfuncs.c:1451
static ObjectWithArgs * _copyObjectWithArgs(const ObjectWithArgs *from)
Definition: copyfuncs.c:3195
static BoolExpr * _copyBoolExpr(const BoolExpr *from)
Definition: copyfuncs.c:1566
static PathKey * _copyPathKey(const PathKey *from)
Definition: copyfuncs.c:2198
static DefineStmt * _copyDefineStmt(const DefineStmt *from)
Definition: copyfuncs.c:3348
static Join * _copyJoin(const Join *from)
Definition: copyfuncs.c:820
static WithClause * _copyWithClause(const WithClause *from)
Definition: copyfuncs.c:2481
static TypeName * _copyTypeName(const TypeName *from)
Definition: copyfuncs.c:2692
static WindowAgg * _copyWindowAgg(const WindowAgg *from)
Definition: copyfuncs.c:995
static PlannedStmt * _copyPlannedStmt(const PlannedStmt *from)
Definition: copyfuncs.c:78
static WindowDef * _copyWindowDef(const WindowDef *from)
Definition: copyfuncs.c:2723
static ScalarArrayOpExpr * _copyScalarArrayOpExpr(const ScalarArrayOpExpr *from)
Definition: copyfuncs.c:1548
static ExecuteStmt * _copyExecuteStmt(const ExecuteStmt *from)
Definition: copyfuncs.c:4402
static SubqueryScan * _copySubqueryScan(const SubqueryScan *from)
Definition: copyfuncs.c:593
static WithCheckOption * _copyWithCheckOption(const WithCheckOption *from)
Definition: copyfuncs.c:2405
static ReplicaIdentityStmt * _copyReplicaIdentityStmt(const ReplicaIdentityStmt *from)
Definition: copyfuncs.c:3894
static ExplainStmt * _copyExplainStmt(const ExplainStmt *from)
Definition: copyfuncs.c:3857
static TableSampleClause * _copyTableSampleClause(const TableSampleClause *from)
Definition: copyfuncs.c:2393
static DropUserMappingStmt * _copyDropUserMappingStmt(const DropUserMappingStmt *from)
Definition: copyfuncs.c:4138
static PartitionCmd * _copyPartitionCmd(const PartitionCmd *from)
Definition: copyfuncs.c:4557
static NestLoop * _copyNestLoop(const NestLoop *from)
Definition: copyfuncs.c:837
static Query * _copyQuery(const Query *from)
Definition: copyfuncs.c:2978
static XmlSerialize * _copyXmlSerialize(const XmlSerialize *from)
Definition: copyfuncs.c:2941
static ConvertRowtypeExpr * _copyConvertRowtypeExpr(const ConvertRowtypeExpr *from)
Definition: copyfuncs.c:1727
static RawStmt * _copyRawStmt(const RawStmt *from)
Definition: copyfuncs.c:3023
static PlaceHolderVar * _copyPlaceHolderVar(const PlaceHolderVar *from)
Definition: copyfuncs.c:2260
static BitmapOr * _copyBitmapOr(const BitmapOr *from)
Definition: copyfuncs.c:333
static RenameStmt * _copyRenameStmt(const RenameStmt *from)
Definition: copyfuncs.c:3522
static ReassignOwnedStmt * _copyReassignOwnedStmt(const ReassignOwnedStmt *from)
Definition: copyfuncs.c:4434
static ColumnDef * _copyColumnDef(const ColumnDef *from)
Definition: copyfuncs.c:2853
static A_Star * _copyAStar(const A_Star *from)
Definition: copyfuncs.c:2625
static SpecialJoinInfo * _copySpecialJoinInfo(const SpecialJoinInfo *from)
Definition: copyfuncs.c:2276
static RelabelType * _copyRelabelType(const RelabelType *from)
Definition: copyfuncs.c:1673
static CaseTestExpr * _copyCaseTestExpr(const CaseTestExpr *from)
Definition: copyfuncs.c:1791
static CreatePublicationStmt * _copyCreatePublicationStmt(const CreatePublicationStmt *from)
Definition: copyfuncs.c:4568
static CreateFunctionStmt * _copyCreateFunctionStmt(const CreateFunctionStmt *from)
Definition: copyfuncs.c:3472
static AlterTableStmt * _copyAlterTableStmt(const AlterTableStmt *from)
Definition: copyfuncs.c:3124
static SortGroupClause * _copySortGroupClause(const SortGroupClause *from)
Definition: copyfuncs.c:2419
static ArrayCoerceExpr * _copyArrayCoerceExpr(const ArrayCoerceExpr *from)
Definition: copyfuncs.c:1708
static RoleSpec * _copyRoleSpec(const RoleSpec *from)
Definition: copyfuncs.c:2954
Definition: nodes.h:46
static NextValueExpr * _copyNextValueExpr(const NextValueExpr *from)
Definition: copyfuncs.c:2026
#define ERROR
Definition: elog.h:43
static CreateOpClassItem * _copyCreateOpClassItem(const CreateOpClassItem *from)
Definition: copyfuncs.c:3751
static AlterExtensionContentsStmt * _copyAlterExtensionContentsStmt(const AlterExtensionContentsStmt *from)
Definition: copyfuncs.c:4048
static List * _copyList(const List *from)
Definition: copyfuncs.c:4648
static MergeAppend * _copyMergeAppend(const MergeAppend *from)
Definition: copyfuncs.c:257
static VariableSetStmt * _copyVariableSetStmt(const VariableSetStmt *from)
Definition: copyfuncs.c:3942
static AlterPublicationStmt * _copyAlterPublicationStmt(const AlterPublicationStmt *from)
Definition: copyfuncs.c:4581
static CreateRoleStmt * _copyCreateRoleStmt(const CreateRoleStmt *from)
Definition: copyfuncs.c:4266
static LockingClause * _copyLockingClause(const LockingClause *from)
Definition: copyfuncs.c:2929
static PlaceHolderInfo * _copyPlaceHolderInfo(const PlaceHolderInfo *from)
Definition: copyfuncs.c:2317
static ArrayExpr * _copyArrayExpr(const ArrayExpr *from)
Definition: copyfuncs.c:1806
static CreateExtensionStmt * _copyCreateExtensionStmt(const CreateExtensionStmt *from)
Definition: copyfuncs.c:4025
static SetToDefault * _copySetToDefault(const SetToDefault *from)
Definition: copyfuncs.c:1995
Definition: nodes.h:77
static DropSubscriptionStmt * _copyDropSubscriptionStmt(const DropSubscriptionStmt *from)
Definition: copyfuncs.c:4622
static AlterDefaultPrivilegesStmt * _copyAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *from)
Definition: copyfuncs.c:3233
static CreateSeqStmt * _copyCreateSeqStmt(const CreateSeqStmt *from)
Definition: copyfuncs.c:3915
static CreateSchemaStmt * _copyCreateSchemaStmt(const CreateSchemaStmt *from)
Definition: copyfuncs.c:4349
static AlterOpFamilyStmt * _copyAlterOpFamilyStmt(const AlterOpFamilyStmt *from)
Definition: copyfuncs.c:3777
Definition: nodes.h:143
static AlterObjectSchemaStmt * _copyAlterObjectSchemaStmt(const AlterObjectSchemaStmt *from)
Definition: copyfuncs.c:3552
void check_stack_depth(void)
Definition: postgres.c:3159
static RowCompareExpr * _copyRowCompareExpr(const RowCompareExpr *from)
Definition: copyfuncs.c:1841
static Constraint * _copyConstraint(const Constraint *from)
Definition: copyfuncs.c:2879
static CommentStmt * _copyCommentStmt(const CommentStmt *from)
Definition: copyfuncs.c:3389
static CreateRangeStmt * _copyCreateRangeStmt(const CreateRangeStmt *from)
Definition: copyfuncs.c:3672
static AlterUserMappingStmt * _copyAlterUserMappingStmt(const AlterUserMappingStmt *from)
Definition: copyfuncs.c:4126
static IndexElem * _copyIndexElem(const IndexElem *from)
Definition: copyfuncs.c:2837
static CollateExpr * _copyCollateExpr(const CollateExpr *from)
Definition: copyfuncs.c:1743
static TypeCast * _copyTypeCast(const TypeCast *from)
Definition: copyfuncs.c:2813
static MultiAssignRef * _copyMultiAssignRef(const MultiAssignRef *from)
Definition: copyfuncs.c:2680
static OnConflictExpr * _copyOnConflictExpr(const OnConflictExpr *from)
Definition: copyfuncs.c:2121
static InferenceElem * _copyInferenceElem(const InferenceElem *from)
Definition: copyfuncs.c:2040
static IndexOnlyScan * _copyIndexOnlyScan(const IndexOnlyScan *from)
Definition: copyfuncs.c:502
static CreateConversionStmt * _copyCreateConversionStmt(const CreateConversionStmt *from)
Definition: copyfuncs.c:4362
static CreateForeignTableStmt * _copyCreateForeignTableStmt(const CreateForeignTableStmt *from)
Definition: copyfuncs.c:4150
static SubPlan * _copySubPlan(const SubPlan *from)
Definition: copyfuncs.c:1599
Definition: nodes.h:296
static DropdbStmt * _copyDropdbStmt(const DropdbStmt *from)
Definition: copyfuncs.c:3823
Definition: nodes.h:148
static CreateFdwStmt * _copyCreateFdwStmt(const CreateFdwStmt *from)
Definition: copyfuncs.c:4061
static SQLValueFunction * _copySQLValueFunction(const SQLValueFunction *from)
Definition: copyfuncs.c:1893
static DropTableSpaceStmt * _copyDropTableSpaceStmt(const DropTableSpaceStmt *from)
Definition: copyfuncs.c:3988
Definition: nodes.h:147
static RangeTblEntry * _copyRangeTblEntry(const RangeTblEntry *from)
Definition: copyfuncs.c:2337
static PlanRowMark * _copyPlanRowMark(const PlanRowMark *from)
Definition: copyfuncs.c:1163
static ListenStmt * _copyListenStmt(const ListenStmt *from)
Definition: copyfuncs.c:3617
static ProjectSet * _copyProjectSet(const ProjectSet *from)
Definition: copyfuncs.c:176
Definition: nodes.h:309
static DistinctExpr * _copyDistinctExpr(const DistinctExpr *from)
Definition: copyfuncs.c:1508
static LoadStmt * _copyLoadStmt(const LoadStmt *from)
Definition: copyfuncs.c:3713
static ConstraintsSetStmt * _copyConstraintsSetStmt(const ConstraintsSetStmt *from)
Definition: copyfuncs.c:4325
static BitmapIndexScan * _copyBitmapIndexScan(const BitmapIndexScan *from)
Definition: copyfuncs.c:527
static AlterTSDictionaryStmt * _copyAlterTSDictionaryStmt(const AlterTSDictionaryStmt *from)
Definition: copyfuncs.c:4445
static AlterDatabaseStmt * _copyAlterDatabaseStmt(const AlterDatabaseStmt *from)
Definition: copyfuncs.c:3801
static CoalesceExpr * _copyCoalesceExpr(const CoalesceExpr *from)
Definition: copyfuncs.c:1859
static CoerceToDomain * _copyCoerceToDomain(const CoerceToDomain *from)
Definition: copyfuncs.c:1961
static ReindexStmt * _copyReindexStmt(const ReindexStmt *from)
Definition: copyfuncs.c:4336
static ExtensibleNode * _copyExtensibleNode(const ExtensibleNode *from)
Definition: copyfuncs.c:4680
static RangeTableFuncCol * _copyRangeTableFuncCol(const RangeTableFuncCol *from)
Definition: copyfuncs.c:2797
static CaseWhen * _copyCaseWhen(const CaseWhen *from)
Definition: copyfuncs.c:1776
static Gather * _copyGather(const Gather *from)
Definition: copyfuncs.c:355
static FieldSelect * _copyFieldSelect(const FieldSelect *from)
Definition: copyfuncs.c:1640
static CoerceToDomainValue * _copyCoerceToDomainValue(const CoerceToDomainValue *from)
Definition: copyfuncs.c:1979
static SelectStmt * _copySelectStmt(const SelectStmt *from)
Definition: copyfuncs.c:3080
static ViewStmt * _copyViewStmt(const ViewStmt *from)
Definition: copyfuncs.c:3698
static AlterObjectDependsStmt * _copyAlterObjectDependsStmt(const AlterObjectDependsStmt *from)
Definition: copyfuncs.c:3539
static CoerceViaIO * _copyCoerceViaIO(const CoerceViaIO *from)
Definition: copyfuncs.c:1691
Definition: nodes.h:83
static ModifyTable * _copyModifyTable(const ModifyTable *from)
Definition: copyfuncs.c:192
static TableFunc * _copyTableFunc(const TableFunc *from)
Definition: copyfuncs.c:1235
static GrantRoleStmt * _copyGrantRoleStmt(const GrantRoleStmt *from)
Definition: copyfuncs.c:3218
static InsertStmt * _copyInsertStmt(const InsertStmt *from)
Definition: copyfuncs.c:3035
static Append * _copyAppend(const Append *from)
Definition: copyfuncs.c:233
#define makeNode(_type_)
Definition: nodes.h:565
static AppendRelInfo * _copyAppendRelInfo(const AppendRelInfo *from)
Definition: copyfuncs.c:2299
static NullTest * _copyNullTest(const NullTest *from)
Definition: copyfuncs.c:1930
static CreateTableAsStmt * _copyCreateTableAsStmt(const CreateTableAsStmt *from)
Definition: copyfuncs.c:3868
static Aggref * _copyAggref(const Aggref *from)
Definition: copyfuncs.c:1363
static CreateUserMappingStmt * _copyCreateUserMappingStmt(const CreateUserMappingStmt *from)
Definition: copyfuncs.c:4113
static A_Indices * _copyAIndices(const A_Indices *from)
Definition: copyfuncs.c:2633
static VacuumStmt * _copyVacuumStmt(const VacuumStmt *from)
Definition: copyfuncs.c:3834
static VacuumRelation * _copyVacuumRelation(const VacuumRelation *from)
Definition: copyfuncs.c:3845
static RangeTblRef * _copyRangeTblRef(const RangeTblRef *from)
Definition: copyfuncs.c:2074
static TableFuncScan * _copyTableFuncScan(const TableFuncScan *from)
Definition: copyfuncs.c:636
static WorkTableScan * _copyWorkTableScan(const WorkTableScan *from)
Definition: copyfuncs.c:721
static FieldStore * _copyFieldStore(const FieldStore *from)
Definition: copyfuncs.c:1657
static ForeignScan * _copyForeignScan(const ForeignScan *from)
Definition: copyfuncs.c:742
static CurrentOfExpr * _copyCurrentOfExpr(const CurrentOfExpr *from)
Definition: copyfuncs.c:2011
static SetOp * _copySetOp(const SetOp *from)
Definition: copyfuncs.c:1077
static ForeignKeyCacheInfo * _copyForeignKeyCacheInfo(const ForeignKeyCacheInfo *from)
Definition: copyfuncs.c:4731
static AlterOwnerStmt * _copyAlterOwnerStmt(const AlterOwnerStmt *from)
Definition: copyfuncs.c:3566
static RangeTblFunction * _copyRangeTblFunction(const RangeTblFunction *from)
Definition: copyfuncs.c:2377
static CreateCastStmt * _copyCreateCastStmt(const CreateCastStmt *from)
Definition: copyfuncs.c:4376
static JoinExpr * _copyJoinExpr(const JoinExpr *from)
Definition: copyfuncs.c:2087
static DropOwnedStmt * _copyDropOwnedStmt(const DropOwnedStmt *from)
Definition: copyfuncs.c:4423
static TargetEntry * _copyTargetEntry(const TargetEntry *from)
Definition: copyfuncs.c:2055
static CollateClause * _copyCollateClause(const CollateClause *from)
Definition: copyfuncs.c:2825
static PrepareStmt * _copyPrepareStmt(const PrepareStmt *from)
Definition: copyfuncs.c:4390
static AlterTableSpaceOptionsStmt * _copyAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *from)
Definition: copyfuncs.c:3999
static RangeTableSample * _copyRangeTableSample(const RangeTableSample *from)
Definition: copyfuncs.c:2767
static LockRows * _copyLockRows(const LockRows *from)
Definition: copyfuncs.c:1105
static CreatePLangStmt * _copyCreatePLangStmt(const CreatePLangStmt *from)
Definition: copyfuncs.c:4251
static GroupingFunc * _copyGroupingFunc(const GroupingFunc *from)
Definition: copyfuncs.c:1392
static Group * _copyGroup(const Group *from)
Definition: copyfuncs.c:952
static AlterSubscriptionStmt * _copyAlterSubscriptionStmt(const AlterSubscriptionStmt *from)
Definition: copyfuncs.c:4608
static CustomScan * _copyCustomScan(const CustomScan *from)
Definition: copyfuncs.c:770