Header And Logo

PostgreSQL
| The world's most advanced open source database.

Defines | Functions

copyfuncs.c File Reference

#include "postgres.h"
#include "miscadmin.h"
#include "nodes/plannodes.h"
#include "nodes/relation.h"
#include "utils/datum.h"
Include dependency graph for copyfuncs.c:

Go to the source code of this file.

Defines

#define COPY_SCALAR_FIELD(fldname)   (newnode->fldname = from->fldname)
#define COPY_NODE_FIELD(fldname)   (newnode->fldname = copyObject(from->fldname))
#define COPY_BITMAPSET_FIELD(fldname)   (newnode->fldname = bms_copy(from->fldname))
#define COPY_STRING_FIELD(fldname)   (newnode->fldname = from->fldname ? pstrdup(from->fldname) : (char *) NULL)
#define COPY_POINTER_FIELD(fldname, sz)
#define COPY_LOCATION_FIELD(fldname)   (newnode->fldname = from->fldname)
#define COPY_NODE_CELL(new, old)

Functions

static PlannedStmt_copyPlannedStmt (const PlannedStmt *from)
static void CopyPlanFields (const Plan *from, Plan *newnode)
static Plan_copyPlan (const Plan *from)
static Result_copyResult (const Result *from)
static ModifyTable_copyModifyTable (const ModifyTable *from)
static Append_copyAppend (const Append *from)
static MergeAppend_copyMergeAppend (const MergeAppend *from)
static RecursiveUnion_copyRecursiveUnion (const RecursiveUnion *from)
static BitmapAnd_copyBitmapAnd (const BitmapAnd *from)
static BitmapOr_copyBitmapOr (const BitmapOr *from)
static void CopyScanFields (const Scan *from, Scan *newnode)
static Scan_copyScan (const Scan *from)
static SeqScan_copySeqScan (const SeqScan *from)
static IndexScan_copyIndexScan (const IndexScan *from)
static IndexOnlyScan_copyIndexOnlyScan (const IndexOnlyScan *from)
static BitmapIndexScan_copyBitmapIndexScan (const BitmapIndexScan *from)
static BitmapHeapScan_copyBitmapHeapScan (const BitmapHeapScan *from)
static TidScan_copyTidScan (const TidScan *from)
static SubqueryScan_copySubqueryScan (const SubqueryScan *from)
static FunctionScan_copyFunctionScan (const FunctionScan *from)
static ValuesScan_copyValuesScan (const ValuesScan *from)
static CteScan_copyCteScan (const CteScan *from)
static WorkTableScan_copyWorkTableScan (const WorkTableScan *from)
static ForeignScan_copyForeignScan (const ForeignScan *from)
static void CopyJoinFields (const Join *from, Join *newnode)
static Join_copyJoin (const Join *from)
static NestLoop_copyNestLoop (const NestLoop *from)
static MergeJoin_copyMergeJoin (const MergeJoin *from)
static HashJoin_copyHashJoin (const HashJoin *from)
static Material_copyMaterial (const Material *from)
static Sort_copySort (const Sort *from)
static Group_copyGroup (const Group *from)
static Agg_copyAgg (const Agg *from)
static WindowAgg_copyWindowAgg (const WindowAgg *from)
static Unique_copyUnique (const Unique *from)
static Hash_copyHash (const Hash *from)
static SetOp_copySetOp (const SetOp *from)
static LockRows_copyLockRows (const LockRows *from)
static Limit_copyLimit (const Limit *from)
static NestLoopParam_copyNestLoopParam (const NestLoopParam *from)
static PlanRowMark_copyPlanRowMark (const PlanRowMark *from)
static PlanInvalItem_copyPlanInvalItem (const PlanInvalItem *from)
static Alias_copyAlias (const Alias *from)
static RangeVar_copyRangeVar (const RangeVar *from)
static IntoClause_copyIntoClause (const IntoClause *from)
static Var_copyVar (const Var *from)
static Const_copyConst (const Const *from)
static Param_copyParam (const Param *from)
static Aggref_copyAggref (const Aggref *from)
static WindowFunc_copyWindowFunc (const WindowFunc *from)
static ArrayRef_copyArrayRef (const ArrayRef *from)
static FuncExpr_copyFuncExpr (const FuncExpr *from)
static NamedArgExpr_copyNamedArgExpr (const NamedArgExpr *from)
static OpExpr_copyOpExpr (const OpExpr *from)
static DistinctExpr_copyDistinctExpr (const DistinctExpr *from)
static NullIfExpr_copyNullIfExpr (const NullIfExpr *from)
static ScalarArrayOpExpr_copyScalarArrayOpExpr (const ScalarArrayOpExpr *from)
static BoolExpr_copyBoolExpr (const BoolExpr *from)
static SubLink_copySubLink (const SubLink *from)
static SubPlan_copySubPlan (const SubPlan *from)
static AlternativeSubPlan_copyAlternativeSubPlan (const AlternativeSubPlan *from)
static FieldSelect_copyFieldSelect (const FieldSelect *from)
static FieldStore_copyFieldStore (const FieldStore *from)
static RelabelType_copyRelabelType (const RelabelType *from)
static CoerceViaIO_copyCoerceViaIO (const CoerceViaIO *from)
static ArrayCoerceExpr_copyArrayCoerceExpr (const ArrayCoerceExpr *from)
static ConvertRowtypeExpr_copyConvertRowtypeExpr (const ConvertRowtypeExpr *from)
static CollateExpr_copyCollateExpr (const CollateExpr *from)
static CaseExpr_copyCaseExpr (const CaseExpr *from)
static CaseWhen_copyCaseWhen (const CaseWhen *from)
static CaseTestExpr_copyCaseTestExpr (const CaseTestExpr *from)
static ArrayExpr_copyArrayExpr (const ArrayExpr *from)
static RowExpr_copyRowExpr (const RowExpr *from)
static RowCompareExpr_copyRowCompareExpr (const RowCompareExpr *from)
static CoalesceExpr_copyCoalesceExpr (const CoalesceExpr *from)
static MinMaxExpr_copyMinMaxExpr (const MinMaxExpr *from)
static XmlExpr_copyXmlExpr (const XmlExpr *from)
static NullTest_copyNullTest (const NullTest *from)
static BooleanTest_copyBooleanTest (const BooleanTest *from)
static CoerceToDomain_copyCoerceToDomain (const CoerceToDomain *from)
static CoerceToDomainValue_copyCoerceToDomainValue (const CoerceToDomainValue *from)
static SetToDefault_copySetToDefault (const SetToDefault *from)
static CurrentOfExpr_copyCurrentOfExpr (const CurrentOfExpr *from)
static TargetEntry_copyTargetEntry (const TargetEntry *from)
static RangeTblRef_copyRangeTblRef (const RangeTblRef *from)
static JoinExpr_copyJoinExpr (const JoinExpr *from)
static FromExpr_copyFromExpr (const FromExpr *from)
static PathKey_copyPathKey (const PathKey *from)
static RestrictInfo_copyRestrictInfo (const RestrictInfo *from)
static PlaceHolderVar_copyPlaceHolderVar (const PlaceHolderVar *from)
static SpecialJoinInfo_copySpecialJoinInfo (const SpecialJoinInfo *from)
static LateralJoinInfo_copyLateralJoinInfo (const LateralJoinInfo *from)
static AppendRelInfo_copyAppendRelInfo (const AppendRelInfo *from)
static PlaceHolderInfo_copyPlaceHolderInfo (const PlaceHolderInfo *from)
static RangeTblEntry_copyRangeTblEntry (const RangeTblEntry *from)
static SortGroupClause_copySortGroupClause (const SortGroupClause *from)
static WindowClause_copyWindowClause (const WindowClause *from)
static RowMarkClause_copyRowMarkClause (const RowMarkClause *from)
static WithClause_copyWithClause (const WithClause *from)
static CommonTableExpr_copyCommonTableExpr (const CommonTableExpr *from)
static A_Expr_copyAExpr (const A_Expr *from)
static ColumnRef_copyColumnRef (const ColumnRef *from)
static ParamRef_copyParamRef (const ParamRef *from)
static A_Const_copyAConst (const A_Const *from)
static FuncCall_copyFuncCall (const FuncCall *from)
static A_Star_copyAStar (const A_Star *from)
static A_Indices_copyAIndices (const A_Indices *from)
static A_Indirection_copyA_Indirection (const A_Indirection *from)
static A_ArrayExpr_copyA_ArrayExpr (const A_ArrayExpr *from)
static ResTarget_copyResTarget (const ResTarget *from)
static TypeName_copyTypeName (const TypeName *from)
static SortBy_copySortBy (const SortBy *from)
static WindowDef_copyWindowDef (const WindowDef *from)
static RangeSubselect_copyRangeSubselect (const RangeSubselect *from)
static RangeFunction_copyRangeFunction (const RangeFunction *from)
static TypeCast_copyTypeCast (const TypeCast *from)
static CollateClause_copyCollateClause (const CollateClause *from)
static IndexElem_copyIndexElem (const IndexElem *from)
static ColumnDef_copyColumnDef (const ColumnDef *from)
static Constraint_copyConstraint (const Constraint *from)
static DefElem_copyDefElem (const DefElem *from)
static LockingClause_copyLockingClause (const LockingClause *from)
static XmlSerialize_copyXmlSerialize (const XmlSerialize *from)
static Query_copyQuery (const Query *from)
static InsertStmt_copyInsertStmt (const InsertStmt *from)
static DeleteStmt_copyDeleteStmt (const DeleteStmt *from)
static UpdateStmt_copyUpdateStmt (const UpdateStmt *from)
static SelectStmt_copySelectStmt (const SelectStmt *from)
static SetOperationStmt_copySetOperationStmt (const SetOperationStmt *from)
static AlterTableStmt_copyAlterTableStmt (const AlterTableStmt *from)
static AlterTableCmd_copyAlterTableCmd (const AlterTableCmd *from)
static AlterDomainStmt_copyAlterDomainStmt (const AlterDomainStmt *from)
static GrantStmt_copyGrantStmt (const GrantStmt *from)
static PrivGrantee_copyPrivGrantee (const PrivGrantee *from)
static FuncWithArgs_copyFuncWithArgs (const FuncWithArgs *from)
static AccessPriv_copyAccessPriv (const AccessPriv *from)
static GrantRoleStmt_copyGrantRoleStmt (const GrantRoleStmt *from)
static AlterDefaultPrivilegesStmt_copyAlterDefaultPrivilegesStmt (const AlterDefaultPrivilegesStmt *from)
static DeclareCursorStmt_copyDeclareCursorStmt (const DeclareCursorStmt *from)
static ClosePortalStmt_copyClosePortalStmt (const ClosePortalStmt *from)
static ClusterStmt_copyClusterStmt (const ClusterStmt *from)
static CopyStmt_copyCopyStmt (const CopyStmt *from)
static void CopyCreateStmtFields (const CreateStmt *from, CreateStmt *newnode)
static CreateStmt_copyCreateStmt (const CreateStmt *from)
static TableLikeClause_copyTableLikeClause (const TableLikeClause *from)
static DefineStmt_copyDefineStmt (const DefineStmt *from)
static DropStmt_copyDropStmt (const DropStmt *from)
static TruncateStmt_copyTruncateStmt (const TruncateStmt *from)
static CommentStmt_copyCommentStmt (const CommentStmt *from)
static SecLabelStmt_copySecLabelStmt (const SecLabelStmt *from)
static FetchStmt_copyFetchStmt (const FetchStmt *from)
static IndexStmt_copyIndexStmt (const IndexStmt *from)
static CreateFunctionStmt_copyCreateFunctionStmt (const CreateFunctionStmt *from)
static FunctionParameter_copyFunctionParameter (const FunctionParameter *from)
static AlterFunctionStmt_copyAlterFunctionStmt (const AlterFunctionStmt *from)
static DoStmt_copyDoStmt (const DoStmt *from)
static RenameStmt_copyRenameStmt (const RenameStmt *from)
static AlterObjectSchemaStmt_copyAlterObjectSchemaStmt (const AlterObjectSchemaStmt *from)
static AlterOwnerStmt_copyAlterOwnerStmt (const AlterOwnerStmt *from)
static RuleStmt_copyRuleStmt (const RuleStmt *from)
static NotifyStmt_copyNotifyStmt (const NotifyStmt *from)
static ListenStmt_copyListenStmt (const ListenStmt *from)
static UnlistenStmt_copyUnlistenStmt (const UnlistenStmt *from)
static TransactionStmt_copyTransactionStmt (const TransactionStmt *from)
static CompositeTypeStmt_copyCompositeTypeStmt (const CompositeTypeStmt *from)
static CreateEnumStmt_copyCreateEnumStmt (const CreateEnumStmt *from)
static CreateRangeStmt_copyCreateRangeStmt (const CreateRangeStmt *from)
static AlterEnumStmt_copyAlterEnumStmt (const AlterEnumStmt *from)
static ViewStmt_copyViewStmt (const ViewStmt *from)
static LoadStmt_copyLoadStmt (const LoadStmt *from)
static CreateDomainStmt_copyCreateDomainStmt (const CreateDomainStmt *from)
static CreateOpClassStmt_copyCreateOpClassStmt (const CreateOpClassStmt *from)
static CreateOpClassItem_copyCreateOpClassItem (const CreateOpClassItem *from)
static CreateOpFamilyStmt_copyCreateOpFamilyStmt (const CreateOpFamilyStmt *from)
static AlterOpFamilyStmt_copyAlterOpFamilyStmt (const AlterOpFamilyStmt *from)
static CreatedbStmt_copyCreatedbStmt (const CreatedbStmt *from)
static AlterDatabaseStmt_copyAlterDatabaseStmt (const AlterDatabaseStmt *from)
static AlterDatabaseSetStmt_copyAlterDatabaseSetStmt (const AlterDatabaseSetStmt *from)
static DropdbStmt_copyDropdbStmt (const DropdbStmt *from)
static VacuumStmt_copyVacuumStmt (const VacuumStmt *from)
static ExplainStmt_copyExplainStmt (const ExplainStmt *from)
static CreateTableAsStmt_copyCreateTableAsStmt (const CreateTableAsStmt *from)
static RefreshMatViewStmt_copyRefreshMatViewStmt (const RefreshMatViewStmt *from)
static CreateSeqStmt_copyCreateSeqStmt (const CreateSeqStmt *from)
static AlterSeqStmt_copyAlterSeqStmt (const AlterSeqStmt *from)
static VariableSetStmt_copyVariableSetStmt (const VariableSetStmt *from)
static VariableShowStmt_copyVariableShowStmt (const VariableShowStmt *from)
static DiscardStmt_copyDiscardStmt (const DiscardStmt *from)
static CreateTableSpaceStmt_copyCreateTableSpaceStmt (const CreateTableSpaceStmt *from)
static DropTableSpaceStmt_copyDropTableSpaceStmt (const DropTableSpaceStmt *from)
static AlterTableSpaceOptionsStmt_copyAlterTableSpaceOptionsStmt (const AlterTableSpaceOptionsStmt *from)
static CreateExtensionStmt_copyCreateExtensionStmt (const CreateExtensionStmt *from)
static AlterExtensionStmt_copyAlterExtensionStmt (const AlterExtensionStmt *from)
static AlterExtensionContentsStmt_copyAlterExtensionContentsStmt (const AlterExtensionContentsStmt *from)
static CreateFdwStmt_copyCreateFdwStmt (const CreateFdwStmt *from)
static AlterFdwStmt_copyAlterFdwStmt (const AlterFdwStmt *from)
static CreateForeignServerStmt_copyCreateForeignServerStmt (const CreateForeignServerStmt *from)
static AlterForeignServerStmt_copyAlterForeignServerStmt (const AlterForeignServerStmt *from)
static CreateUserMappingStmt_copyCreateUserMappingStmt (const CreateUserMappingStmt *from)
static AlterUserMappingStmt_copyAlterUserMappingStmt (const AlterUserMappingStmt *from)
static DropUserMappingStmt_copyDropUserMappingStmt (const DropUserMappingStmt *from)
static CreateForeignTableStmt_copyCreateForeignTableStmt (const CreateForeignTableStmt *from)
static CreateTrigStmt_copyCreateTrigStmt (const CreateTrigStmt *from)
static CreateEventTrigStmt_copyCreateEventTrigStmt (const CreateEventTrigStmt *from)
static AlterEventTrigStmt_copyAlterEventTrigStmt (const AlterEventTrigStmt *from)
static CreatePLangStmt_copyCreatePLangStmt (const CreatePLangStmt *from)
static CreateRoleStmt_copyCreateRoleStmt (const CreateRoleStmt *from)
static AlterRoleStmt_copyAlterRoleStmt (const AlterRoleStmt *from)
static AlterRoleSetStmt_copyAlterRoleSetStmt (const AlterRoleSetStmt *from)
static DropRoleStmt_copyDropRoleStmt (const DropRoleStmt *from)
static LockStmt_copyLockStmt (const LockStmt *from)
static ConstraintsSetStmt_copyConstraintsSetStmt (const ConstraintsSetStmt *from)
static ReindexStmt_copyReindexStmt (const ReindexStmt *from)
static CreateSchemaStmt_copyCreateSchemaStmt (const CreateSchemaStmt *from)
static CreateConversionStmt_copyCreateConversionStmt (const CreateConversionStmt *from)
static CreateCastStmt_copyCreateCastStmt (const CreateCastStmt *from)
static PrepareStmt_copyPrepareStmt (const PrepareStmt *from)
static ExecuteStmt_copyExecuteStmt (const ExecuteStmt *from)
static DeallocateStmt_copyDeallocateStmt (const DeallocateStmt *from)
static DropOwnedStmt_copyDropOwnedStmt (const DropOwnedStmt *from)
static ReassignOwnedStmt_copyReassignOwnedStmt (const ReassignOwnedStmt *from)
static AlterTSDictionaryStmt_copyAlterTSDictionaryStmt (const AlterTSDictionaryStmt *from)
static AlterTSConfigurationStmt_copyAlterTSConfigurationStmt (const AlterTSConfigurationStmt *from)
static List_copyList (const List *from)
static Value_copyValue (const Value *from)
void * copyObject (const void *from)

Define Documentation

#define COPY_BITMAPSET_FIELD (   fldname  )     (newnode->fldname = bms_copy(from->fldname))
#define COPY_LOCATION_FIELD (   fldname  )     (newnode->fldname = from->fldname)
#define COPY_NODE_CELL (   new,
  old 
)
Value:
(new) = (ListCell *) palloc(sizeof(ListCell));  \
    lfirst(new) = copyObject(lfirst(old));

Definition at line 3756 of file copyfuncs.c.

Referenced by _copyList().

#define COPY_NODE_FIELD (   fldname  )     (newnode->fldname = copyObject(from->fldname))

Definition at line 43 of file copyfuncs.c.

Referenced by _copyA_ArrayExpr(), _copyA_Indirection(), _copyAccessPriv(), _copyAExpr(), _copyAggref(), _copyAIndices(), _copyAlias(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectSchemaStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterTableCmd(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _copyBooleanTest(), _copyBoolExpr(), _copyCaseExpr(), _copyCaseWhen(), _copyClusterStmt(), _copyCoalesceExpr(), _copyCoerceToDomain(), _copyCoerceViaIO(), _copyCollateClause(), _copyCollateExpr(), _copyColumnDef(), _copyColumnRef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyCompositeTypeStmt(), _copyConstraint(), _copyConstraintsSetStmt(), _copyConvertRowtypeExpr(), _copyCopyStmt(), _copyCreateCastStmt(), _copyCreateConversionStmt(), _copyCreatedbStmt(), _copyCreateDomainStmt(), _copyCreateEnumStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFdwStmt(), _copyCreateForeignServerStmt(), _copyCreateForeignTableStmt(), _copyCreateFunctionStmt(), _copyCreateOpClassItem(), _copyCreateOpClassStmt(), _copyCreateOpFamilyStmt(), _copyCreatePLangStmt(), _copyCreateRangeStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateSeqStmt(), _copyCreateTableAsStmt(), _copyCreateTrigStmt(), _copyCreateUserMappingStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyFuncWithArgs(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyHashJoin(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInsertStmt(), _copyIntoClause(), _copyJoinExpr(), _copyLimit(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMergeAppend(), _copyMergeJoin(), _copyMinMaxExpr(), _copyModifyTable(), _copyNamedArgExpr(), _copyNestLoop(), _copyNestLoopParam(), _copyNullIfExpr(), _copyNullTest(), _copyOpExpr(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlannedStmt(), _copyPrepareStmt(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTblEntry(), _copyRangeVar(), _copyReassignOwnedStmt(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyRowCompareExpr(), _copyRowExpr(), _copyRuleStmt(), _copyScalarArrayOpExpr(), _copySecLabelStmt(), _copySelectStmt(), _copySetOperationStmt(), _copySortBy(), _copySpecialJoinInfo(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copyTableLikeClause(), _copyTargetEntry(), _copyTidScan(), _copyTransactionStmt(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUpdateStmt(), _copyVacuumStmt(), _copyValuesScan(), _copyVariableSetStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithClause(), _copyXmlExpr(), _copyXmlSerialize(), CopyCreateStmtFields(), CopyJoinFields(), and CopyPlanFields().

#define COPY_POINTER_FIELD (   fldname,
  sz 
)
Value:
do { \
        Size    _size = (sz); \
        newnode->fldname = palloc(_size); \
        memcpy(newnode->fldname, from->fldname, _size); \
    } while (0)

Definition at line 55 of file copyfuncs.c.

Referenced by _copyAgg(), _copyGroup(), _copyMergeAppend(), _copyMergeJoin(), _copyRecursiveUnion(), _copySetOp(), _copySort(), _copyUnique(), and _copyWindowAgg().

#define COPY_SCALAR_FIELD (   fldname  )     (newnode->fldname = from->fldname)

Definition at line 39 of file copyfuncs.c.

Referenced by _copyAConst(), _copyAExpr(), _copyAgg(), _copyAggref(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterForeignServerStmt(), _copyAlterObjectSchemaStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterTableCmd(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyBitmapIndexScan(), _copyBooleanTest(), _copyBoolExpr(), _copyCaseExpr(), _copyCaseTestExpr(), _copyClusterStmt(), _copyCoalesceExpr(), _copyCoerceToDomain(), _copyCoerceToDomainValue(), _copyCoerceViaIO(), _copyCollateExpr(), _copyColumnDef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyConst(), _copyConstraint(), _copyConstraintsSetStmt(), _copyConvertRowtypeExpr(), _copyCopyStmt(), _copyCreateCastStmt(), _copyCreateConversionStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFunctionStmt(), _copyCreateOpClassItem(), _copyCreateOpClassStmt(), _copyCreatePLangStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateSeqStmt(), _copyCreateTableAsStmt(), _copyCreateTrigStmt(), _copyCteScan(), _copyCurrentOfExpr(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignScan(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyHash(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyIntoClause(), _copyJoinExpr(), _copyLateralJoinInfo(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMergeAppend(), _copyMinMaxExpr(), _copyModifyTable(), _copyNamedArgExpr(), _copyNestLoopParam(), _copyNullIfExpr(), _copyNullTest(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTblEntry(), _copyRangeTblRef(), _copyRangeVar(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyRestrictInfo(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copyScalarArrayOpExpr(), _copySecLabelStmt(), _copySelectStmt(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySubLink(), _copySubPlan(), _copyTableLikeClause(), _copyTargetEntry(), _copyTransactionStmt(), _copyTruncateStmt(), _copyTypeName(), _copyUnique(), _copyVacuumStmt(), _copyValue(), _copyVar(), _copyVariableSetStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), CopyCreateStmtFields(), CopyJoinFields(), CopyPlanFields(), and CopyScanFields().

#define COPY_STRING_FIELD (   fldname  )     (newnode->fldname = from->fldname ? pstrdup(from->fldname) : (char *) NULL)

Definition at line 51 of file copyfuncs.c.

Referenced by _copyAccessPriv(), _copyAConst(), _copyAlias(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterObjectSchemaStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterTableCmd(), _copyAlterTableSpaceOptionsStmt(), _copyAlterUserMappingStmt(), _copyClosePortalStmt(), _copyClusterStmt(), _copyColumnDef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyConstraint(), _copyCopyStmt(), _copyCreateConversionStmt(), _copyCreatedbStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFdwStmt(), _copyCreateForeignServerStmt(), _copyCreateForeignTableStmt(), _copyCreateOpClassStmt(), _copyCreateOpFamilyStmt(), _copyCreatePLangStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateTableSpaceStmt(), _copyCreateTrigStmt(), _copyCreateUserMappingStmt(), _copyCurrentOfExpr(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDropdbStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyFetchStmt(), _copyFunctionParameter(), _copyGrantRoleStmt(), _copyIndexElem(), _copyIndexStmt(), _copyIntoClause(), _copyListenStmt(), _copyLoadStmt(), _copyNamedArgExpr(), _copyNotifyStmt(), _copyPrepareStmt(), _copyPrivGrantee(), _copyRangeTblEntry(), _copyRangeVar(), _copyReassignOwnedStmt(), _copyReindexStmt(), _copyRenameStmt(), _copyResTarget(), _copyRuleStmt(), _copySecLabelStmt(), _copySubPlan(), _copyTargetEntry(), _copyTransactionStmt(), _copyUnlistenStmt(), _copyValue(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyWindowClause(), _copyWindowDef(), _copyXmlExpr(), and CopyCreateStmtFields().


Function Documentation

static A_ArrayExpr* _copyA_ArrayExpr ( const A_ArrayExpr from  )  [static]

Definition at line 2195 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    A_ArrayExpr *newnode = makeNode(A_ArrayExpr);

    COPY_NODE_FIELD(elements);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static A_Indirection* _copyA_Indirection ( const A_Indirection from  )  [static]

Definition at line 2184 of file copyfuncs.c.

References arg, COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    A_Indirection *newnode = makeNode(A_Indirection);

    COPY_NODE_FIELD(arg);
    COPY_NODE_FIELD(indirection);

    return newnode;
}

static AccessPriv* _copyAccessPriv ( const AccessPriv from  )  [static]

Definition at line 2629 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AccessPriv *newnode = makeNode(AccessPriv);

    COPY_STRING_FIELD(priv_name);
    COPY_NODE_FIELD(cols);

    return newnode;
}

static A_Const* _copyAConst ( const A_Const from  )  [static]

Definition at line 2117 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, elog, ERROR, makeNode, T_BitString, T_Float, T_Integer, T_Null, T_String, Value::type, A_Const::val, and val.

Referenced by copyObject().

{
    A_Const    *newnode = makeNode(A_Const);

    /* This part must duplicate _copyValue */
    COPY_SCALAR_FIELD(val.type);
    switch (from->val.type)
    {
        case T_Integer:
            COPY_SCALAR_FIELD(val.val.ival);
            break;
        case T_Float:
        case T_String:
        case T_BitString:
            COPY_STRING_FIELD(val.val.str);
            break;
        case T_Null:
            /* nothing to do */
            break;
        default:
            elog(ERROR, "unrecognized node type: %d",
                 (int) from->val.type);
            break;
    }

    COPY_LOCATION_FIELD(location);

    return newnode;
}

static A_Expr* _copyAExpr ( const A_Expr from  )  [static]

Definition at line 2081 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, makeNode, and name.

Referenced by copyObject().

{
    A_Expr     *newnode = makeNode(A_Expr);

    COPY_SCALAR_FIELD(kind);
    COPY_NODE_FIELD(name);
    COPY_NODE_FIELD(lexpr);
    COPY_NODE_FIELD(rexpr);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static Agg* _copyAgg ( const Agg from  )  [static]

Definition at line 770 of file copyfuncs.c.

References COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Agg        *newnode = makeNode(Agg);

    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    COPY_SCALAR_FIELD(aggstrategy);
    COPY_SCALAR_FIELD(numCols);
    if (from->numCols > 0)
    {
        COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber));
        COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid));
    }
    COPY_SCALAR_FIELD(numGroups);

    return newnode;
}

static Aggref* _copyAggref ( const Aggref from  )  [static]

Definition at line 1129 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    Aggref     *newnode = makeNode(Aggref);

    COPY_SCALAR_FIELD(aggfnoid);
    COPY_SCALAR_FIELD(aggtype);
    COPY_SCALAR_FIELD(aggcollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_NODE_FIELD(aggorder);
    COPY_NODE_FIELD(aggdistinct);
    COPY_SCALAR_FIELD(aggstar);
    COPY_SCALAR_FIELD(agglevelsup);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static A_Indices* _copyAIndices ( const A_Indices from  )  [static]

Definition at line 2173 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    A_Indices  *newnode = makeNode(A_Indices);

    COPY_NODE_FIELD(lidx);
    COPY_NODE_FIELD(uidx);

    return newnode;
}

static Alias* _copyAlias ( const Alias from  )  [static]

Definition at line 993 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    Alias      *newnode = makeNode(Alias);

    COPY_STRING_FIELD(aliasname);
    COPY_NODE_FIELD(colnames);

    return newnode;
}

static AlterDatabaseSetStmt* _copyAlterDatabaseSetStmt ( const AlterDatabaseSetStmt from  )  [static]

Definition at line 3180 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterDatabaseSetStmt *newnode = makeNode(AlterDatabaseSetStmt);

    COPY_STRING_FIELD(dbname);
    COPY_NODE_FIELD(setstmt);

    return newnode;
}

static AlterDatabaseStmt* _copyAlterDatabaseStmt ( const AlterDatabaseStmt from  )  [static]

Definition at line 3169 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterDefaultPrivilegesStmt* _copyAlterDefaultPrivilegesStmt ( const AlterDefaultPrivilegesStmt from  )  [static]

Definition at line 2655 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

static AlterDomainStmt* _copyAlterDomainStmt ( const AlterDomainStmt from  )  [static]

Definition at line 2576 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    AlterDomainStmt *newnode = makeNode(AlterDomainStmt);

    COPY_SCALAR_FIELD(subtype);
    COPY_NODE_FIELD(typeName);
    COPY_STRING_FIELD(name);
    COPY_NODE_FIELD(def);
    COPY_SCALAR_FIELD(behavior);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static AlterEnumStmt* _copyAlterEnumStmt ( const AlterEnumStmt from  )  [static]

Definition at line 3052 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterEnumStmt *newnode = makeNode(AlterEnumStmt);

    COPY_NODE_FIELD(typeName);
    COPY_STRING_FIELD(newVal);
    COPY_STRING_FIELD(newValNeighbor);
    COPY_SCALAR_FIELD(newValIsAfter);
    COPY_SCALAR_FIELD(skipIfExists);

    return newnode;
}

static AlterEventTrigStmt* _copyAlterEventTrigStmt ( const AlterEventTrigStmt from  )  [static]

Definition at line 3515 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterEventTrigStmt *newnode = makeNode(AlterEventTrigStmt);

    COPY_STRING_FIELD(trigname);
    COPY_SCALAR_FIELD(tgenabled);

    return newnode;
}

static AlterExtensionContentsStmt* _copyAlterExtensionContentsStmt ( const AlterExtensionContentsStmt from  )  [static]

Definition at line 3366 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterExtensionStmt* _copyAlterExtensionStmt ( const AlterExtensionStmt from  )  [static]

Definition at line 3355 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterFdwStmt* _copyAlterFdwStmt ( const AlterFdwStmt from  )  [static]

Definition at line 3392 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterFdwStmt *newnode = makeNode(AlterFdwStmt);

    COPY_STRING_FIELD(fdwname);
    COPY_NODE_FIELD(func_options);
    COPY_NODE_FIELD(options);

    return newnode;
}

static AlterForeignServerStmt* _copyAlterForeignServerStmt ( const AlterForeignServerStmt from  )  [static]

Definition at line 3418 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterFunctionStmt* _copyAlterFunctionStmt ( const AlterFunctionStmt from  )  [static]

Definition at line 2892 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterFunctionStmt *newnode = makeNode(AlterFunctionStmt);

    COPY_NODE_FIELD(func);
    COPY_NODE_FIELD(actions);

    return newnode;
}

static AlternativeSubPlan* _copyAlternativeSubPlan ( const AlternativeSubPlan from  )  [static]

Definition at line 1366 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    AlternativeSubPlan *newnode = makeNode(AlternativeSubPlan);

    COPY_NODE_FIELD(subplans);

    return newnode;
}

static AlterObjectSchemaStmt* _copyAlterObjectSchemaStmt ( const AlterObjectSchemaStmt from  )  [static]

Definition at line 2931 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterOpFamilyStmt* _copyAlterOpFamilyStmt ( const AlterOpFamilyStmt from  )  [static]

Definition at line 3145 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterOpFamilyStmt *newnode = makeNode(AlterOpFamilyStmt);

    COPY_NODE_FIELD(opfamilyname);
    COPY_STRING_FIELD(amname);
    COPY_SCALAR_FIELD(isDrop);
    COPY_NODE_FIELD(items);

    return newnode;
}

static AlterOwnerStmt* _copyAlterOwnerStmt ( const AlterOwnerStmt from  )  [static]

Definition at line 2946 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterOwnerStmt *newnode = makeNode(AlterOwnerStmt);

    COPY_SCALAR_FIELD(objectType);
    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(object);
    COPY_NODE_FIELD(objarg);
    COPY_STRING_FIELD(newowner);

    return newnode;
}

static AlterRoleSetStmt* _copyAlterRoleSetStmt ( const AlterRoleSetStmt from  )  [static]

Definition at line 3565 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterRoleSetStmt *newnode = makeNode(AlterRoleSetStmt);

    COPY_STRING_FIELD(role);
    COPY_STRING_FIELD(database);
    COPY_NODE_FIELD(setstmt);

    return newnode;
}

static AlterRoleStmt* _copyAlterRoleStmt ( const AlterRoleStmt from  )  [static]

Definition at line 3553 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterSeqStmt* _copyAlterSeqStmt ( const AlterSeqStmt from  )  [static]

Definition at line 3263 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterSeqStmt *newnode = makeNode(AlterSeqStmt);

    COPY_NODE_FIELD(sequence);
    COPY_NODE_FIELD(options);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static AlterTableCmd* _copyAlterTableCmd ( const AlterTableCmd from  )  [static]

Definition at line 2562 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    AlterTableCmd *newnode = makeNode(AlterTableCmd);

    COPY_SCALAR_FIELD(subtype);
    COPY_STRING_FIELD(name);
    COPY_NODE_FIELD(def);
    COPY_SCALAR_FIELD(behavior);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static AlterTableSpaceOptionsStmt* _copyAlterTableSpaceOptionsStmt ( const AlterTableSpaceOptionsStmt from  )  [static]

Definition at line 3331 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static AlterTableStmt* _copyAlterTableStmt ( const AlterTableStmt from  )  [static]

Definition at line 2549 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterTableStmt *newnode = makeNode(AlterTableStmt);

    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(cmds);
    COPY_SCALAR_FIELD(relkind);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static AlterTSConfigurationStmt* _copyAlterTSConfigurationStmt ( const AlterTSConfigurationStmt from  )  [static]

Definition at line 3732 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    AlterTSConfigurationStmt *newnode = makeNode(AlterTSConfigurationStmt);

    COPY_NODE_FIELD(cfgname);
    COPY_NODE_FIELD(tokentype);
    COPY_NODE_FIELD(dicts);
    COPY_SCALAR_FIELD(override);
    COPY_SCALAR_FIELD(replace);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static AlterTSDictionaryStmt* _copyAlterTSDictionaryStmt ( const AlterTSDictionaryStmt from  )  [static]

Definition at line 3721 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

static AlterUserMappingStmt* _copyAlterUserMappingStmt ( const AlterUserMappingStmt from  )  [static]

Definition at line 3443 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, makeNode, and username.

Referenced by copyObject().

static Append* _copyAppend ( const Append from  )  [static]

Definition at line 193 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Append     *newnode = makeNode(Append);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(appendplans);

    return newnode;
}

static AppendRelInfo* _copyAppendRelInfo ( const AppendRelInfo from  )  [static]

Definition at line 1930 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    AppendRelInfo *newnode = makeNode(AppendRelInfo);

    COPY_SCALAR_FIELD(parent_relid);
    COPY_SCALAR_FIELD(child_relid);
    COPY_SCALAR_FIELD(parent_reltype);
    COPY_SCALAR_FIELD(child_reltype);
    COPY_NODE_FIELD(translated_vars);
    COPY_SCALAR_FIELD(parent_reloid);

    return newnode;
}

static ArrayCoerceExpr* _copyArrayCoerceExpr ( const ArrayCoerceExpr from  )  [static]

Definition at line 1447 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ArrayCoerceExpr *newnode = makeNode(ArrayCoerceExpr);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(elemfuncid);
    COPY_SCALAR_FIELD(resulttype);
    COPY_SCALAR_FIELD(resulttypmod);
    COPY_SCALAR_FIELD(resultcollid);
    COPY_SCALAR_FIELD(isExplicit);
    COPY_SCALAR_FIELD(coerceformat);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ArrayExpr* _copyArrayExpr ( const ArrayExpr from  )  [static]

Definition at line 1546 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ArrayExpr  *newnode = makeNode(ArrayExpr);

    COPY_SCALAR_FIELD(array_typeid);
    COPY_SCALAR_FIELD(array_collid);
    COPY_SCALAR_FIELD(element_typeid);
    COPY_NODE_FIELD(elements);
    COPY_SCALAR_FIELD(multidims);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ArrayRef* _copyArrayRef ( const ArrayRef from  )  [static]

Definition at line 1172 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ArrayRef   *newnode = makeNode(ArrayRef);

    COPY_SCALAR_FIELD(refarraytype);
    COPY_SCALAR_FIELD(refelemtype);
    COPY_SCALAR_FIELD(reftypmod);
    COPY_SCALAR_FIELD(refcollid);
    COPY_NODE_FIELD(refupperindexpr);
    COPY_NODE_FIELD(reflowerindexpr);
    COPY_NODE_FIELD(refexpr);
    COPY_NODE_FIELD(refassgnexpr);

    return newnode;
}

static A_Star* _copyAStar ( const A_Star from  )  [static]

Definition at line 2165 of file copyfuncs.c.

References makeNode.

Referenced by copyObject().

{
    A_Star     *newnode = makeNode(A_Star);

    return newnode;
}

static BitmapAnd* _copyBitmapAnd ( const BitmapAnd from  )  [static]

Definition at line 268 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    BitmapAnd  *newnode = makeNode(BitmapAnd);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(bitmapplans);

    return newnode;
}

static BitmapHeapScan* _copyBitmapHeapScan ( const BitmapHeapScan from  )  [static]

Definition at line 431 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    BitmapHeapScan *newnode = makeNode(BitmapHeapScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(bitmapqualorig);

    return newnode;
}

static BitmapIndexScan* _copyBitmapIndexScan ( const BitmapIndexScan from  )  [static]

Definition at line 408 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    BitmapIndexScan *newnode = makeNode(BitmapIndexScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(indexid);
    COPY_NODE_FIELD(indexqual);
    COPY_NODE_FIELD(indexqualorig);

    return newnode;
}

static BitmapOr* _copyBitmapOr ( const BitmapOr from  )  [static]

Definition at line 289 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    BitmapOr   *newnode = makeNode(BitmapOr);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(bitmapplans);

    return newnode;
}

static BooleanTest* _copyBooleanTest ( const BooleanTest from  )  [static]

Definition at line 1669 of file copyfuncs.c.

References arg, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    BooleanTest *newnode = makeNode(BooleanTest);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(booltesttype);

    return newnode;
}

static BoolExpr* _copyBoolExpr ( const BoolExpr from  )  [static]

Definition at line 1307 of file copyfuncs.c.

References boolop(), COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    BoolExpr   *newnode = makeNode(BoolExpr);

    COPY_SCALAR_FIELD(boolop);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CaseExpr* _copyCaseExpr ( const CaseExpr from  )  [static]

Definition at line 1498 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CaseExpr   *newnode = makeNode(CaseExpr);

    COPY_SCALAR_FIELD(casetype);
    COPY_SCALAR_FIELD(casecollid);
    COPY_NODE_FIELD(arg);
    COPY_NODE_FIELD(args);
    COPY_NODE_FIELD(defresult);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CaseTestExpr* _copyCaseTestExpr ( const CaseTestExpr from  )  [static]

Definition at line 1531 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CaseTestExpr *newnode = makeNode(CaseTestExpr);

    COPY_SCALAR_FIELD(typeId);
    COPY_SCALAR_FIELD(typeMod);
    COPY_SCALAR_FIELD(collation);

    return newnode;
}

static CaseWhen* _copyCaseWhen ( const CaseWhen from  )  [static]

Definition at line 1516 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    CaseWhen   *newnode = makeNode(CaseWhen);

    COPY_NODE_FIELD(expr);
    COPY_NODE_FIELD(result);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ClosePortalStmt* _copyClosePortalStmt ( const ClosePortalStmt from  )  [static]

Definition at line 2678 of file copyfuncs.c.

References COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    ClosePortalStmt *newnode = makeNode(ClosePortalStmt);

    COPY_STRING_FIELD(portalname);

    return newnode;
}

static ClusterStmt* _copyClusterStmt ( const ClusterStmt from  )  [static]

Definition at line 2688 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and verbose.

Referenced by copyObject().

{
    ClusterStmt *newnode = makeNode(ClusterStmt);

    COPY_NODE_FIELD(relation);
    COPY_STRING_FIELD(indexname);
    COPY_SCALAR_FIELD(verbose);

    return newnode;
}

static CoalesceExpr* _copyCoalesceExpr ( const CoalesceExpr from  )  [static]

Definition at line 1599 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CoalesceExpr *newnode = makeNode(CoalesceExpr);

    COPY_SCALAR_FIELD(coalescetype);
    COPY_SCALAR_FIELD(coalescecollid);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CoerceToDomain* _copyCoerceToDomain ( const CoerceToDomain from  )  [static]

Definition at line 1683 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CoerceToDomain *newnode = makeNode(CoerceToDomain);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(resulttype);
    COPY_SCALAR_FIELD(resulttypmod);
    COPY_SCALAR_FIELD(resultcollid);
    COPY_SCALAR_FIELD(coercionformat);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CoerceToDomainValue* _copyCoerceToDomainValue ( const CoerceToDomainValue from  )  [static]

Definition at line 1701 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CoerceToDomainValue *newnode = makeNode(CoerceToDomainValue);

    COPY_SCALAR_FIELD(typeId);
    COPY_SCALAR_FIELD(typeMod);
    COPY_SCALAR_FIELD(collation);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CoerceViaIO* _copyCoerceViaIO ( const CoerceViaIO from  )  [static]

Definition at line 1430 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CoerceViaIO *newnode = makeNode(CoerceViaIO);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(resulttype);
    COPY_SCALAR_FIELD(resultcollid);
    COPY_SCALAR_FIELD(coerceformat);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CollateClause* _copyCollateClause ( const CollateClause from  )  [static]

Definition at line 2304 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    CollateClause *newnode = makeNode(CollateClause);

    COPY_NODE_FIELD(arg);
    COPY_NODE_FIELD(collname);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CollateExpr* _copyCollateExpr ( const CollateExpr from  )  [static]

Definition at line 1483 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CollateExpr *newnode = makeNode(CollateExpr);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(collOid);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ColumnDef* _copyColumnDef ( const ColumnDef from  )  [static]

Definition at line 2332 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    ColumnDef  *newnode = makeNode(ColumnDef);

    COPY_STRING_FIELD(colname);
    COPY_NODE_FIELD(typeName);
    COPY_SCALAR_FIELD(inhcount);
    COPY_SCALAR_FIELD(is_local);
    COPY_SCALAR_FIELD(is_not_null);
    COPY_SCALAR_FIELD(is_from_type);
    COPY_SCALAR_FIELD(storage);
    COPY_NODE_FIELD(raw_default);
    COPY_NODE_FIELD(cooked_default);
    COPY_NODE_FIELD(collClause);
    COPY_SCALAR_FIELD(collOid);
    COPY_NODE_FIELD(constraints);
    COPY_NODE_FIELD(fdwoptions);

    return newnode;
}

static ColumnRef* _copyColumnRef ( const ColumnRef from  )  [static]

Definition at line 2095 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    ColumnRef  *newnode = makeNode(ColumnRef);

    COPY_NODE_FIELD(fields);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CommentStmt* _copyCommentStmt ( const CommentStmt from  )  [static]

Definition at line 2798 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CommentStmt *newnode = makeNode(CommentStmt);

    COPY_SCALAR_FIELD(objtype);
    COPY_NODE_FIELD(objname);
    COPY_NODE_FIELD(objargs);
    COPY_STRING_FIELD(comment);

    return newnode;
}

static CommonTableExpr* _copyCommonTableExpr ( const CommonTableExpr from  )  [static]

Definition at line 2062 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CommonTableExpr *newnode = makeNode(CommonTableExpr);

    COPY_STRING_FIELD(ctename);
    COPY_NODE_FIELD(aliascolnames);
    COPY_NODE_FIELD(ctequery);
    COPY_LOCATION_FIELD(location);
    COPY_SCALAR_FIELD(cterecursive);
    COPY_SCALAR_FIELD(cterefcount);
    COPY_NODE_FIELD(ctecolnames);
    COPY_NODE_FIELD(ctecoltypes);
    COPY_NODE_FIELD(ctecoltypmods);
    COPY_NODE_FIELD(ctecolcollations);

    return newnode;
}

static CompositeTypeStmt* _copyCompositeTypeStmt ( const CompositeTypeStmt from  )  [static]

Definition at line 3019 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    CompositeTypeStmt *newnode = makeNode(CompositeTypeStmt);

    COPY_NODE_FIELD(typevar);
    COPY_NODE_FIELD(coldeflist);

    return newnode;
}

static Const* _copyConst ( const Const from  )  [static]

Definition at line 1073 of file copyfuncs.c.

References Const::constbyval, Const::constisnull, Const::constlen, Const::constvalue, COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, datumCopy(), and makeNode.

Referenced by copyObject().

{
    Const      *newnode = makeNode(Const);

    COPY_SCALAR_FIELD(consttype);
    COPY_SCALAR_FIELD(consttypmod);
    COPY_SCALAR_FIELD(constcollid);
    COPY_SCALAR_FIELD(constlen);

    if (from->constbyval || from->constisnull)
    {
        /*
         * passed by value so just copy the datum. Also, don't try to copy
         * struct when value is null!
         */
        newnode->constvalue = from->constvalue;
    }
    else
    {
        /*
         * passed by reference.  We need a palloc'd copy.
         */
        newnode->constvalue = datumCopy(from->constvalue,
                                        from->constbyval,
                                        from->constlen);
    }

    COPY_SCALAR_FIELD(constisnull);
    COPY_SCALAR_FIELD(constbyval);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static Constraint* _copyConstraint ( const Constraint from  )  [static]

Definition at line 2354 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    Constraint *newnode = makeNode(Constraint);

    COPY_SCALAR_FIELD(contype);
    COPY_STRING_FIELD(conname);
    COPY_SCALAR_FIELD(deferrable);
    COPY_SCALAR_FIELD(initdeferred);
    COPY_LOCATION_FIELD(location);
    COPY_SCALAR_FIELD(is_no_inherit);
    COPY_NODE_FIELD(raw_expr);
    COPY_STRING_FIELD(cooked_expr);
    COPY_NODE_FIELD(keys);
    COPY_NODE_FIELD(exclusions);
    COPY_NODE_FIELD(options);
    COPY_STRING_FIELD(indexname);
    COPY_STRING_FIELD(indexspace);
    COPY_STRING_FIELD(access_method);
    COPY_NODE_FIELD(where_clause);
    COPY_NODE_FIELD(pktable);
    COPY_NODE_FIELD(fk_attrs);
    COPY_NODE_FIELD(pk_attrs);
    COPY_SCALAR_FIELD(fk_matchtype);
    COPY_SCALAR_FIELD(fk_upd_action);
    COPY_SCALAR_FIELD(fk_del_action);
    COPY_NODE_FIELD(old_conpfeqop);
    COPY_SCALAR_FIELD(skip_validation);
    COPY_SCALAR_FIELD(initially_valid);

    return newnode;
}

static ConstraintsSetStmt* _copyConstraintsSetStmt ( const ConstraintsSetStmt from  )  [static]

Definition at line 3600 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ConstraintsSetStmt *newnode = makeNode(ConstraintsSetStmt);

    COPY_NODE_FIELD(constraints);
    COPY_SCALAR_FIELD(deferred);

    return newnode;
}

static ConvertRowtypeExpr* _copyConvertRowtypeExpr ( const ConvertRowtypeExpr from  )  [static]

Definition at line 1467 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ConvertRowtypeExpr *newnode = makeNode(ConvertRowtypeExpr);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(resulttype);
    COPY_SCALAR_FIELD(convertformat);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static CopyStmt* _copyCopyStmt ( const CopyStmt from  )  [static]

Definition at line 2700 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, filename, and makeNode.

Referenced by copyObject().

{
    CopyStmt   *newnode = makeNode(CopyStmt);

    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(query);
    COPY_NODE_FIELD(attlist);
    COPY_SCALAR_FIELD(is_from);
    COPY_SCALAR_FIELD(is_program);
    COPY_STRING_FIELD(filename);
    COPY_NODE_FIELD(options);

    return newnode;
}

static CreateCastStmt* _copyCreateCastStmt ( const CreateCastStmt from  )  [static]

Definition at line 3652 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateCastStmt *newnode = makeNode(CreateCastStmt);

    COPY_NODE_FIELD(sourcetype);
    COPY_NODE_FIELD(targettype);
    COPY_NODE_FIELD(func);
    COPY_SCALAR_FIELD(context);
    COPY_SCALAR_FIELD(inout);

    return newnode;
}

static CreateConversionStmt* _copyCreateConversionStmt ( const CreateConversionStmt from  )  [static]

Definition at line 3638 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateConversionStmt *newnode = makeNode(CreateConversionStmt);

    COPY_NODE_FIELD(conversion_name);
    COPY_STRING_FIELD(for_encoding_name);
    COPY_STRING_FIELD(to_encoding_name);
    COPY_NODE_FIELD(func_name);
    COPY_SCALAR_FIELD(def);

    return newnode;
}

static CreatedbStmt* _copyCreatedbStmt ( const CreatedbStmt from  )  [static]

Definition at line 3158 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreatedbStmt *newnode = makeNode(CreatedbStmt);

    COPY_STRING_FIELD(dbname);
    COPY_NODE_FIELD(options);

    return newnode;
}

static CreateDomainStmt* _copyCreateDomainStmt ( const CreateDomainStmt from  )  [static]

Definition at line 3090 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateDomainStmt *newnode = makeNode(CreateDomainStmt);

    COPY_NODE_FIELD(domainname);
    COPY_NODE_FIELD(typeName);
    COPY_NODE_FIELD(collClause);
    COPY_NODE_FIELD(constraints);

    return newnode;
}

static CreateEnumStmt* _copyCreateEnumStmt ( const CreateEnumStmt from  )  [static]

Definition at line 3030 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateEnumStmt *newnode = makeNode(CreateEnumStmt);

    COPY_NODE_FIELD(typeName);
    COPY_NODE_FIELD(vals);

    return newnode;
}

static CreateEventTrigStmt* _copyCreateEventTrigStmt ( const CreateEventTrigStmt from  )  [static]

Definition at line 3502 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateEventTrigStmt *newnode = makeNode(CreateEventTrigStmt);

    COPY_STRING_FIELD(trigname);
    COPY_SCALAR_FIELD(eventname);
    COPY_NODE_FIELD(whenclause);
    COPY_NODE_FIELD(funcname);

    return newnode;
}

static CreateExtensionStmt* _copyCreateExtensionStmt ( const CreateExtensionStmt from  )  [static]

Definition at line 3343 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateExtensionStmt *newnode = makeNode(CreateExtensionStmt);

    COPY_STRING_FIELD(extname);
    COPY_SCALAR_FIELD(if_not_exists);
    COPY_NODE_FIELD(options);

    return newnode;
}

static CreateFdwStmt* _copyCreateFdwStmt ( const CreateFdwStmt from  )  [static]

Definition at line 3380 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateFdwStmt *newnode = makeNode(CreateFdwStmt);

    COPY_STRING_FIELD(fdwname);
    COPY_NODE_FIELD(func_options);
    COPY_NODE_FIELD(options);

    return newnode;
}

static CreateForeignServerStmt* _copyCreateForeignServerStmt ( const CreateForeignServerStmt from  )  [static]

Definition at line 3404 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static CreateForeignTableStmt* _copyCreateForeignTableStmt ( const CreateForeignTableStmt from  )  [static]

Definition at line 3467 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, CopyCreateStmtFields(), and makeNode.

Referenced by copyObject().

static CreateFunctionStmt* _copyCreateFunctionStmt ( const CreateFunctionStmt from  )  [static]

Definition at line 2864 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateFunctionStmt *newnode = makeNode(CreateFunctionStmt);

    COPY_SCALAR_FIELD(replace);
    COPY_NODE_FIELD(funcname);
    COPY_NODE_FIELD(parameters);
    COPY_NODE_FIELD(returnType);
    COPY_NODE_FIELD(options);
    COPY_NODE_FIELD(withClause);

    return newnode;
}

static CreateOpClassItem* _copyCreateOpClassItem ( const CreateOpClassItem from  )  [static]

Definition at line 3118 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, makeNode, and name.

Referenced by copyObject().

{
    CreateOpClassItem *newnode = makeNode(CreateOpClassItem);

    COPY_SCALAR_FIELD(itemtype);
    COPY_NODE_FIELD(name);
    COPY_NODE_FIELD(args);
    COPY_SCALAR_FIELD(number);
    COPY_NODE_FIELD(order_family);
    COPY_NODE_FIELD(class_args);
    COPY_NODE_FIELD(storedtype);

    return newnode;
}

static CreateOpClassStmt* _copyCreateOpClassStmt ( const CreateOpClassStmt from  )  [static]

Definition at line 3103 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateOpClassStmt *newnode = makeNode(CreateOpClassStmt);

    COPY_NODE_FIELD(opclassname);
    COPY_NODE_FIELD(opfamilyname);
    COPY_STRING_FIELD(amname);
    COPY_NODE_FIELD(datatype);
    COPY_NODE_FIELD(items);
    COPY_SCALAR_FIELD(isDefault);

    return newnode;
}

static CreateOpFamilyStmt* _copyCreateOpFamilyStmt ( const CreateOpFamilyStmt from  )  [static]

Definition at line 3134 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateOpFamilyStmt *newnode = makeNode(CreateOpFamilyStmt);

    COPY_NODE_FIELD(opfamilyname);
    COPY_STRING_FIELD(amname);

    return newnode;
}

static CreatePLangStmt* _copyCreatePLangStmt ( const CreatePLangStmt from  )  [static]

Definition at line 3526 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreatePLangStmt *newnode = makeNode(CreatePLangStmt);

    COPY_SCALAR_FIELD(replace);
    COPY_STRING_FIELD(plname);
    COPY_NODE_FIELD(plhandler);
    COPY_NODE_FIELD(plinline);
    COPY_NODE_FIELD(plvalidator);
    COPY_SCALAR_FIELD(pltrusted);

    return newnode;
}

static CreateRangeStmt* _copyCreateRangeStmt ( const CreateRangeStmt from  )  [static]

Definition at line 3041 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateRangeStmt *newnode = makeNode(CreateRangeStmt);

    COPY_NODE_FIELD(typeName);
    COPY_NODE_FIELD(params);

    return newnode;
}

static CreateRoleStmt* _copyCreateRoleStmt ( const CreateRoleStmt from  )  [static]

Definition at line 3541 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static CreateSchemaStmt* _copyCreateSchemaStmt ( const CreateSchemaStmt from  )  [static]

Definition at line 3625 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateSchemaStmt *newnode = makeNode(CreateSchemaStmt);

    COPY_STRING_FIELD(schemaname);
    COPY_STRING_FIELD(authid);
    COPY_NODE_FIELD(schemaElts);
    COPY_SCALAR_FIELD(if_not_exists);

    return newnode;
}

static CreateSeqStmt* _copyCreateSeqStmt ( const CreateSeqStmt from  )  [static]

Definition at line 3251 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateSeqStmt *newnode = makeNode(CreateSeqStmt);

    COPY_NODE_FIELD(sequence);
    COPY_NODE_FIELD(options);
    COPY_SCALAR_FIELD(ownerId);

    return newnode;
}

static CreateStmt* _copyCreateStmt ( const CreateStmt from  )  [static]

Definition at line 2736 of file copyfuncs.c.

References CopyCreateStmtFields(), and makeNode.

Referenced by copyObject().

{
    CreateStmt *newnode = makeNode(CreateStmt);

    CopyCreateStmtFields(from, newnode);

    return newnode;
}

static CreateTableAsStmt* _copyCreateTableAsStmt ( const CreateTableAsStmt from  )  [static]

Definition at line 3227 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateTableAsStmt *newnode = makeNode(CreateTableAsStmt);

    COPY_NODE_FIELD(query);
    COPY_NODE_FIELD(into);
    COPY_SCALAR_FIELD(relkind);
    COPY_SCALAR_FIELD(is_select_into);

    return newnode;
}

static CreateTableSpaceStmt* _copyCreateTableSpaceStmt ( const CreateTableSpaceStmt from  )  [static]

Definition at line 3308 of file copyfuncs.c.

References COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateTableSpaceStmt *newnode = makeNode(CreateTableSpaceStmt);

    COPY_STRING_FIELD(tablespacename);
    COPY_STRING_FIELD(owner);
    COPY_STRING_FIELD(location);

    return newnode;
}

static CreateTrigStmt* _copyCreateTrigStmt ( const CreateTrigStmt from  )  [static]

Definition at line 3480 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CreateTrigStmt *newnode = makeNode(CreateTrigStmt);

    COPY_STRING_FIELD(trigname);
    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(funcname);
    COPY_NODE_FIELD(args);
    COPY_SCALAR_FIELD(row);
    COPY_SCALAR_FIELD(timing);
    COPY_SCALAR_FIELD(events);
    COPY_NODE_FIELD(columns);
    COPY_NODE_FIELD(whenClause);
    COPY_SCALAR_FIELD(isconstraint);
    COPY_SCALAR_FIELD(deferrable);
    COPY_SCALAR_FIELD(initdeferred);
    COPY_NODE_FIELD(constrrel);

    return newnode;
}

static CreateUserMappingStmt* _copyCreateUserMappingStmt ( const CreateUserMappingStmt from  )  [static]

Definition at line 3431 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, makeNode, and username.

Referenced by copyObject().

static CteScan* _copyCteScan ( const CteScan from  )  [static]

Definition at line 540 of file copyfuncs.c.

References COPY_SCALAR_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    CteScan    *newnode = makeNode(CteScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(ctePlanId);
    COPY_SCALAR_FIELD(cteParam);

    return newnode;
}

static CurrentOfExpr* _copyCurrentOfExpr ( const CurrentOfExpr from  )  [static]

Definition at line 1733 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    CurrentOfExpr *newnode = makeNode(CurrentOfExpr);

    COPY_SCALAR_FIELD(cvarno);
    COPY_STRING_FIELD(cursor_name);
    COPY_SCALAR_FIELD(cursor_param);

    return newnode;
}

static DeallocateStmt* _copyDeallocateStmt ( const DeallocateStmt from  )  [static]

Definition at line 3689 of file copyfuncs.c.

References COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    DeallocateStmt *newnode = makeNode(DeallocateStmt);

    COPY_STRING_FIELD(name);

    return newnode;
}

static DeclareCursorStmt* _copyDeclareCursorStmt ( const DeclareCursorStmt from  )  [static]

Definition at line 2666 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static DefElem* _copyDefElem ( const DefElem from  )  [static]

Definition at line 2387 of file copyfuncs.c.

References arg, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    DefElem    *newnode = makeNode(DefElem);

    COPY_STRING_FIELD(defnamespace);
    COPY_STRING_FIELD(defname);
    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(defaction);

    return newnode;
}

static DefineStmt* _copyDefineStmt ( const DefineStmt from  )  [static]

Definition at line 2757 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    DefineStmt *newnode = makeNode(DefineStmt);

    COPY_SCALAR_FIELD(kind);
    COPY_SCALAR_FIELD(oldstyle);
    COPY_NODE_FIELD(defnames);
    COPY_NODE_FIELD(args);
    COPY_NODE_FIELD(definition);

    return newnode;
}

static DeleteStmt* _copyDeleteStmt ( const DeleteStmt from  )  [static]

Definition at line 2476 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    DeleteStmt *newnode = makeNode(DeleteStmt);

    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(usingClause);
    COPY_NODE_FIELD(whereClause);
    COPY_NODE_FIELD(returningList);
    COPY_NODE_FIELD(withClause);

    return newnode;
}

static DiscardStmt* _copyDiscardStmt ( const DiscardStmt from  )  [static]

Definition at line 3298 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    DiscardStmt *newnode = makeNode(DiscardStmt);

    COPY_SCALAR_FIELD(target);

    return newnode;
}

static DistinctExpr* _copyDistinctExpr ( const DistinctExpr from  )  [static]

Definition at line 1249 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    DistinctExpr *newnode = makeNode(DistinctExpr);

    COPY_SCALAR_FIELD(opno);
    COPY_SCALAR_FIELD(opfuncid);
    COPY_SCALAR_FIELD(opresulttype);
    COPY_SCALAR_FIELD(opretset);
    COPY_SCALAR_FIELD(opcollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static DoStmt* _copyDoStmt ( const DoStmt from  )  [static]

Definition at line 2903 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    DoStmt     *newnode = makeNode(DoStmt);

    COPY_NODE_FIELD(args);

    return newnode;
}

static DropdbStmt* _copyDropdbStmt ( const DropdbStmt from  )  [static]

Definition at line 3191 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    DropdbStmt *newnode = makeNode(DropdbStmt);

    COPY_STRING_FIELD(dbname);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static DropOwnedStmt* _copyDropOwnedStmt ( const DropOwnedStmt from  )  [static]

Definition at line 3699 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    DropOwnedStmt *newnode = makeNode(DropOwnedStmt);

    COPY_NODE_FIELD(roles);
    COPY_SCALAR_FIELD(behavior);

    return newnode;
}

static DropRoleStmt* _copyDropRoleStmt ( const DropRoleStmt from  )  [static]

Definition at line 3577 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    DropRoleStmt *newnode = makeNode(DropRoleStmt);

    COPY_NODE_FIELD(roles);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static DropStmt* _copyDropStmt ( const DropStmt from  )  [static]

Definition at line 2771 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    DropStmt   *newnode = makeNode(DropStmt);

    COPY_NODE_FIELD(objects);
    COPY_NODE_FIELD(arguments);
    COPY_SCALAR_FIELD(removeType);
    COPY_SCALAR_FIELD(behavior);
    COPY_SCALAR_FIELD(missing_ok);
    COPY_SCALAR_FIELD(concurrent);

    return newnode;
}

static DropTableSpaceStmt* _copyDropTableSpaceStmt ( const DropTableSpaceStmt from  )  [static]

Definition at line 3320 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    DropTableSpaceStmt *newnode = makeNode(DropTableSpaceStmt);

    COPY_STRING_FIELD(tablespacename);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static DropUserMappingStmt* _copyDropUserMappingStmt ( const DropUserMappingStmt from  )  [static]

Definition at line 3455 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and username.

Referenced by copyObject().

static ExecuteStmt* _copyExecuteStmt ( const ExecuteStmt from  )  [static]

Definition at line 3678 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    ExecuteStmt *newnode = makeNode(ExecuteStmt);

    COPY_STRING_FIELD(name);
    COPY_NODE_FIELD(params);

    return newnode;
}

static ExplainStmt* _copyExplainStmt ( const ExplainStmt from  )  [static]

Definition at line 3216 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    ExplainStmt *newnode = makeNode(ExplainStmt);

    COPY_NODE_FIELD(query);
    COPY_NODE_FIELD(options);

    return newnode;
}

static FetchStmt* _copyFetchStmt ( const FetchStmt from  )  [static]

Definition at line 2825 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    FetchStmt  *newnode = makeNode(FetchStmt);

    COPY_SCALAR_FIELD(direction);
    COPY_SCALAR_FIELD(howMany);
    COPY_STRING_FIELD(portalname);
    COPY_SCALAR_FIELD(ismove);

    return newnode;
}

static FieldSelect* _copyFieldSelect ( const FieldSelect from  )  [static]

Definition at line 1379 of file copyfuncs.c.

References arg, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    FieldSelect *newnode = makeNode(FieldSelect);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(fieldnum);
    COPY_SCALAR_FIELD(resulttype);
    COPY_SCALAR_FIELD(resulttypmod);
    COPY_SCALAR_FIELD(resultcollid);

    return newnode;
}

static FieldStore* _copyFieldStore ( const FieldStore from  )  [static]

Definition at line 1396 of file copyfuncs.c.

References arg, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    FieldStore *newnode = makeNode(FieldStore);

    COPY_NODE_FIELD(arg);
    COPY_NODE_FIELD(newvals);
    COPY_NODE_FIELD(fieldnums);
    COPY_SCALAR_FIELD(resulttype);

    return newnode;
}

static ForeignScan* _copyForeignScan ( const ForeignScan from  )  [static]

Definition at line 583 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    ForeignScan *newnode = makeNode(ForeignScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(fdw_exprs);
    COPY_NODE_FIELD(fdw_private);
    COPY_SCALAR_FIELD(fsSystemCol);

    return newnode;
}

static FromExpr* _copyFromExpr ( const FromExpr from  )  [static]

Definition at line 1800 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    FromExpr   *newnode = makeNode(FromExpr);

    COPY_NODE_FIELD(fromlist);
    COPY_NODE_FIELD(quals);

    return newnode;
}

static FuncCall* _copyFuncCall ( const FuncCall from  )  [static]

Definition at line 2148 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    FuncCall   *newnode = makeNode(FuncCall);

    COPY_NODE_FIELD(funcname);
    COPY_NODE_FIELD(args);
    COPY_NODE_FIELD(agg_order);
    COPY_SCALAR_FIELD(agg_star);
    COPY_SCALAR_FIELD(agg_distinct);
    COPY_SCALAR_FIELD(func_variadic);
    COPY_NODE_FIELD(over);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static FuncExpr* _copyFuncExpr ( const FuncExpr from  )  [static]

Definition at line 1192 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    FuncExpr   *newnode = makeNode(FuncExpr);

    COPY_SCALAR_FIELD(funcid);
    COPY_SCALAR_FIELD(funcresulttype);
    COPY_SCALAR_FIELD(funcretset);
    COPY_SCALAR_FIELD(funcvariadic);
    COPY_SCALAR_FIELD(funcformat);
    COPY_SCALAR_FIELD(funccollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static FunctionParameter* _copyFunctionParameter ( const FunctionParameter from  )  [static]

Definition at line 2879 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

static FunctionScan* _copyFunctionScan ( const FunctionScan from  )  [static]

Definition at line 494 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    FunctionScan *newnode = makeNode(FunctionScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(funcexpr);
    COPY_NODE_FIELD(funccolnames);
    COPY_NODE_FIELD(funccoltypes);
    COPY_NODE_FIELD(funccoltypmods);
    COPY_NODE_FIELD(funccolcollations);

    return newnode;
}

static FuncWithArgs* _copyFuncWithArgs ( const FuncWithArgs from  )  [static]

Definition at line 2618 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    FuncWithArgs *newnode = makeNode(FuncWithArgs);

    COPY_NODE_FIELD(funcname);
    COPY_NODE_FIELD(funcargs);

    return newnode;
}

static GrantRoleStmt* _copyGrantRoleStmt ( const GrantRoleStmt from  )  [static]

Definition at line 2640 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    GrantRoleStmt *newnode = makeNode(GrantRoleStmt);

    COPY_NODE_FIELD(granted_roles);
    COPY_NODE_FIELD(grantee_roles);
    COPY_SCALAR_FIELD(is_grant);
    COPY_SCALAR_FIELD(admin_opt);
    COPY_STRING_FIELD(grantor);
    COPY_SCALAR_FIELD(behavior);

    return newnode;
}

static GrantStmt* _copyGrantStmt ( const GrantStmt from  )  [static]

Definition at line 2591 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    GrantStmt  *newnode = makeNode(GrantStmt);

    COPY_SCALAR_FIELD(is_grant);
    COPY_SCALAR_FIELD(targtype);
    COPY_SCALAR_FIELD(objtype);
    COPY_NODE_FIELD(objects);
    COPY_NODE_FIELD(privileges);
    COPY_NODE_FIELD(grantees);
    COPY_SCALAR_FIELD(grant_option);
    COPY_SCALAR_FIELD(behavior);

    return newnode;
}

static Group* _copyGroup ( const Group from  )  [static]

Definition at line 753 of file copyfuncs.c.

References COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Group      *newnode = makeNode(Group);

    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    COPY_SCALAR_FIELD(numCols);
    COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber));
    COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid));

    return newnode;
}

static Hash* _copyHash ( const Hash from  )  [static]

Definition at line 845 of file copyfuncs.c.

References COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Hash       *newnode = makeNode(Hash);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(skewTable);
    COPY_SCALAR_FIELD(skewColumn);
    COPY_SCALAR_FIELD(skewInherit);
    COPY_SCALAR_FIELD(skewColType);
    COPY_SCALAR_FIELD(skewColTypmod);

    return newnode;
}

static HashJoin* _copyHashJoin ( const HashJoin from  )  [static]

Definition at line 691 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyJoinFields(), and makeNode.

Referenced by copyObject().

{
    HashJoin   *newnode = makeNode(HashJoin);

    /*
     * copy node superclass fields
     */
    CopyJoinFields((const Join *) from, (Join *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(hashclauses);

    return newnode;
}

static IndexElem* _copyIndexElem ( const IndexElem from  )  [static]

Definition at line 2316 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    IndexElem  *newnode = makeNode(IndexElem);

    COPY_STRING_FIELD(name);
    COPY_NODE_FIELD(expr);
    COPY_STRING_FIELD(indexcolname);
    COPY_NODE_FIELD(collation);
    COPY_NODE_FIELD(opclass);
    COPY_SCALAR_FIELD(ordering);
    COPY_SCALAR_FIELD(nulls_ordering);

    return newnode;
}

static IndexOnlyScan* _copyIndexOnlyScan ( const IndexOnlyScan from  )  [static]

Definition at line 383 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    IndexOnlyScan *newnode = makeNode(IndexOnlyScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(indexid);
    COPY_NODE_FIELD(indexqual);
    COPY_NODE_FIELD(indexorderby);
    COPY_NODE_FIELD(indextlist);
    COPY_SCALAR_FIELD(indexorderdir);

    return newnode;
}

static IndexScan* _copyIndexScan ( const IndexScan from  )  [static]

Definition at line 357 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    IndexScan  *newnode = makeNode(IndexScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(indexid);
    COPY_NODE_FIELD(indexqual);
    COPY_NODE_FIELD(indexqualorig);
    COPY_NODE_FIELD(indexorderby);
    COPY_NODE_FIELD(indexorderbyorig);
    COPY_SCALAR_FIELD(indexorderdir);

    return newnode;
}

static IndexStmt* _copyIndexStmt ( const IndexStmt from  )  [static]

Definition at line 2838 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    IndexStmt  *newnode = makeNode(IndexStmt);

    COPY_STRING_FIELD(idxname);
    COPY_NODE_FIELD(relation);
    COPY_STRING_FIELD(accessMethod);
    COPY_STRING_FIELD(tableSpace);
    COPY_NODE_FIELD(indexParams);
    COPY_NODE_FIELD(options);
    COPY_NODE_FIELD(whereClause);
    COPY_NODE_FIELD(excludeOpNames);
    COPY_STRING_FIELD(idxcomment);
    COPY_SCALAR_FIELD(indexOid);
    COPY_SCALAR_FIELD(oldNode);
    COPY_SCALAR_FIELD(unique);
    COPY_SCALAR_FIELD(primary);
    COPY_SCALAR_FIELD(isconstraint);
    COPY_SCALAR_FIELD(deferrable);
    COPY_SCALAR_FIELD(initdeferred);
    COPY_SCALAR_FIELD(concurrent);

    return newnode;
}

static InsertStmt* _copyInsertStmt ( const InsertStmt from  )  [static]

Definition at line 2462 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    InsertStmt *newnode = makeNode(InsertStmt);

    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(cols);
    COPY_NODE_FIELD(selectStmt);
    COPY_NODE_FIELD(returningList);
    COPY_NODE_FIELD(withClause);

    return newnode;
}

static IntoClause* _copyIntoClause ( const IntoClause from  )  [static]

Definition at line 1026 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    IntoClause *newnode = makeNode(IntoClause);

    COPY_NODE_FIELD(rel);
    COPY_NODE_FIELD(colNames);
    COPY_NODE_FIELD(options);
    COPY_SCALAR_FIELD(onCommit);
    COPY_STRING_FIELD(tableSpaceName);
    COPY_NODE_FIELD(viewQuery);
    COPY_SCALAR_FIELD(skipData);

    return newnode;
}

static Join* _copyJoin ( const Join from  )  [static]

Definition at line 622 of file copyfuncs.c.

References CopyJoinFields(), and makeNode.

Referenced by copyObject().

{
    Join       *newnode = makeNode(Join);

    /*
     * copy node superclass fields
     */
    CopyJoinFields(from, newnode);

    return newnode;
}

static JoinExpr* _copyJoinExpr ( const JoinExpr from  )  [static]

Definition at line 1780 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    JoinExpr   *newnode = makeNode(JoinExpr);

    COPY_SCALAR_FIELD(jointype);
    COPY_SCALAR_FIELD(isNatural);
    COPY_NODE_FIELD(larg);
    COPY_NODE_FIELD(rarg);
    COPY_NODE_FIELD(usingClause);
    COPY_NODE_FIELD(quals);
    COPY_NODE_FIELD(alias);
    COPY_SCALAR_FIELD(rtindex);

    return newnode;
}

static LateralJoinInfo* _copyLateralJoinInfo ( const LateralJoinInfo from  )  [static]

Definition at line 1916 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    LateralJoinInfo *newnode = makeNode(LateralJoinInfo);

    COPY_SCALAR_FIELD(lateral_rhs);
    COPY_BITMAPSET_FIELD(lateral_lhs);

    return newnode;
}

static Limit* _copyLimit ( const Limit from  )  [static]

Definition at line 920 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Limit      *newnode = makeNode(Limit);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(limitOffset);
    COPY_NODE_FIELD(limitCount);

    return newnode;
}

static List* _copyList ( const List from  )  [static]

Definition at line 3761 of file copyfuncs.c.

References Assert, COPY_NODE_CELL, List::head, List::length, list_length(), lnext, makeNode, and ListCell::next.

Referenced by copyObject().

{
    List       *new;
    ListCell   *curr_old;
    ListCell   *prev_new;

    Assert(list_length(from) >= 1);

    new = makeNode(List);
    new->length = from->length;

    COPY_NODE_CELL(new->head, from->head);
    prev_new = new->head;
    curr_old = lnext(from->head);

    while (curr_old)
    {
        COPY_NODE_CELL(prev_new->next, curr_old);
        prev_new = prev_new->next;
        curr_old = curr_old->next;
    }
    prev_new->next = NULL;
    new->tail = prev_new;

    return new;
}

static ListenStmt* _copyListenStmt ( const ListenStmt from  )  [static]

Definition at line 2987 of file copyfuncs.c.

References COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    ListenStmt *newnode = makeNode(ListenStmt);

    COPY_STRING_FIELD(conditionname);

    return newnode;
}

static LoadStmt* _copyLoadStmt ( const LoadStmt from  )  [static]

Definition at line 3080 of file copyfuncs.c.

References COPY_STRING_FIELD, filename, and makeNode.

Referenced by copyObject().

{
    LoadStmt   *newnode = makeNode(LoadStmt);

    COPY_STRING_FIELD(filename);

    return newnode;
}

static LockingClause* _copyLockingClause ( const LockingClause from  )  [static]

Definition at line 2400 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    LockingClause *newnode = makeNode(LockingClause);

    COPY_NODE_FIELD(lockedRels);
    COPY_SCALAR_FIELD(strength);
    COPY_SCALAR_FIELD(noWait);

    return newnode;
}

static LockRows* _copyLockRows ( const LockRows from  )  [static]

Definition at line 898 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    LockRows   *newnode = makeNode(LockRows);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(rowMarks);
    COPY_SCALAR_FIELD(epqParam);

    return newnode;
}

static LockStmt* _copyLockStmt ( const LockStmt from  )  [static]

Definition at line 3588 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    LockStmt   *newnode = makeNode(LockStmt);

    COPY_NODE_FIELD(relations);
    COPY_SCALAR_FIELD(mode);
    COPY_SCALAR_FIELD(nowait);

    return newnode;
}

static Material* _copyMaterial ( const Material from  )  [static]

Definition at line 713 of file copyfuncs.c.

References CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Material   *newnode = makeNode(Material);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    return newnode;
}

static MergeAppend* _copyMergeAppend ( const MergeAppend from  )  [static]

Definition at line 214 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    MergeAppend *newnode = makeNode(MergeAppend);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(mergeplans);
    COPY_SCALAR_FIELD(numCols);
    COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber));
    COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid));
    COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid));
    COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool));

    return newnode;
}

static MergeJoin* _copyMergeJoin ( const MergeJoin from  )  [static]

Definition at line 661 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_POINTER_FIELD, CopyJoinFields(), list_length(), and makeNode.

Referenced by copyObject().

{
    MergeJoin  *newnode = makeNode(MergeJoin);
    int         numCols;

    /*
     * copy node superclass fields
     */
    CopyJoinFields((const Join *) from, (Join *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(mergeclauses);
    numCols = list_length(from->mergeclauses);
    if (numCols > 0)
    {
        COPY_POINTER_FIELD(mergeFamilies, numCols * sizeof(Oid));
        COPY_POINTER_FIELD(mergeCollations, numCols * sizeof(Oid));
        COPY_POINTER_FIELD(mergeStrategies, numCols * sizeof(int));
        COPY_POINTER_FIELD(mergeNullsFirst, numCols * sizeof(bool));
    }

    return newnode;
}

static MinMaxExpr* _copyMinMaxExpr ( const MinMaxExpr from  )  [static]

Definition at line 1615 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    MinMaxExpr *newnode = makeNode(MinMaxExpr);

    COPY_SCALAR_FIELD(minmaxtype);
    COPY_SCALAR_FIELD(minmaxcollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_SCALAR_FIELD(op);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ModifyTable* _copyModifyTable ( const ModifyTable from  )  [static]

Definition at line 164 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    ModifyTable *newnode = makeNode(ModifyTable);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(operation);
    COPY_SCALAR_FIELD(canSetTag);
    COPY_NODE_FIELD(resultRelations);
    COPY_SCALAR_FIELD(resultRelIndex);
    COPY_NODE_FIELD(plans);
    COPY_NODE_FIELD(returningLists);
    COPY_NODE_FIELD(fdwPrivLists);
    COPY_NODE_FIELD(rowMarks);
    COPY_SCALAR_FIELD(epqParam);

    return newnode;
}

static NamedArgExpr* _copyNamedArgExpr ( const NamedArgExpr from  )  [static]

Definition at line 1213 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

static NestLoop* _copyNestLoop ( const NestLoop from  )  [static]

Definition at line 639 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyJoinFields(), and makeNode.

Referenced by copyObject().

{
    NestLoop   *newnode = makeNode(NestLoop);

    /*
     * copy node superclass fields
     */
    CopyJoinFields((const Join *) from, (Join *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(nestParams);

    return newnode;
}

static NestLoopParam* _copyNestLoopParam ( const NestLoopParam from  )  [static]

Definition at line 942 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    NestLoopParam *newnode = makeNode(NestLoopParam);

    COPY_SCALAR_FIELD(paramno);
    COPY_NODE_FIELD(paramval);

    return newnode;
}

static NotifyStmt* _copyNotifyStmt ( const NotifyStmt from  )  [static]

Definition at line 2976 of file copyfuncs.c.

References COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    NotifyStmt *newnode = makeNode(NotifyStmt);

    COPY_STRING_FIELD(conditionname);
    COPY_STRING_FIELD(payload);

    return newnode;
}

static NullIfExpr* _copyNullIfExpr ( const NullIfExpr from  )  [static]

Definition at line 1269 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    NullIfExpr *newnode = makeNode(NullIfExpr);

    COPY_SCALAR_FIELD(opno);
    COPY_SCALAR_FIELD(opfuncid);
    COPY_SCALAR_FIELD(opresulttype);
    COPY_SCALAR_FIELD(opretset);
    COPY_SCALAR_FIELD(opcollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static NullTest* _copyNullTest ( const NullTest from  )  [static]

Definition at line 1654 of file copyfuncs.c.

References arg, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    NullTest   *newnode = makeNode(NullTest);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(nulltesttype);
    COPY_SCALAR_FIELD(argisrow);

    return newnode;
}

static OpExpr* _copyOpExpr ( const OpExpr from  )  [static]

Definition at line 1229 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    OpExpr     *newnode = makeNode(OpExpr);

    COPY_SCALAR_FIELD(opno);
    COPY_SCALAR_FIELD(opfuncid);
    COPY_SCALAR_FIELD(opresulttype);
    COPY_SCALAR_FIELD(opretset);
    COPY_SCALAR_FIELD(opcollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static Param* _copyParam ( const Param from  )  [static]

Definition at line 1111 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    Param      *newnode = makeNode(Param);

    COPY_SCALAR_FIELD(paramkind);
    COPY_SCALAR_FIELD(paramid);
    COPY_SCALAR_FIELD(paramtype);
    COPY_SCALAR_FIELD(paramtypmod);
    COPY_SCALAR_FIELD(paramcollid);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ParamRef* _copyParamRef ( const ParamRef from  )  [static]

Definition at line 2106 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ParamRef   *newnode = makeNode(ParamRef);

    COPY_SCALAR_FIELD(number);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static PathKey* _copyPathKey ( const PathKey from  )  [static]

Definition at line 1822 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    PathKey    *newnode = makeNode(PathKey);

    /* EquivalenceClasses are never moved, so just shallow-copy the pointer */
    COPY_SCALAR_FIELD(pk_eclass);
    COPY_SCALAR_FIELD(pk_opfamily);
    COPY_SCALAR_FIELD(pk_strategy);
    COPY_SCALAR_FIELD(pk_nulls_first);

    return newnode;
}

static PlaceHolderInfo* _copyPlaceHolderInfo ( const PlaceHolderInfo from  )  [static]

Definition at line 1948 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    PlaceHolderInfo *newnode = makeNode(PlaceHolderInfo);

    COPY_SCALAR_FIELD(phid);
    COPY_NODE_FIELD(ph_var);
    COPY_BITMAPSET_FIELD(ph_eval_at);
    COPY_BITMAPSET_FIELD(ph_needed);
    COPY_BITMAPSET_FIELD(ph_may_need);
    COPY_SCALAR_FIELD(ph_width);

    return newnode;
}

static PlaceHolderVar* _copyPlaceHolderVar ( const PlaceHolderVar from  )  [static]

Definition at line 1880 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    PlaceHolderVar *newnode = makeNode(PlaceHolderVar);

    COPY_NODE_FIELD(phexpr);
    COPY_BITMAPSET_FIELD(phrels);
    COPY_SCALAR_FIELD(phid);
    COPY_SCALAR_FIELD(phlevelsup);

    return newnode;
}

static Plan* _copyPlan ( const Plan from  )  [static]

Definition at line 126 of file copyfuncs.c.

References CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Plan       *newnode = makeNode(Plan);

    /*
     * copy node superclass fields
     */
    CopyPlanFields(from, newnode);

    return newnode;
}

static PlanInvalItem* _copyPlanInvalItem ( const PlanInvalItem from  )  [static]

Definition at line 974 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    PlanInvalItem *newnode = makeNode(PlanInvalItem);

    COPY_SCALAR_FIELD(cacheId);
    COPY_SCALAR_FIELD(hashValue);

    return newnode;
}

static PlannedStmt* _copyPlannedStmt ( const PlannedStmt from  )  [static]

Definition at line 76 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    PlannedStmt *newnode = makeNode(PlannedStmt);

    COPY_SCALAR_FIELD(commandType);
    COPY_SCALAR_FIELD(queryId);
    COPY_SCALAR_FIELD(hasReturning);
    COPY_SCALAR_FIELD(hasModifyingCTE);
    COPY_SCALAR_FIELD(canSetTag);
    COPY_SCALAR_FIELD(transientPlan);
    COPY_NODE_FIELD(planTree);
    COPY_NODE_FIELD(rtable);
    COPY_NODE_FIELD(resultRelations);
    COPY_NODE_FIELD(utilityStmt);
    COPY_NODE_FIELD(subplans);
    COPY_BITMAPSET_FIELD(rewindPlanIDs);
    COPY_NODE_FIELD(rowMarks);
    COPY_NODE_FIELD(relationOids);
    COPY_NODE_FIELD(invalItems);
    COPY_SCALAR_FIELD(nParamExec);

    return newnode;
}

static PlanRowMark* _copyPlanRowMark ( const PlanRowMark from  )  [static]

Definition at line 956 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    PlanRowMark *newnode = makeNode(PlanRowMark);

    COPY_SCALAR_FIELD(rti);
    COPY_SCALAR_FIELD(prti);
    COPY_SCALAR_FIELD(rowmarkId);
    COPY_SCALAR_FIELD(markType);
    COPY_SCALAR_FIELD(noWait);
    COPY_SCALAR_FIELD(isParent);

    return newnode;
}

static PrepareStmt* _copyPrepareStmt ( const PrepareStmt from  )  [static]

Definition at line 3666 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    PrepareStmt *newnode = makeNode(PrepareStmt);

    COPY_STRING_FIELD(name);
    COPY_NODE_FIELD(argtypes);
    COPY_NODE_FIELD(query);

    return newnode;
}

static PrivGrantee* _copyPrivGrantee ( const PrivGrantee from  )  [static]

Definition at line 2608 of file copyfuncs.c.

References COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    PrivGrantee *newnode = makeNode(PrivGrantee);

    COPY_STRING_FIELD(rolname);

    return newnode;
}

static Query* _copyQuery ( const Query from  )  [static]

Definition at line 2425 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    Query      *newnode = makeNode(Query);

    COPY_SCALAR_FIELD(commandType);
    COPY_SCALAR_FIELD(querySource);
    COPY_SCALAR_FIELD(queryId);
    COPY_SCALAR_FIELD(canSetTag);
    COPY_NODE_FIELD(utilityStmt);
    COPY_SCALAR_FIELD(resultRelation);
    COPY_SCALAR_FIELD(hasAggs);
    COPY_SCALAR_FIELD(hasWindowFuncs);
    COPY_SCALAR_FIELD(hasSubLinks);
    COPY_SCALAR_FIELD(hasDistinctOn);
    COPY_SCALAR_FIELD(hasRecursive);
    COPY_SCALAR_FIELD(hasModifyingCTE);
    COPY_SCALAR_FIELD(hasForUpdate);
    COPY_NODE_FIELD(cteList);
    COPY_NODE_FIELD(rtable);
    COPY_NODE_FIELD(jointree);
    COPY_NODE_FIELD(targetList);
    COPY_NODE_FIELD(returningList);
    COPY_NODE_FIELD(groupClause);
    COPY_NODE_FIELD(havingQual);
    COPY_NODE_FIELD(windowClause);
    COPY_NODE_FIELD(distinctClause);
    COPY_NODE_FIELD(sortClause);
    COPY_NODE_FIELD(limitOffset);
    COPY_NODE_FIELD(limitCount);
    COPY_NODE_FIELD(rowMarks);
    COPY_NODE_FIELD(setOperations);
    COPY_NODE_FIELD(constraintDeps);

    return newnode;
}

static RangeFunction* _copyRangeFunction ( const RangeFunction from  )  [static]

Definition at line 2279 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RangeFunction *newnode = makeNode(RangeFunction);

    COPY_SCALAR_FIELD(lateral);
    COPY_NODE_FIELD(funccallnode);
    COPY_NODE_FIELD(alias);
    COPY_NODE_FIELD(coldeflist);

    return newnode;
}

static RangeSubselect* _copyRangeSubselect ( const RangeSubselect from  )  [static]

Definition at line 2267 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RangeSubselect *newnode = makeNode(RangeSubselect);

    COPY_SCALAR_FIELD(lateral);
    COPY_NODE_FIELD(subquery);
    COPY_NODE_FIELD(alias);

    return newnode;
}

static RangeTblEntry* _copyRangeTblEntry ( const RangeTblEntry from  )  [static]

Definition at line 1968 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    RangeTblEntry *newnode = makeNode(RangeTblEntry);

    COPY_SCALAR_FIELD(rtekind);
    COPY_SCALAR_FIELD(relid);
    COPY_SCALAR_FIELD(relkind);
    COPY_NODE_FIELD(subquery);
    COPY_SCALAR_FIELD(security_barrier);
    COPY_SCALAR_FIELD(jointype);
    COPY_NODE_FIELD(joinaliasvars);
    COPY_NODE_FIELD(funcexpr);
    COPY_NODE_FIELD(funccoltypes);
    COPY_NODE_FIELD(funccoltypmods);
    COPY_NODE_FIELD(funccolcollations);
    COPY_NODE_FIELD(values_lists);
    COPY_NODE_FIELD(values_collations);
    COPY_STRING_FIELD(ctename);
    COPY_SCALAR_FIELD(ctelevelsup);
    COPY_SCALAR_FIELD(self_reference);
    COPY_NODE_FIELD(ctecoltypes);
    COPY_NODE_FIELD(ctecoltypmods);
    COPY_NODE_FIELD(ctecolcollations);
    COPY_NODE_FIELD(alias);
    COPY_NODE_FIELD(eref);
    COPY_SCALAR_FIELD(lateral);
    COPY_SCALAR_FIELD(inh);
    COPY_SCALAR_FIELD(inFromCl);
    COPY_SCALAR_FIELD(requiredPerms);
    COPY_SCALAR_FIELD(checkAsUser);
    COPY_BITMAPSET_FIELD(selectedCols);
    COPY_BITMAPSET_FIELD(modifiedCols);

    return newnode;
}

static RangeTblRef* _copyRangeTblRef ( const RangeTblRef from  )  [static]

Definition at line 1767 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RangeTblRef *newnode = makeNode(RangeTblRef);

    COPY_SCALAR_FIELD(rtindex);

    return newnode;
}

static RangeVar* _copyRangeVar ( const RangeVar from  )  [static]

Definition at line 1007 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    RangeVar   *newnode = makeNode(RangeVar);

    COPY_STRING_FIELD(catalogname);
    COPY_STRING_FIELD(schemaname);
    COPY_STRING_FIELD(relname);
    COPY_SCALAR_FIELD(inhOpt);
    COPY_SCALAR_FIELD(relpersistence);
    COPY_NODE_FIELD(alias);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static ReassignOwnedStmt* _copyReassignOwnedStmt ( const ReassignOwnedStmt from  )  [static]

Definition at line 3710 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    ReassignOwnedStmt *newnode = makeNode(ReassignOwnedStmt);

    COPY_NODE_FIELD(roles);
    COPY_STRING_FIELD(newrole);

    return newnode;
}

static RecursiveUnion* _copyRecursiveUnion ( const RecursiveUnion from  )  [static]

Definition at line 240 of file copyfuncs.c.

References COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    RecursiveUnion *newnode = makeNode(RecursiveUnion);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(wtParam);
    COPY_SCALAR_FIELD(numCols);
    if (from->numCols > 0)
    {
        COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber));
        COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid));
    }
    COPY_SCALAR_FIELD(numGroups);

    return newnode;
}

static RefreshMatViewStmt* _copyRefreshMatViewStmt ( const RefreshMatViewStmt from  )  [static]

Definition at line 3240 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RefreshMatViewStmt *newnode = makeNode(RefreshMatViewStmt);

    COPY_SCALAR_FIELD(skipData);
    COPY_NODE_FIELD(relation);

    return newnode;
}

static ReindexStmt* _copyReindexStmt ( const ReindexStmt from  )  [static]

Definition at line 3611 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    ReindexStmt *newnode = makeNode(ReindexStmt);

    COPY_SCALAR_FIELD(kind);
    COPY_NODE_FIELD(relation);
    COPY_STRING_FIELD(name);
    COPY_SCALAR_FIELD(do_system);
    COPY_SCALAR_FIELD(do_user);

    return newnode;
}

static RelabelType* _copyRelabelType ( const RelabelType from  )  [static]

Definition at line 1412 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RelabelType *newnode = makeNode(RelabelType);

    COPY_NODE_FIELD(arg);
    COPY_SCALAR_FIELD(resulttype);
    COPY_SCALAR_FIELD(resulttypmod);
    COPY_SCALAR_FIELD(resultcollid);
    COPY_SCALAR_FIELD(relabelformat);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static RenameStmt* _copyRenameStmt ( const RenameStmt from  )  [static]

Definition at line 2913 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    RenameStmt *newnode = makeNode(RenameStmt);

    COPY_SCALAR_FIELD(renameType);
    COPY_SCALAR_FIELD(relationType);
    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(object);
    COPY_NODE_FIELD(objarg);
    COPY_STRING_FIELD(subname);
    COPY_STRING_FIELD(newname);
    COPY_SCALAR_FIELD(behavior);
    COPY_SCALAR_FIELD(missing_ok);

    return newnode;
}

static ResTarget* _copyResTarget ( const ResTarget from  )  [static]

Definition at line 2206 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_STRING_FIELD, makeNode, name, and val.

Referenced by copyObject().

{
    ResTarget  *newnode = makeNode(ResTarget);

    COPY_STRING_FIELD(name);
    COPY_NODE_FIELD(indirection);
    COPY_NODE_FIELD(val);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static RestrictInfo* _copyRestrictInfo ( const RestrictInfo from  )  [static]

Definition at line 1839 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, makeNode, and RestrictInfo::scansel_cache.

Referenced by copyObject().

{
    RestrictInfo *newnode = makeNode(RestrictInfo);

    COPY_NODE_FIELD(clause);
    COPY_SCALAR_FIELD(is_pushed_down);
    COPY_SCALAR_FIELD(outerjoin_delayed);
    COPY_SCALAR_FIELD(can_join);
    COPY_SCALAR_FIELD(pseudoconstant);
    COPY_BITMAPSET_FIELD(clause_relids);
    COPY_BITMAPSET_FIELD(required_relids);
    COPY_BITMAPSET_FIELD(outer_relids);
    COPY_BITMAPSET_FIELD(nullable_relids);
    COPY_BITMAPSET_FIELD(left_relids);
    COPY_BITMAPSET_FIELD(right_relids);
    COPY_NODE_FIELD(orclause);
    /* EquivalenceClasses are never copied, so shallow-copy the pointers */
    COPY_SCALAR_FIELD(parent_ec);
    COPY_SCALAR_FIELD(eval_cost);
    COPY_SCALAR_FIELD(norm_selec);
    COPY_SCALAR_FIELD(outer_selec);
    COPY_NODE_FIELD(mergeopfamilies);
    /* EquivalenceClasses are never copied, so shallow-copy the pointers */
    COPY_SCALAR_FIELD(left_ec);
    COPY_SCALAR_FIELD(right_ec);
    COPY_SCALAR_FIELD(left_em);
    COPY_SCALAR_FIELD(right_em);
    /* MergeScanSelCache isn't a Node, so hard to copy; just reset cache */
    newnode->scansel_cache = NIL;
    COPY_SCALAR_FIELD(outer_is_left);
    COPY_SCALAR_FIELD(hashjoinoperator);
    COPY_SCALAR_FIELD(left_bucketsize);
    COPY_SCALAR_FIELD(right_bucketsize);

    return newnode;
}

static Result* _copyResult ( const Result from  )  [static]

Definition at line 143 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Result     *newnode = makeNode(Result);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(resconstantqual);

    return newnode;
}

static RowCompareExpr* _copyRowCompareExpr ( const RowCompareExpr from  )  [static]

Definition at line 1581 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RowCompareExpr *newnode = makeNode(RowCompareExpr);

    COPY_SCALAR_FIELD(rctype);
    COPY_NODE_FIELD(opnos);
    COPY_NODE_FIELD(opfamilies);
    COPY_NODE_FIELD(inputcollids);
    COPY_NODE_FIELD(largs);
    COPY_NODE_FIELD(rargs);

    return newnode;
}

static RowExpr* _copyRowExpr ( const RowExpr from  )  [static]

Definition at line 1564 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RowExpr    *newnode = makeNode(RowExpr);

    COPY_NODE_FIELD(args);
    COPY_SCALAR_FIELD(row_typeid);
    COPY_SCALAR_FIELD(row_format);
    COPY_NODE_FIELD(colnames);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static RowMarkClause* _copyRowMarkClause ( const RowMarkClause from  )  [static]

Definition at line 2037 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    RowMarkClause *newnode = makeNode(RowMarkClause);

    COPY_SCALAR_FIELD(rti);
    COPY_SCALAR_FIELD(strength);
    COPY_SCALAR_FIELD(noWait);
    COPY_SCALAR_FIELD(pushedDown);

    return newnode;
}

static RuleStmt* _copyRuleStmt ( const RuleStmt from  )  [static]

Definition at line 2960 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    RuleStmt   *newnode = makeNode(RuleStmt);

    COPY_NODE_FIELD(relation);
    COPY_STRING_FIELD(rulename);
    COPY_NODE_FIELD(whereClause);
    COPY_SCALAR_FIELD(event);
    COPY_SCALAR_FIELD(instead);
    COPY_NODE_FIELD(actions);
    COPY_SCALAR_FIELD(replace);

    return newnode;
}

static ScalarArrayOpExpr* _copyScalarArrayOpExpr ( const ScalarArrayOpExpr from  )  [static]

Definition at line 1289 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ScalarArrayOpExpr *newnode = makeNode(ScalarArrayOpExpr);

    COPY_SCALAR_FIELD(opno);
    COPY_SCALAR_FIELD(opfuncid);
    COPY_SCALAR_FIELD(useOr);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static Scan* _copyScan ( const Scan from  )  [static]

Definition at line 325 of file copyfuncs.c.

References CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    Scan       *newnode = makeNode(Scan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    return newnode;
}

static SecLabelStmt* _copySecLabelStmt ( const SecLabelStmt from  )  [static]

Definition at line 2811 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, label, and makeNode.

Referenced by copyObject().

{
    SecLabelStmt *newnode = makeNode(SecLabelStmt);

    COPY_SCALAR_FIELD(objtype);
    COPY_NODE_FIELD(objname);
    COPY_NODE_FIELD(objargs);
    COPY_STRING_FIELD(provider);
    COPY_STRING_FIELD(label);

    return newnode;
}

static SelectStmt* _copySelectStmt ( const SelectStmt from  )  [static]

Definition at line 2505 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SelectStmt *newnode = makeNode(SelectStmt);

    COPY_NODE_FIELD(distinctClause);
    COPY_NODE_FIELD(intoClause);
    COPY_NODE_FIELD(targetList);
    COPY_NODE_FIELD(fromClause);
    COPY_NODE_FIELD(whereClause);
    COPY_NODE_FIELD(groupClause);
    COPY_NODE_FIELD(havingClause);
    COPY_NODE_FIELD(windowClause);
    COPY_NODE_FIELD(valuesLists);
    COPY_NODE_FIELD(sortClause);
    COPY_NODE_FIELD(limitOffset);
    COPY_NODE_FIELD(limitCount);
    COPY_NODE_FIELD(lockingClause);
    COPY_NODE_FIELD(withClause);
    COPY_SCALAR_FIELD(op);
    COPY_SCALAR_FIELD(all);
    COPY_NODE_FIELD(larg);
    COPY_NODE_FIELD(rarg);

    return newnode;
}

static SeqScan* _copySeqScan ( const SeqScan from  )  [static]

Definition at line 341 of file copyfuncs.c.

References CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    SeqScan    *newnode = makeNode(SeqScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    return newnode;
}

static SetOp* _copySetOp ( const SetOp from  )  [static]

Definition at line 870 of file copyfuncs.c.

References COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    SetOp      *newnode = makeNode(SetOp);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(cmd);
    COPY_SCALAR_FIELD(strategy);
    COPY_SCALAR_FIELD(numCols);
    COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber));
    COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid));
    COPY_SCALAR_FIELD(flagColIdx);
    COPY_SCALAR_FIELD(firstFlag);
    COPY_SCALAR_FIELD(numGroups);

    return newnode;
}

static SetOperationStmt* _copySetOperationStmt ( const SetOperationStmt from  )  [static]

Definition at line 2532 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SetOperationStmt *newnode = makeNode(SetOperationStmt);

    COPY_SCALAR_FIELD(op);
    COPY_SCALAR_FIELD(all);
    COPY_NODE_FIELD(larg);
    COPY_NODE_FIELD(rarg);
    COPY_NODE_FIELD(colTypes);
    COPY_NODE_FIELD(colTypmods);
    COPY_NODE_FIELD(colCollations);
    COPY_NODE_FIELD(groupClauses);

    return newnode;
}

static SetToDefault* _copySetToDefault ( const SetToDefault from  )  [static]

Definition at line 1717 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SetToDefault *newnode = makeNode(SetToDefault);

    COPY_SCALAR_FIELD(typeId);
    COPY_SCALAR_FIELD(typeMod);
    COPY_SCALAR_FIELD(collation);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static Sort* _copySort ( const Sort from  )  [static]

Definition at line 730 of file copyfuncs.c.

References COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Sort       *newnode = makeNode(Sort);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    COPY_SCALAR_FIELD(numCols);
    COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber));
    COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid));
    COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid));
    COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool));

    return newnode;
}

static SortBy* _copySortBy ( const SortBy from  )  [static]

Definition at line 2236 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SortBy     *newnode = makeNode(SortBy);

    COPY_NODE_FIELD(node);
    COPY_SCALAR_FIELD(sortby_dir);
    COPY_SCALAR_FIELD(sortby_nulls);
    COPY_NODE_FIELD(useOp);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static SortGroupClause* _copySortGroupClause ( const SortGroupClause from  )  [static]

Definition at line 2005 of file copyfuncs.c.

References COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SortGroupClause *newnode = makeNode(SortGroupClause);

    COPY_SCALAR_FIELD(tleSortGroupRef);
    COPY_SCALAR_FIELD(eqop);
    COPY_SCALAR_FIELD(sortop);
    COPY_SCALAR_FIELD(nulls_first);
    COPY_SCALAR_FIELD(hashable);

    return newnode;
}

static SpecialJoinInfo* _copySpecialJoinInfo ( const SpecialJoinInfo from  )  [static]

Definition at line 1896 of file copyfuncs.c.

References COPY_BITMAPSET_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SpecialJoinInfo *newnode = makeNode(SpecialJoinInfo);

    COPY_BITMAPSET_FIELD(min_lefthand);
    COPY_BITMAPSET_FIELD(min_righthand);
    COPY_BITMAPSET_FIELD(syn_lefthand);
    COPY_BITMAPSET_FIELD(syn_righthand);
    COPY_SCALAR_FIELD(jointype);
    COPY_SCALAR_FIELD(lhs_strict);
    COPY_SCALAR_FIELD(delay_upper_joins);
    COPY_NODE_FIELD(join_quals);

    return newnode;
}

static SubLink* _copySubLink ( const SubLink from  )  [static]

Definition at line 1322 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    SubLink    *newnode = makeNode(SubLink);

    COPY_SCALAR_FIELD(subLinkType);
    COPY_NODE_FIELD(testexpr);
    COPY_NODE_FIELD(operName);
    COPY_NODE_FIELD(subselect);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static SubPlan* _copySubPlan ( const SubPlan from  )  [static]

Definition at line 1339 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    SubPlan    *newnode = makeNode(SubPlan);

    COPY_SCALAR_FIELD(subLinkType);
    COPY_NODE_FIELD(testexpr);
    COPY_NODE_FIELD(paramIds);
    COPY_SCALAR_FIELD(plan_id);
    COPY_STRING_FIELD(plan_name);
    COPY_SCALAR_FIELD(firstColType);
    COPY_SCALAR_FIELD(firstColTypmod);
    COPY_SCALAR_FIELD(firstColCollation);
    COPY_SCALAR_FIELD(useHashTable);
    COPY_SCALAR_FIELD(unknownEqFalse);
    COPY_NODE_FIELD(setParam);
    COPY_NODE_FIELD(parParam);
    COPY_NODE_FIELD(args);
    COPY_SCALAR_FIELD(startup_cost);
    COPY_SCALAR_FIELD(per_call_cost);

    return newnode;
}

static SubqueryScan* _copySubqueryScan ( const SubqueryScan from  )  [static]

Definition at line 473 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    SubqueryScan *newnode = makeNode(SubqueryScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(subplan);

    return newnode;
}

static TableLikeClause* _copyTableLikeClause ( const TableLikeClause from  )  [static]

Definition at line 2746 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    TableLikeClause *newnode = makeNode(TableLikeClause);

    COPY_NODE_FIELD(relation);
    COPY_SCALAR_FIELD(options);

    return newnode;
}

static TargetEntry* _copyTargetEntry ( const TargetEntry from  )  [static]

Definition at line 1748 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    TargetEntry *newnode = makeNode(TargetEntry);

    COPY_NODE_FIELD(expr);
    COPY_SCALAR_FIELD(resno);
    COPY_STRING_FIELD(resname);
    COPY_SCALAR_FIELD(ressortgroupref);
    COPY_SCALAR_FIELD(resorigtbl);
    COPY_SCALAR_FIELD(resorigcol);
    COPY_SCALAR_FIELD(resjunk);

    return newnode;
}

static TidScan* _copyTidScan ( const TidScan from  )  [static]

Definition at line 452 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    TidScan    *newnode = makeNode(TidScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(tidquals);

    return newnode;
}

static TransactionStmt* _copyTransactionStmt ( const TransactionStmt from  )  [static]

Definition at line 3007 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

static TruncateStmt* _copyTruncateStmt ( const TruncateStmt from  )  [static]

Definition at line 2786 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    TruncateStmt *newnode = makeNode(TruncateStmt);

    COPY_NODE_FIELD(relations);
    COPY_SCALAR_FIELD(restart_seqs);
    COPY_SCALAR_FIELD(behavior);

    return newnode;
}

static TypeCast* _copyTypeCast ( const TypeCast from  )  [static]

Definition at line 2292 of file copyfuncs.c.

References arg, COPY_LOCATION_FIELD, COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    TypeCast   *newnode = makeNode(TypeCast);

    COPY_NODE_FIELD(arg);
    COPY_NODE_FIELD(typeName);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static TypeName* _copyTypeName ( const TypeName from  )  [static]

Definition at line 2219 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    TypeName   *newnode = makeNode(TypeName);

    COPY_NODE_FIELD(names);
    COPY_SCALAR_FIELD(typeOid);
    COPY_SCALAR_FIELD(setof);
    COPY_SCALAR_FIELD(pct_type);
    COPY_NODE_FIELD(typmods);
    COPY_SCALAR_FIELD(typemod);
    COPY_NODE_FIELD(arrayBounds);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static Unique* _copyUnique ( const Unique from  )  [static]

Definition at line 822 of file copyfuncs.c.

References COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    Unique     *newnode = makeNode(Unique);

    /*
     * copy node superclass fields
     */
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(numCols);
    COPY_POINTER_FIELD(uniqColIdx, from->numCols * sizeof(AttrNumber));
    COPY_POINTER_FIELD(uniqOperators, from->numCols * sizeof(Oid));

    return newnode;
}

static UnlistenStmt* _copyUnlistenStmt ( const UnlistenStmt from  )  [static]

Definition at line 2997 of file copyfuncs.c.

References COPY_STRING_FIELD, and makeNode.

Referenced by copyObject().

{
    UnlistenStmt *newnode = makeNode(UnlistenStmt);

    COPY_STRING_FIELD(conditionname);

    return newnode;
}

static UpdateStmt* _copyUpdateStmt ( const UpdateStmt from  )  [static]

Definition at line 2490 of file copyfuncs.c.

References COPY_NODE_FIELD, and makeNode.

Referenced by copyObject().

{
    UpdateStmt *newnode = makeNode(UpdateStmt);

    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(targetList);
    COPY_NODE_FIELD(whereClause);
    COPY_NODE_FIELD(fromClause);
    COPY_NODE_FIELD(returningList);
    COPY_NODE_FIELD(withClause);

    return newnode;
}

static VacuumStmt* _copyVacuumStmt ( const VacuumStmt from  )  [static]

Definition at line 3202 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    VacuumStmt *newnode = makeNode(VacuumStmt);

    COPY_SCALAR_FIELD(options);
    COPY_SCALAR_FIELD(freeze_min_age);
    COPY_SCALAR_FIELD(freeze_table_age);
    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(va_cols);

    return newnode;
}

static Value* _copyValue ( const Value from  )  [static]

Definition at line 3793 of file copyfuncs.c.

References COPY_SCALAR_FIELD, COPY_STRING_FIELD, elog, ERROR, makeNode, T_BitString, T_Float, T_Integer, T_Null, T_String, Value::type, and val.

Referenced by copyObject().

{
    Value      *newnode = makeNode(Value);

    /* See also _copyAConst when changing this code! */

    COPY_SCALAR_FIELD(type);
    switch (from->type)
    {
        case T_Integer:
            COPY_SCALAR_FIELD(val.ival);
            break;
        case T_Float:
        case T_String:
        case T_BitString:
            COPY_STRING_FIELD(val.str);
            break;
        case T_Null:
            /* nothing to do */
            break;
        default:
            elog(ERROR, "unrecognized node type: %d",
                 (int) from->type);
            break;
    }
    return newnode;
}

static ValuesScan* _copyValuesScan ( const ValuesScan from  )  [static]

Definition at line 519 of file copyfuncs.c.

References COPY_NODE_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    ValuesScan *newnode = makeNode(ValuesScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_NODE_FIELD(values_lists);

    return newnode;
}

static Var* _copyVar ( const Var from  )  [static]

Definition at line 1052 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    Var        *newnode = makeNode(Var);

    COPY_SCALAR_FIELD(varno);
    COPY_SCALAR_FIELD(varattno);
    COPY_SCALAR_FIELD(vartype);
    COPY_SCALAR_FIELD(vartypmod);
    COPY_SCALAR_FIELD(varcollid);
    COPY_SCALAR_FIELD(varlevelsup);
    COPY_SCALAR_FIELD(varnoold);
    COPY_SCALAR_FIELD(varoattno);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static VariableSetStmt* _copyVariableSetStmt ( const VariableSetStmt from  )  [static]

Definition at line 3275 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

static VariableShowStmt* _copyVariableShowStmt ( const VariableShowStmt from  )  [static]

Definition at line 3288 of file copyfuncs.c.

References COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

static ViewStmt* _copyViewStmt ( const ViewStmt from  )  [static]

Definition at line 3066 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    ViewStmt   *newnode = makeNode(ViewStmt);

    COPY_NODE_FIELD(view);
    COPY_NODE_FIELD(aliases);
    COPY_NODE_FIELD(query);
    COPY_SCALAR_FIELD(replace);
    COPY_NODE_FIELD(options);

    return newnode;
}

static WindowAgg* _copyWindowAgg ( const WindowAgg from  )  [static]

Definition at line 792 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_POINTER_FIELD, COPY_SCALAR_FIELD, CopyPlanFields(), and makeNode.

Referenced by copyObject().

{
    WindowAgg  *newnode = makeNode(WindowAgg);

    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    COPY_SCALAR_FIELD(winref);
    COPY_SCALAR_FIELD(partNumCols);
    if (from->partNumCols > 0)
    {
        COPY_POINTER_FIELD(partColIdx, from->partNumCols * sizeof(AttrNumber));
        COPY_POINTER_FIELD(partOperators, from->partNumCols * sizeof(Oid));
    }
    COPY_SCALAR_FIELD(ordNumCols);
    if (from->ordNumCols > 0)
    {
        COPY_POINTER_FIELD(ordColIdx, from->ordNumCols * sizeof(AttrNumber));
        COPY_POINTER_FIELD(ordOperators, from->ordNumCols * sizeof(Oid));
    }
    COPY_SCALAR_FIELD(frameOptions);
    COPY_NODE_FIELD(startOffset);
    COPY_NODE_FIELD(endOffset);

    return newnode;
}

static WindowClause* _copyWindowClause ( const WindowClause from  )  [static]

Definition at line 2019 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    WindowClause *newnode = makeNode(WindowClause);

    COPY_STRING_FIELD(name);
    COPY_STRING_FIELD(refname);
    COPY_NODE_FIELD(partitionClause);
    COPY_NODE_FIELD(orderClause);
    COPY_SCALAR_FIELD(frameOptions);
    COPY_NODE_FIELD(startOffset);
    COPY_NODE_FIELD(endOffset);
    COPY_SCALAR_FIELD(winref);
    COPY_SCALAR_FIELD(copiedOrder);

    return newnode;
}

static WindowDef* _copyWindowDef ( const WindowDef from  )  [static]

Definition at line 2250 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, makeNode, and name.

Referenced by copyObject().

{
    WindowDef  *newnode = makeNode(WindowDef);

    COPY_STRING_FIELD(name);
    COPY_STRING_FIELD(refname);
    COPY_NODE_FIELD(partitionClause);
    COPY_NODE_FIELD(orderClause);
    COPY_SCALAR_FIELD(frameOptions);
    COPY_NODE_FIELD(startOffset);
    COPY_NODE_FIELD(endOffset);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static WindowFunc* _copyWindowFunc ( const WindowFunc from  )  [static]

Definition at line 1151 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    WindowFunc *newnode = makeNode(WindowFunc);

    COPY_SCALAR_FIELD(winfnoid);
    COPY_SCALAR_FIELD(wintype);
    COPY_SCALAR_FIELD(wincollid);
    COPY_SCALAR_FIELD(inputcollid);
    COPY_NODE_FIELD(args);
    COPY_SCALAR_FIELD(winref);
    COPY_SCALAR_FIELD(winstar);
    COPY_SCALAR_FIELD(winagg);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static WithClause* _copyWithClause ( const WithClause from  )  [static]

Definition at line 2050 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, and makeNode.

Referenced by copyObject().

{
    WithClause *newnode = makeNode(WithClause);

    COPY_NODE_FIELD(ctes);
    COPY_SCALAR_FIELD(recursive);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static WorkTableScan* _copyWorkTableScan ( const WorkTableScan from  )  [static]

Definition at line 562 of file copyfuncs.c.

References COPY_SCALAR_FIELD, CopyScanFields(), and makeNode.

Referenced by copyObject().

{
    WorkTableScan *newnode = makeNode(WorkTableScan);

    /*
     * copy node superclass fields
     */
    CopyScanFields((const Scan *) from, (Scan *) newnode);

    /*
     * copy remainder of node
     */
    COPY_SCALAR_FIELD(wtParam);

    return newnode;
}

static XmlExpr* _copyXmlExpr ( const XmlExpr from  )  [static]
static XmlSerialize* _copyXmlSerialize ( const XmlSerialize from  )  [static]

Definition at line 2412 of file copyfuncs.c.

References COPY_LOCATION_FIELD, COPY_NODE_FIELD, COPY_SCALAR_FIELD, makeNode, and xmloption.

Referenced by copyObject().

{
    XmlSerialize *newnode = makeNode(XmlSerialize);

    COPY_SCALAR_FIELD(xmloption);
    COPY_NODE_FIELD(expr);
    COPY_NODE_FIELD(typeName);
    COPY_LOCATION_FIELD(location);

    return newnode;
}

static void CopyCreateStmtFields ( const CreateStmt from,
CreateStmt newnode 
) [static]

Definition at line 2722 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and COPY_STRING_FIELD.

Referenced by _copyCreateForeignTableStmt(), and _copyCreateStmt().

{
    COPY_NODE_FIELD(relation);
    COPY_NODE_FIELD(tableElts);
    COPY_NODE_FIELD(inhRelations);
    COPY_NODE_FIELD(ofTypename);
    COPY_NODE_FIELD(constraints);
    COPY_NODE_FIELD(options);
    COPY_SCALAR_FIELD(oncommit);
    COPY_STRING_FIELD(tablespacename);
    COPY_SCALAR_FIELD(if_not_exists);
}

static void CopyJoinFields ( const Join from,
Join newnode 
) [static]

Definition at line 609 of file copyfuncs.c.

References COPY_NODE_FIELD, COPY_SCALAR_FIELD, and CopyPlanFields().

Referenced by _copyHashJoin(), _copyJoin(), _copyMergeJoin(), and _copyNestLoop().

{
    CopyPlanFields((const Plan *) from, (Plan *) newnode);

    COPY_SCALAR_FIELD(jointype);
    COPY_NODE_FIELD(joinqual);
}

void* copyObject ( const void *  from  ) 

Definition at line 3828 of file copyfuncs.c.

References _copyA_ArrayExpr(), _copyA_Indirection(), _copyAccessPriv(), _copyAConst(), _copyAExpr(), _copyAgg(), _copyAggref(), _copyAIndices(), _copyAlias(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectSchemaStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterTableCmd(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyAStar(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _copyBooleanTest(), _copyBoolExpr(), _copyCaseExpr(), _copyCaseTestExpr(), _copyCaseWhen(), _copyClosePortalStmt(), _copyClusterStmt(), _copyCoalesceExpr(), _copyCoerceToDomain(), _copyCoerceToDomainValue(), _copyCoerceViaIO(), _copyCollateClause(), _copyCollateExpr(), _copyColumnDef(), _copyColumnRef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyCompositeTypeStmt(), _copyConst(), _copyConstraint(), _copyConstraintsSetStmt(), _copyConvertRowtypeExpr(), _copyCopyStmt(), _copyCreateCastStmt(), _copyCreateConversionStmt(), _copyCreatedbStmt(), _copyCreateDomainStmt(), _copyCreateEnumStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFdwStmt(), _copyCreateForeignServerStmt(), _copyCreateForeignTableStmt(), _copyCreateFunctionStmt(), _copyCreateOpClassItem(), _copyCreateOpClassStmt(), _copyCreateOpFamilyStmt(), _copyCreatePLangStmt(), _copyCreateRangeStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateSeqStmt(), _copyCreateStmt(), _copyCreateTableAsStmt(), _copyCreateTableSpaceStmt(), _copyCreateTrigStmt(), _copyCreateUserMappingStmt(), _copyCteScan(), _copyCurrentOfExpr(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyFuncWithArgs(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyHash(), _copyHashJoin(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInsertStmt(), _copyIntoClause(), _copyJoin(), _copyJoinExpr(), _copyLateralJoinInfo(), _copyLimit(), _copyList(), _copyListenStmt(), _copyLoadStmt(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMaterial(), _copyMergeAppend(), _copyMergeJoin(), _copyMinMaxExpr(), _copyModifyTable(), _copyNamedArgExpr(), _copyNestLoop(), _copyNestLoopParam(), _copyNotifyStmt(), _copyNullIfExpr(), _copyNullTest(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlan(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyPrepareStmt(), _copyPrivGrantee(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTblEntry(), _copyRangeTblRef(), _copyRangeVar(), _copyReassignOwnedStmt(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copyScalarArrayOpExpr(), _copyScan(), _copySecLabelStmt(), _copySelectStmt(), _copySeqScan(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copyTableLikeClause(), _copyTargetEntry(), _copyTidScan(), _copyTransactionStmt(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUnique(), _copyUnlistenStmt(), _copyUpdateStmt(), _copyVacuumStmt(), _copyValue(), _copyValuesScan(), _copyVar(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), check_stack_depth(), elog, ERROR, list_copy(), makeNode, nodeTag, NULL, 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_AlterDatabaseSetStmt, T_AlterDatabaseStmt, T_AlterDefaultPrivilegesStmt, T_AlterDomainStmt, T_AlterEnumStmt, T_AlterEventTrigStmt, T_AlterExtensionContentsStmt, T_AlterExtensionStmt, T_AlterFdwStmt, T_AlterForeignServerStmt, T_AlterFunctionStmt, T_AlternativeSubPlan, T_AlterObjectSchemaStmt, T_AlterOpFamilyStmt, T_AlterOwnerStmt, T_AlterRoleSetStmt, T_AlterRoleStmt, T_AlterSeqStmt, T_AlterTableCmd, 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_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_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_CreateRangeStmt, T_CreateRoleStmt, T_CreateSchemaStmt, T_CreateSeqStmt, T_CreateStmt, T_CreateTableAsStmt, T_CreateTableSpaceStmt, T_CreateTrigStmt, T_CreateUserMappingStmt, T_CteScan, T_CurrentOfExpr, 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_DropTableSpaceStmt, T_DropUserMappingStmt, T_ExecuteStmt, T_ExplainStmt, T_FetchStmt, T_FieldSelect, T_FieldStore, T_Float, T_ForeignScan, T_FromExpr, T_FuncCall, T_FuncExpr, T_FunctionParameter, T_FunctionScan, T_FuncWithArgs, T_GrantRoleStmt, T_GrantStmt, T_Group, T_Hash, T_HashJoin, T_IndexElem, T_IndexOnlyScan, T_IndexScan, T_IndexStmt, T_InsertStmt, T_Integer, T_IntList, T_IntoClause, T_Join, T_JoinExpr, T_LateralJoinInfo, 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_NamedArgExpr, T_NestLoop, T_NestLoopParam, T_NotifyStmt, T_Null, T_NullIfExpr, T_NullTest, T_OidList, T_OpExpr, T_Param, T_ParamRef, T_PathKey, T_PlaceHolderInfo, T_PlaceHolderVar, T_Plan, T_PlanInvalItem, T_PlannedStmt, T_PlanRowMark, T_PrepareStmt, T_PrivGrantee, T_Query, T_RangeFunction, T_RangeSubselect, T_RangeTblEntry, T_RangeTblRef, T_RangeVar, T_ReassignOwnedStmt, T_RecursiveUnion, T_RefreshMatViewStmt, T_ReindexStmt, T_RelabelType, T_RenameStmt, T_ResTarget, T_RestrictInfo, T_Result, T_RowCompareExpr, T_RowExpr, T_RowMarkClause, T_RuleStmt, 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_String, T_SubLink, T_SubPlan, T_SubqueryScan, T_TableLikeClause, T_TargetEntry, T_TidScan, T_TransactionStmt, T_TruncateStmt, T_TypeCast, T_TypeName, T_Unique, T_UnlistenStmt, T_UpdateStmt, T_VacuumStmt, T_ValuesScan, T_Var, T_VariableSetStmt, T_VariableShowStmt, T_ViewStmt, T_WindowAgg, T_WindowClause, T_WindowDef, T_WindowFunc, T_WithClause, T_WorkTableScan, T_XmlExpr, and T_XmlSerialize.

Referenced by add_placeholders_to_base_rels(), add_to_flat_tlist(), add_vars_to_targetlist(), AddQual(), addRangeTableEntryForCTE(), addRangeTableEntryForJoin(), addRangeTableEntryForSubquery(), addRangeTableEntryForValues(), adjust_appendrel_attrs_mutator(), adjust_rowcompare_for_index(), adjustJoinTreeList(), analyzeCTETargetList(), ApplyRetrieveRule(), assign_param_for_placeholdervar(), assign_param_for_var(), ATAddCheckConstraint(), ATExecAddColumn(), ATPrepCmd(), BeginCopy(), build_implied_join_equality(), build_minmax_path(), build_relation_tlist(), BuildCachedPlan(), buildScalarFunctionAlias(), CompleteCachedPlan(), convert_EXISTS_sublink_to_join(), convert_testexpr_mutator(), ConvertTriggerToFK(), CopyAndAddInvertedQual(), CopyCachedPlan(), create_scan_plan(), create_unique_path(), CreateCachedPlan(), CreateTrigger(), DefineView(), eval_const_expressions_mutator(), EvaluateParams(), ExecCreateTableAs(), expand_inherited_rtentry(), ExpandIndirectionStar(), ExpandRowReference(), expandRTE(), ExplainOneUtility(), ExplainQuery(), expression_tree_mutator(), extract_lateral_references(), FetchPreparedStatementTargetList(), find_placeholder_info(), fireRules(), fix_indexqual_operand(), fix_scan_expr_mutator(), flatten_join_alias_vars_mutator(), flatten_simple_union_all(), generate_setop_grouplist(), get_eclass_for_sort_expr(), grouping_planner(), index_register(), inheritance_planner(), inline_function(), inline_set_returning_function(), intorel_startup(), make_subplan(), PerformCursorOpen(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), prepare_sort_from_pathkeys(), PrepareQuery(), process_implied_equality(), process_subquery_nestloop_params(), pull_up_simple_subquery(), pull_up_simple_union_all(), pullup_replace_vars_callback(), query_tree_mutator(), range_table_mutator(), refresh_matview_datafill(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), replace_outer_agg(), ReplaceVarsFromTargetList_callback(), RevalidateCachedQuery(), rewriteRuleAction(), rewriteTargetView(), set_plan_refs(), set_subquery_pathlist(), SPI_cursor_open_internal(), SS_process_ctes(), subquery_planner(), substitute_actual_srf_parameters_mutator(), transformAExprIn(), transformAlterTableStmt(), transformColumnRef(), transformCreateStmt(), transformCreateTableAsStmt(), transformDistinctClause(), transformDistinctOnClause(), transformExprRecurse(), transformGroupClause(), transformIndexStmt(), transformJoinUsingClause(), transformRuleStmt(), transformWindowDefinitions(), UpdateRangeTableOfViewParse(), and verify_dictoptions().

{
    void       *retval;

    if (from == NULL)
        return NULL;

    /* Guard against stack overflow due to overly complex expressions */
    check_stack_depth();

    switch (nodeTag(from))
    {
            /*
             * PLAN NODES
             */
        case T_PlannedStmt:
            retval = _copyPlannedStmt(from);
            break;
        case T_Plan:
            retval = _copyPlan(from);
            break;
        case T_Result:
            retval = _copyResult(from);
            break;
        case T_ModifyTable:
            retval = _copyModifyTable(from);
            break;
        case T_Append:
            retval = _copyAppend(from);
            break;
        case T_MergeAppend:
            retval = _copyMergeAppend(from);
            break;
        case T_RecursiveUnion:
            retval = _copyRecursiveUnion(from);
            break;
        case T_BitmapAnd:
            retval = _copyBitmapAnd(from);
            break;
        case T_BitmapOr:
            retval = _copyBitmapOr(from);
            break;
        case T_Scan:
            retval = _copyScan(from);
            break;
        case T_SeqScan:
            retval = _copySeqScan(from);
            break;
        case T_IndexScan:
            retval = _copyIndexScan(from);
            break;
        case T_IndexOnlyScan:
            retval = _copyIndexOnlyScan(from);
            break;
        case T_BitmapIndexScan:
            retval = _copyBitmapIndexScan(from);
            break;
        case T_BitmapHeapScan:
            retval = _copyBitmapHeapScan(from);
            break;
        case T_TidScan:
            retval = _copyTidScan(from);
            break;
        case T_SubqueryScan:
            retval = _copySubqueryScan(from);
            break;
        case T_FunctionScan:
            retval = _copyFunctionScan(from);
            break;
        case T_ValuesScan:
            retval = _copyValuesScan(from);
            break;
        case T_CteScan:
            retval = _copyCteScan(from);
            break;
        case T_WorkTableScan:
            retval = _copyWorkTableScan(from);
            break;
        case T_ForeignScan:
            retval = _copyForeignScan(from);
            break;
        case T_Join:
            retval = _copyJoin(from);
            break;
        case T_NestLoop:
            retval = _copyNestLoop(from);
            break;
        case T_MergeJoin:
            retval = _copyMergeJoin(from);
            break;
        case T_HashJoin:
            retval = _copyHashJoin(from);
            break;
        case T_Material:
            retval = _copyMaterial(from);
            break;
        case T_Sort:
            retval = _copySort(from);
            break;
        case T_Group:
            retval = _copyGroup(from);
            break;
        case T_Agg:
            retval = _copyAgg(from);
            break;
        case T_WindowAgg:
            retval = _copyWindowAgg(from);
            break;
        case T_Unique:
            retval = _copyUnique(from);
            break;
        case T_Hash:
            retval = _copyHash(from);
            break;
        case T_SetOp:
            retval = _copySetOp(from);
            break;
        case T_LockRows:
            retval = _copyLockRows(from);
            break;
        case T_Limit:
            retval = _copyLimit(from);
            break;
        case T_NestLoopParam:
            retval = _copyNestLoopParam(from);
            break;
        case T_PlanRowMark:
            retval = _copyPlanRowMark(from);
            break;
        case T_PlanInvalItem:
            retval = _copyPlanInvalItem(from);
            break;

            /*
             * PRIMITIVE NODES
             */
        case T_Alias:
            retval = _copyAlias(from);
            break;
        case T_RangeVar:
            retval = _copyRangeVar(from);
            break;
        case T_IntoClause:
            retval = _copyIntoClause(from);
            break;
        case T_Var:
            retval = _copyVar(from);
            break;
        case T_Const:
            retval = _copyConst(from);
            break;
        case T_Param:
            retval = _copyParam(from);
            break;
        case T_Aggref:
            retval = _copyAggref(from);
            break;
        case T_WindowFunc:
            retval = _copyWindowFunc(from);
            break;
        case T_ArrayRef:
            retval = _copyArrayRef(from);
            break;
        case T_FuncExpr:
            retval = _copyFuncExpr(from);
            break;
        case T_NamedArgExpr:
            retval = _copyNamedArgExpr(from);
            break;
        case T_OpExpr:
            retval = _copyOpExpr(from);
            break;
        case T_DistinctExpr:
            retval = _copyDistinctExpr(from);
            break;
        case T_NullIfExpr:
            retval = _copyNullIfExpr(from);
            break;
        case T_ScalarArrayOpExpr:
            retval = _copyScalarArrayOpExpr(from);
            break;
        case T_BoolExpr:
            retval = _copyBoolExpr(from);
            break;
        case T_SubLink:
            retval = _copySubLink(from);
            break;
        case T_SubPlan:
            retval = _copySubPlan(from);
            break;
        case T_AlternativeSubPlan:
            retval = _copyAlternativeSubPlan(from);
            break;
        case T_FieldSelect:
            retval = _copyFieldSelect(from);
            break;
        case T_FieldStore:
            retval = _copyFieldStore(from);
            break;
        case T_RelabelType:
            retval = _copyRelabelType(from);
            break;
        case T_CoerceViaIO:
            retval = _copyCoerceViaIO(from);
            break;
        case T_ArrayCoerceExpr:
            retval = _copyArrayCoerceExpr(from);
            break;
        case T_ConvertRowtypeExpr:
            retval = _copyConvertRowtypeExpr(from);
            break;
        case T_CollateExpr:
            retval = _copyCollateExpr(from);
            break;
        case T_CaseExpr:
            retval = _copyCaseExpr(from);
            break;
        case T_CaseWhen:
            retval = _copyCaseWhen(from);
            break;
        case T_CaseTestExpr:
            retval = _copyCaseTestExpr(from);
            break;
        case T_ArrayExpr:
            retval = _copyArrayExpr(from);
            break;
        case T_RowExpr:
            retval = _copyRowExpr(from);
            break;
        case T_RowCompareExpr:
            retval = _copyRowCompareExpr(from);
            break;
        case T_CoalesceExpr:
            retval = _copyCoalesceExpr(from);
            break;
        case T_MinMaxExpr:
            retval = _copyMinMaxExpr(from);
            break;
        case T_XmlExpr:
            retval = _copyXmlExpr(from);
            break;
        case T_NullTest:
            retval = _copyNullTest(from);
            break;
        case T_BooleanTest:
            retval = _copyBooleanTest(from);
            break;
        case T_CoerceToDomain:
            retval = _copyCoerceToDomain(from);
            break;
        case T_CoerceToDomainValue:
            retval = _copyCoerceToDomainValue(from);
            break;
        case T_SetToDefault:
            retval = _copySetToDefault(from);
            break;
        case T_CurrentOfExpr:
            retval = _copyCurrentOfExpr(from);
            break;
        case T_TargetEntry:
            retval = _copyTargetEntry(from);
            break;
        case T_RangeTblRef:
            retval = _copyRangeTblRef(from);
            break;
        case T_JoinExpr:
            retval = _copyJoinExpr(from);
            break;
        case T_FromExpr:
            retval = _copyFromExpr(from);
            break;

            /*
             * RELATION NODES
             */
        case T_PathKey:
            retval = _copyPathKey(from);
            break;
        case T_RestrictInfo:
            retval = _copyRestrictInfo(from);
            break;
        case T_PlaceHolderVar:
            retval = _copyPlaceHolderVar(from);
            break;
        case T_SpecialJoinInfo:
            retval = _copySpecialJoinInfo(from);
            break;
        case T_LateralJoinInfo:
            retval = _copyLateralJoinInfo(from);
            break;
        case T_AppendRelInfo:
            retval = _copyAppendRelInfo(from);
            break;
        case T_PlaceHolderInfo:
            retval = _copyPlaceHolderInfo(from);
            break;

            /*
             * VALUE NODES
             */
        case T_Integer:
        case T_Float:
        case T_String:
        case T_BitString:
        case T_Null:
            retval = _copyValue(from);
            break;

            /*
             * LIST NODES
             */
        case T_List:
            retval = _copyList(from);
            break;

            /*
             * Lists of integers and OIDs don't need to be deep-copied, so we
             * perform a shallow copy via list_copy()
             */
        case T_IntList:
        case T_OidList:
            retval = list_copy(from);
            break;

            /*
             * PARSE NODES
             */
        case T_Query:
            retval = _copyQuery(from);
            break;
        case T_InsertStmt:
            retval = _copyInsertStmt(from);
            break;
        case T_DeleteStmt:
            retval = _copyDeleteStmt(from);
            break;
        case T_UpdateStmt:
            retval = _copyUpdateStmt(from);
            break;
        case T_SelectStmt:
            retval = _copySelectStmt(from);
            break;
        case T_SetOperationStmt:
            retval = _copySetOperationStmt(from);
            break;
        case T_AlterTableStmt:
            retval = _copyAlterTableStmt(from);
            break;
        case T_AlterTableCmd:
            retval = _copyAlterTableCmd(from);
            break;
        case T_AlterDomainStmt:
            retval = _copyAlterDomainStmt(from);
            break;
        case T_GrantStmt:
            retval = _copyGrantStmt(from);
            break;
        case T_GrantRoleStmt:
            retval = _copyGrantRoleStmt(from);
            break;
        case T_AlterDefaultPrivilegesStmt:
            retval = _copyAlterDefaultPrivilegesStmt(from);
            break;
        case T_DeclareCursorStmt:
            retval = _copyDeclareCursorStmt(from);
            break;
        case T_ClosePortalStmt:
            retval = _copyClosePortalStmt(from);
            break;
        case T_ClusterStmt:
            retval = _copyClusterStmt(from);
            break;
        case T_CopyStmt:
            retval = _copyCopyStmt(from);
            break;
        case T_CreateStmt:
            retval = _copyCreateStmt(from);
            break;
        case T_TableLikeClause:
            retval = _copyTableLikeClause(from);
            break;
        case T_DefineStmt:
            retval = _copyDefineStmt(from);
            break;
        case T_DropStmt:
            retval = _copyDropStmt(from);
            break;
        case T_TruncateStmt:
            retval = _copyTruncateStmt(from);
            break;
        case T_CommentStmt:
            retval = _copyCommentStmt(from);
            break;
        case T_SecLabelStmt:
            retval = _copySecLabelStmt(from);
            break;
        case T_FetchStmt:
            retval = _copyFetchStmt(from);
            break;
        case T_IndexStmt:
            retval = _copyIndexStmt(from);
            break;
        case T_CreateFunctionStmt:
            retval = _copyCreateFunctionStmt(from);
            break;
        case T_FunctionParameter:
            retval = _copyFunctionParameter(from);
            break;
        case T_AlterFunctionStmt:
            retval = _copyAlterFunctionStmt(from);
            break;
        case T_DoStmt:
            retval = _copyDoStmt(from);
            break;
        case T_RenameStmt:
            retval = _copyRenameStmt(from);
            break;
        case T_AlterObjectSchemaStmt:
            retval = _copyAlterObjectSchemaStmt(from);
            break;
        case T_AlterOwnerStmt:
            retval = _copyAlterOwnerStmt(from);
            break;
        case T_RuleStmt:
            retval = _copyRuleStmt(from);
            break;
        case T_NotifyStmt:
            retval = _copyNotifyStmt(from);
            break;
        case T_ListenStmt:
            retval = _copyListenStmt(from);
            break;
        case T_UnlistenStmt:
            retval = _copyUnlistenStmt(from);
            break;
        case T_TransactionStmt:
            retval = _copyTransactionStmt(from);
            break;
        case T_CompositeTypeStmt:
            retval = _copyCompositeTypeStmt(from);
            break;
        case T_CreateEnumStmt:
            retval = _copyCreateEnumStmt(from);
            break;
        case T_CreateRangeStmt:
            retval = _copyCreateRangeStmt(from);
            break;
        case T_AlterEnumStmt:
            retval = _copyAlterEnumStmt(from);
            break;
        case T_ViewStmt:
            retval = _copyViewStmt(from);
            break;
        case T_LoadStmt:
            retval = _copyLoadStmt(from);
            break;
        case T_CreateDomainStmt:
            retval = _copyCreateDomainStmt(from);
            break;
        case T_CreateOpClassStmt:
            retval = _copyCreateOpClassStmt(from);
            break;
        case T_CreateOpClassItem:
            retval = _copyCreateOpClassItem(from);
            break;
        case T_CreateOpFamilyStmt:
            retval = _copyCreateOpFamilyStmt(from);
            break;
        case T_AlterOpFamilyStmt:
            retval = _copyAlterOpFamilyStmt(from);
            break;
        case T_CreatedbStmt:
            retval = _copyCreatedbStmt(from);
            break;
        case T_AlterDatabaseStmt:
            retval = _copyAlterDatabaseStmt(from);
            break;
        case T_AlterDatabaseSetStmt:
            retval = _copyAlterDatabaseSetStmt(from);
            break;
        case T_DropdbStmt:
            retval = _copyDropdbStmt(from);
            break;
        case T_VacuumStmt:
            retval = _copyVacuumStmt(from);
            break;
        case T_ExplainStmt:
            retval = _copyExplainStmt(from);
            break;
        case T_CreateTableAsStmt:
            retval = _copyCreateTableAsStmt(from);
            break;
        case T_RefreshMatViewStmt:
            retval = _copyRefreshMatViewStmt(from);
            break;
        case T_CreateSeqStmt:
            retval = _copyCreateSeqStmt(from);
            break;
        case T_AlterSeqStmt:
            retval = _copyAlterSeqStmt(from);
            break;
        case T_VariableSetStmt:
            retval = _copyVariableSetStmt(from);
            break;
        case T_VariableShowStmt:
            retval = _copyVariableShowStmt(from);
            break;
        case T_DiscardStmt:
            retval = _copyDiscardStmt(from);
            break;
        case T_CreateTableSpaceStmt:
            retval = _copyCreateTableSpaceStmt(from);
            break;
        case T_DropTableSpaceStmt:
            retval = _copyDropTableSpaceStmt(from);
            break;
        case T_AlterTableSpaceOptionsStmt:
            retval = _copyAlterTableSpaceOptionsStmt(from);
            break;
        case T_CreateExtensionStmt:
            retval = _copyCreateExtensionStmt(from);
            break;
        case T_AlterExtensionStmt:
            retval = _copyAlterExtensionStmt(from);
            break;
        case T_AlterExtensionContentsStmt:
            retval = _copyAlterExtensionContentsStmt(from);
            break;
        case T_CreateFdwStmt:
            retval = _copyCreateFdwStmt(from);
            break;
        case T_AlterFdwStmt:
            retval = _copyAlterFdwStmt(from);
            break;
        case T_CreateForeignServerStmt:
            retval = _copyCreateForeignServerStmt(from);
            break;
        case T_AlterForeignServerStmt:
            retval = _copyAlterForeignServerStmt(from);
            break;
        case T_CreateUserMappingStmt:
            retval = _copyCreateUserMappingStmt(from);
            break;
        case T_AlterUserMappingStmt:
            retval = _copyAlterUserMappingStmt(from);
            break;
        case T_DropUserMappingStmt:
            retval = _copyDropUserMappingStmt(from);
            break;
        case T_CreateForeignTableStmt:
            retval = _copyCreateForeignTableStmt(from);
            break;
        case T_CreateTrigStmt:
            retval = _copyCreateTrigStmt(from);
            break;
        case T_CreateEventTrigStmt:
            retval = _copyCreateEventTrigStmt(from);
            break;
        case T_AlterEventTrigStmt:
            retval = _copyAlterEventTrigStmt(from);
            break;
        case T_CreatePLangStmt:
            retval = _copyCreatePLangStmt(from);
            break;
        case T_CreateRoleStmt:
            retval = _copyCreateRoleStmt(from);
            break;
        case T_AlterRoleStmt:
            retval = _copyAlterRoleStmt(from);
            break;
        case T_AlterRoleSetStmt:
            retval = _copyAlterRoleSetStmt(from);
            break;
        case T_DropRoleStmt:
            retval = _copyDropRoleStmt(from);
            break;
        case T_LockStmt:
            retval = _copyLockStmt(from);
            break;
        case T_ConstraintsSetStmt:
            retval = _copyConstraintsSetStmt(from);
            break;
        case T_ReindexStmt:
            retval = _copyReindexStmt(from);
            break;
        case T_CheckPointStmt:
            retval = (void *) makeNode(CheckPointStmt);
            break;
        case T_CreateSchemaStmt:
            retval = _copyCreateSchemaStmt(from);
            break;
        case T_CreateConversionStmt:
            retval = _copyCreateConversionStmt(from);
            break;
        case T_CreateCastStmt:
            retval = _copyCreateCastStmt(from);
            break;
        case T_PrepareStmt:
            retval = _copyPrepareStmt(from);
            break;
        case T_ExecuteStmt:
            retval = _copyExecuteStmt(from);
            break;
        case T_DeallocateStmt:
            retval = _copyDeallocateStmt(from);
            break;
        case T_DropOwnedStmt:
            retval = _copyDropOwnedStmt(from);
            break;
        case T_ReassignOwnedStmt:
            retval = _copyReassignOwnedStmt(from);
            break;
        case T_AlterTSDictionaryStmt:
            retval = _copyAlterTSDictionaryStmt(from);
            break;
        case T_AlterTSConfigurationStmt:
            retval = _copyAlterTSConfigurationStmt(from);
            break;

        case T_A_Expr:
            retval = _copyAExpr(from);
            break;
        case T_ColumnRef:
            retval = _copyColumnRef(from);
            break;
        case T_ParamRef:
            retval = _copyParamRef(from);
            break;
        case T_A_Const:
            retval = _copyAConst(from);
            break;
        case T_FuncCall:
            retval = _copyFuncCall(from);
            break;
        case T_A_Star:
            retval = _copyAStar(from);
            break;
        case T_A_Indices:
            retval = _copyAIndices(from);
            break;
        case T_A_Indirection:
            retval = _copyA_Indirection(from);
            break;
        case T_A_ArrayExpr:
            retval = _copyA_ArrayExpr(from);
            break;
        case T_ResTarget:
            retval = _copyResTarget(from);
            break;
        case T_TypeCast:
            retval = _copyTypeCast(from);
            break;
        case T_CollateClause:
            retval = _copyCollateClause(from);
            break;
        case T_SortBy:
            retval = _copySortBy(from);
            break;
        case T_WindowDef:
            retval = _copyWindowDef(from);
            break;
        case T_RangeSubselect:
            retval = _copyRangeSubselect(from);
            break;
        case T_RangeFunction:
            retval = _copyRangeFunction(from);
            break;
        case T_TypeName:
            retval = _copyTypeName(from);
            break;
        case T_IndexElem:
            retval = _copyIndexElem(from);
            break;
        case T_ColumnDef:
            retval = _copyColumnDef(from);
            break;
        case T_Constraint:
            retval = _copyConstraint(from);
            break;
        case T_DefElem:
            retval = _copyDefElem(from);
            break;
        case T_LockingClause:
            retval = _copyLockingClause(from);
            break;
        case T_RangeTblEntry:
            retval = _copyRangeTblEntry(from);
            break;
        case T_SortGroupClause:
            retval = _copySortGroupClause(from);
            break;
        case T_WindowClause:
            retval = _copyWindowClause(from);
            break;
        case T_RowMarkClause:
            retval = _copyRowMarkClause(from);
            break;
        case T_WithClause:
            retval = _copyWithClause(from);
            break;
        case T_CommonTableExpr:
            retval = _copyCommonTableExpr(from);
            break;
        case T_PrivGrantee:
            retval = _copyPrivGrantee(from);
            break;
        case T_FuncWithArgs:
            retval = _copyFuncWithArgs(from);
            break;
        case T_AccessPriv:
            retval = _copyAccessPriv(from);
            break;
        case T_XmlSerialize:
            retval = _copyXmlSerialize(from);
            break;

        default:
            elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from));
            retval = 0;         /* keep compiler quiet */
            break;
    }

    return retval;
}

static void CopyPlanFields ( const Plan from,
Plan newnode 
) [static]
static void CopyScanFields ( const Scan from,
Scan newnode 
) [static]