PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
equalfuncs.c File Reference
#include "postgres.h"
#include "nodes/extensible.h"
#include "nodes/relation.h"
#include "utils/datum.h"
Include dependency graph for equalfuncs.c:

Go to the source code of this file.

Macros

#define COMPARE_SCALAR_FIELD(fldname)
 
#define COMPARE_NODE_FIELD(fldname)
 
#define COMPARE_BITMAPSET_FIELD(fldname)
 
#define COMPARE_STRING_FIELD(fldname)
 
#define equalstr(a, b)   (((a) != NULL && (b) != NULL) ? (strcmp(a, b) == 0) : (a) == (b))
 
#define COMPARE_POINTER_FIELD(fldname, sz)
 
#define COMPARE_LOCATION_FIELD(fldname)   ((void) 0)
 
#define COMPARE_COERCIONFORM_FIELD(fldname)   ((void) 0)
 

Functions

static bool _equalAlias (const Alias *a, const Alias *b)
 
static bool _equalRangeVar (const RangeVar *a, const RangeVar *b)
 
static bool _equalTableFunc (const TableFunc *a, const TableFunc *b)
 
static bool _equalIntoClause (const IntoClause *a, const IntoClause *b)
 
static bool _equalVar (const Var *a, const Var *b)
 
static bool _equalConst (const Const *a, const Const *b)
 
static bool _equalParam (const Param *a, const Param *b)
 
static bool _equalAggref (const Aggref *a, const Aggref *b)
 
static bool _equalGroupingFunc (const GroupingFunc *a, const GroupingFunc *b)
 
static bool _equalWindowFunc (const WindowFunc *a, const WindowFunc *b)
 
static bool _equalArrayRef (const ArrayRef *a, const ArrayRef *b)
 
static bool _equalFuncExpr (const FuncExpr *a, const FuncExpr *b)
 
static bool _equalNamedArgExpr (const NamedArgExpr *a, const NamedArgExpr *b)
 
static bool _equalOpExpr (const OpExpr *a, const OpExpr *b)
 
static bool _equalDistinctExpr (const DistinctExpr *a, const DistinctExpr *b)
 
static bool _equalNullIfExpr (const NullIfExpr *a, const NullIfExpr *b)
 
static bool _equalScalarArrayOpExpr (const ScalarArrayOpExpr *a, const ScalarArrayOpExpr *b)
 
static bool _equalBoolExpr (const BoolExpr *a, const BoolExpr *b)
 
static bool _equalSubLink (const SubLink *a, const SubLink *b)
 
static bool _equalSubPlan (const SubPlan *a, const SubPlan *b)
 
static bool _equalAlternativeSubPlan (const AlternativeSubPlan *a, const AlternativeSubPlan *b)
 
static bool _equalFieldSelect (const FieldSelect *a, const FieldSelect *b)
 
static bool _equalFieldStore (const FieldStore *a, const FieldStore *b)
 
static bool _equalRelabelType (const RelabelType *a, const RelabelType *b)
 
static bool _equalCoerceViaIO (const CoerceViaIO *a, const CoerceViaIO *b)
 
static bool _equalArrayCoerceExpr (const ArrayCoerceExpr *a, const ArrayCoerceExpr *b)
 
static bool _equalConvertRowtypeExpr (const ConvertRowtypeExpr *a, const ConvertRowtypeExpr *b)
 
static bool _equalCollateExpr (const CollateExpr *a, const CollateExpr *b)
 
static bool _equalCaseExpr (const CaseExpr *a, const CaseExpr *b)
 
static bool _equalCaseWhen (const CaseWhen *a, const CaseWhen *b)
 
static bool _equalCaseTestExpr (const CaseTestExpr *a, const CaseTestExpr *b)
 
static bool _equalArrayExpr (const ArrayExpr *a, const ArrayExpr *b)
 
static bool _equalRowExpr (const RowExpr *a, const RowExpr *b)
 
static bool _equalRowCompareExpr (const RowCompareExpr *a, const RowCompareExpr *b)
 
static bool _equalCoalesceExpr (const CoalesceExpr *a, const CoalesceExpr *b)
 
static bool _equalMinMaxExpr (const MinMaxExpr *a, const MinMaxExpr *b)
 
static bool _equalSQLValueFunction (const SQLValueFunction *a, const SQLValueFunction *b)
 
static bool _equalXmlExpr (const XmlExpr *a, const XmlExpr *b)
 
static bool _equalNullTest (const NullTest *a, const NullTest *b)
 
static bool _equalBooleanTest (const BooleanTest *a, const BooleanTest *b)
 
static bool _equalCoerceToDomain (const CoerceToDomain *a, const CoerceToDomain *b)
 
static bool _equalCoerceToDomainValue (const CoerceToDomainValue *a, const CoerceToDomainValue *b)
 
static bool _equalSetToDefault (const SetToDefault *a, const SetToDefault *b)
 
static bool _equalCurrentOfExpr (const CurrentOfExpr *a, const CurrentOfExpr *b)
 
static bool _equalNextValueExpr (const NextValueExpr *a, const NextValueExpr *b)
 
static bool _equalInferenceElem (const InferenceElem *a, const InferenceElem *b)
 
static bool _equalTargetEntry (const TargetEntry *a, const TargetEntry *b)
 
static bool _equalRangeTblRef (const RangeTblRef *a, const RangeTblRef *b)
 
static bool _equalJoinExpr (const JoinExpr *a, const JoinExpr *b)
 
static bool _equalFromExpr (const FromExpr *a, const FromExpr *b)
 
static bool _equalOnConflictExpr (const OnConflictExpr *a, const OnConflictExpr *b)
 
static bool _equalPathKey (const PathKey *a, const PathKey *b)
 
static bool _equalRestrictInfo (const RestrictInfo *a, const RestrictInfo *b)
 
static bool _equalPlaceHolderVar (const PlaceHolderVar *a, const PlaceHolderVar *b)
 
static bool _equalSpecialJoinInfo (const SpecialJoinInfo *a, const SpecialJoinInfo *b)
 
static bool _equalAppendRelInfo (const AppendRelInfo *a, const AppendRelInfo *b)
 
static bool _equalPartitionedChildRelInfo (const PartitionedChildRelInfo *a, const PartitionedChildRelInfo *b)
 
static bool _equalPlaceHolderInfo (const PlaceHolderInfo *a, const PlaceHolderInfo *b)
 
static bool _equalExtensibleNode (const ExtensibleNode *a, const ExtensibleNode *b)
 
static bool _equalQuery (const Query *a, const Query *b)
 
static bool _equalRawStmt (const RawStmt *a, const RawStmt *b)
 
static bool _equalInsertStmt (const InsertStmt *a, const InsertStmt *b)
 
static bool _equalDeleteStmt (const DeleteStmt *a, const DeleteStmt *b)
 
static bool _equalUpdateStmt (const UpdateStmt *a, const UpdateStmt *b)
 
static bool _equalSelectStmt (const SelectStmt *a, const SelectStmt *b)
 
static bool _equalSetOperationStmt (const SetOperationStmt *a, const SetOperationStmt *b)
 
static bool _equalAlterTableStmt (const AlterTableStmt *a, const AlterTableStmt *b)
 
static bool _equalAlterTableCmd (const AlterTableCmd *a, const AlterTableCmd *b)
 
static bool _equalAlterCollationStmt (const AlterCollationStmt *a, const AlterCollationStmt *b)
 
static bool _equalAlterDomainStmt (const AlterDomainStmt *a, const AlterDomainStmt *b)
 
static bool _equalGrantStmt (const GrantStmt *a, const GrantStmt *b)
 
static bool _equalObjectWithArgs (const ObjectWithArgs *a, const ObjectWithArgs *b)
 
static bool _equalAccessPriv (const AccessPriv *a, const AccessPriv *b)
 
static bool _equalGrantRoleStmt (const GrantRoleStmt *a, const GrantRoleStmt *b)
 
static bool _equalAlterDefaultPrivilegesStmt (const AlterDefaultPrivilegesStmt *a, const AlterDefaultPrivilegesStmt *b)
 
static bool _equalDeclareCursorStmt (const DeclareCursorStmt *a, const DeclareCursorStmt *b)
 
static bool _equalClosePortalStmt (const ClosePortalStmt *a, const ClosePortalStmt *b)
 
static bool _equalClusterStmt (const ClusterStmt *a, const ClusterStmt *b)
 
static bool _equalCopyStmt (const CopyStmt *a, const CopyStmt *b)
 
static bool _equalCreateStmt (const CreateStmt *a, const CreateStmt *b)
 
static bool _equalTableLikeClause (const TableLikeClause *a, const TableLikeClause *b)
 
static bool _equalDefineStmt (const DefineStmt *a, const DefineStmt *b)
 
static bool _equalDropStmt (const DropStmt *a, const DropStmt *b)
 
static bool _equalTruncateStmt (const TruncateStmt *a, const TruncateStmt *b)
 
static bool _equalCommentStmt (const CommentStmt *a, const CommentStmt *b)
 
static bool _equalSecLabelStmt (const SecLabelStmt *a, const SecLabelStmt *b)
 
static bool _equalFetchStmt (const FetchStmt *a, const FetchStmt *b)
 
static bool _equalIndexStmt (const IndexStmt *a, const IndexStmt *b)
 
static bool _equalCreateStatsStmt (const CreateStatsStmt *a, const CreateStatsStmt *b)
 
static bool _equalCreateFunctionStmt (const CreateFunctionStmt *a, const CreateFunctionStmt *b)
 
static bool _equalFunctionParameter (const FunctionParameter *a, const FunctionParameter *b)
 
static bool _equalAlterFunctionStmt (const AlterFunctionStmt *a, const AlterFunctionStmt *b)
 
static bool _equalDoStmt (const DoStmt *a, const DoStmt *b)
 
static bool _equalRenameStmt (const RenameStmt *a, const RenameStmt *b)
 
static bool _equalAlterObjectDependsStmt (const AlterObjectDependsStmt *a, const AlterObjectDependsStmt *b)
 
static bool _equalAlterObjectSchemaStmt (const AlterObjectSchemaStmt *a, const AlterObjectSchemaStmt *b)
 
static bool _equalAlterOwnerStmt (const AlterOwnerStmt *a, const AlterOwnerStmt *b)
 
static bool _equalAlterOperatorStmt (const AlterOperatorStmt *a, const AlterOperatorStmt *b)
 
static bool _equalRuleStmt (const RuleStmt *a, const RuleStmt *b)
 
static bool _equalNotifyStmt (const NotifyStmt *a, const NotifyStmt *b)
 
static bool _equalListenStmt (const ListenStmt *a, const ListenStmt *b)
 
static bool _equalUnlistenStmt (const UnlistenStmt *a, const UnlistenStmt *b)
 
static bool _equalTransactionStmt (const TransactionStmt *a, const TransactionStmt *b)
 
static bool _equalCompositeTypeStmt (const CompositeTypeStmt *a, const CompositeTypeStmt *b)
 
static bool _equalCreateEnumStmt (const CreateEnumStmt *a, const CreateEnumStmt *b)
 
static bool _equalCreateRangeStmt (const CreateRangeStmt *a, const CreateRangeStmt *b)
 
static bool _equalAlterEnumStmt (const AlterEnumStmt *a, const AlterEnumStmt *b)
 
static bool _equalViewStmt (const ViewStmt *a, const ViewStmt *b)
 
static bool _equalLoadStmt (const LoadStmt *a, const LoadStmt *b)
 
static bool _equalCreateDomainStmt (const CreateDomainStmt *a, const CreateDomainStmt *b)
 
static bool _equalCreateOpClassStmt (const CreateOpClassStmt *a, const CreateOpClassStmt *b)
 
static bool _equalCreateOpClassItem (const CreateOpClassItem *a, const CreateOpClassItem *b)
 
static bool _equalCreateOpFamilyStmt (const CreateOpFamilyStmt *a, const CreateOpFamilyStmt *b)
 
static bool _equalAlterOpFamilyStmt (const AlterOpFamilyStmt *a, const AlterOpFamilyStmt *b)
 
static bool _equalCreatedbStmt (const CreatedbStmt *a, const CreatedbStmt *b)
 
static bool _equalAlterDatabaseStmt (const AlterDatabaseStmt *a, const AlterDatabaseStmt *b)
 
static bool _equalAlterDatabaseSetStmt (const AlterDatabaseSetStmt *a, const AlterDatabaseSetStmt *b)
 
static bool _equalDropdbStmt (const DropdbStmt *a, const DropdbStmt *b)
 
static bool _equalVacuumStmt (const VacuumStmt *a, const VacuumStmt *b)
 
static bool _equalExplainStmt (const ExplainStmt *a, const ExplainStmt *b)
 
static bool _equalCreateTableAsStmt (const CreateTableAsStmt *a, const CreateTableAsStmt *b)
 
static bool _equalRefreshMatViewStmt (const RefreshMatViewStmt *a, const RefreshMatViewStmt *b)
 
static bool _equalReplicaIdentityStmt (const ReplicaIdentityStmt *a, const ReplicaIdentityStmt *b)
 
static bool _equalAlterSystemStmt (const AlterSystemStmt *a, const AlterSystemStmt *b)
 
static bool _equalCreateSeqStmt (const CreateSeqStmt *a, const CreateSeqStmt *b)
 
static bool _equalAlterSeqStmt (const AlterSeqStmt *a, const AlterSeqStmt *b)
 
static bool _equalVariableSetStmt (const VariableSetStmt *a, const VariableSetStmt *b)
 
static bool _equalVariableShowStmt (const VariableShowStmt *a, const VariableShowStmt *b)
 
static bool _equalDiscardStmt (const DiscardStmt *a, const DiscardStmt *b)
 
static bool _equalCreateTableSpaceStmt (const CreateTableSpaceStmt *a, const CreateTableSpaceStmt *b)
 
static bool _equalDropTableSpaceStmt (const DropTableSpaceStmt *a, const DropTableSpaceStmt *b)
 
static bool _equalAlterTableSpaceOptionsStmt (const AlterTableSpaceOptionsStmt *a, const AlterTableSpaceOptionsStmt *b)
 
static bool _equalAlterTableMoveAllStmt (const AlterTableMoveAllStmt *a, const AlterTableMoveAllStmt *b)
 
static bool _equalCreateExtensionStmt (const CreateExtensionStmt *a, const CreateExtensionStmt *b)
 
static bool _equalAlterExtensionStmt (const AlterExtensionStmt *a, const AlterExtensionStmt *b)
 
static bool _equalAlterExtensionContentsStmt (const AlterExtensionContentsStmt *a, const AlterExtensionContentsStmt *b)
 
static bool _equalCreateFdwStmt (const CreateFdwStmt *a, const CreateFdwStmt *b)
 
static bool _equalAlterFdwStmt (const AlterFdwStmt *a, const AlterFdwStmt *b)
 
static bool _equalCreateForeignServerStmt (const CreateForeignServerStmt *a, const CreateForeignServerStmt *b)
 
static bool _equalAlterForeignServerStmt (const AlterForeignServerStmt *a, const AlterForeignServerStmt *b)
 
static bool _equalCreateUserMappingStmt (const CreateUserMappingStmt *a, const CreateUserMappingStmt *b)
 
static bool _equalAlterUserMappingStmt (const AlterUserMappingStmt *a, const AlterUserMappingStmt *b)
 
static bool _equalDropUserMappingStmt (const DropUserMappingStmt *a, const DropUserMappingStmt *b)
 
static bool _equalCreateForeignTableStmt (const CreateForeignTableStmt *a, const CreateForeignTableStmt *b)
 
static bool _equalImportForeignSchemaStmt (const ImportForeignSchemaStmt *a, const ImportForeignSchemaStmt *b)
 
static bool _equalCreateTransformStmt (const CreateTransformStmt *a, const CreateTransformStmt *b)
 
static bool _equalCreateAmStmt (const CreateAmStmt *a, const CreateAmStmt *b)
 
static bool _equalCreateTrigStmt (const CreateTrigStmt *a, const CreateTrigStmt *b)
 
static bool _equalCreateEventTrigStmt (const CreateEventTrigStmt *a, const CreateEventTrigStmt *b)
 
static bool _equalAlterEventTrigStmt (const AlterEventTrigStmt *a, const AlterEventTrigStmt *b)
 
static bool _equalCreatePLangStmt (const CreatePLangStmt *a, const CreatePLangStmt *b)
 
static bool _equalCreateRoleStmt (const CreateRoleStmt *a, const CreateRoleStmt *b)
 
static bool _equalAlterRoleStmt (const AlterRoleStmt *a, const AlterRoleStmt *b)
 
static bool _equalAlterRoleSetStmt (const AlterRoleSetStmt *a, const AlterRoleSetStmt *b)
 
static bool _equalDropRoleStmt (const DropRoleStmt *a, const DropRoleStmt *b)
 
static bool _equalLockStmt (const LockStmt *a, const LockStmt *b)
 
static bool _equalConstraintsSetStmt (const ConstraintsSetStmt *a, const ConstraintsSetStmt *b)
 
static bool _equalReindexStmt (const ReindexStmt *a, const ReindexStmt *b)
 
static bool _equalCreateSchemaStmt (const CreateSchemaStmt *a, const CreateSchemaStmt *b)
 
static bool _equalCreateConversionStmt (const CreateConversionStmt *a, const CreateConversionStmt *b)
 
static bool _equalCreateCastStmt (const CreateCastStmt *a, const CreateCastStmt *b)
 
static bool _equalPrepareStmt (const PrepareStmt *a, const PrepareStmt *b)
 
static bool _equalExecuteStmt (const ExecuteStmt *a, const ExecuteStmt *b)
 
static bool _equalDeallocateStmt (const DeallocateStmt *a, const DeallocateStmt *b)
 
static bool _equalDropOwnedStmt (const DropOwnedStmt *a, const DropOwnedStmt *b)
 
static bool _equalReassignOwnedStmt (const ReassignOwnedStmt *a, const ReassignOwnedStmt *b)
 
static bool _equalAlterTSDictionaryStmt (const AlterTSDictionaryStmt *a, const AlterTSDictionaryStmt *b)
 
static bool _equalAlterTSConfigurationStmt (const AlterTSConfigurationStmt *a, const AlterTSConfigurationStmt *b)
 
static bool _equalCreatePublicationStmt (const CreatePublicationStmt *a, const CreatePublicationStmt *b)
 
static bool _equalAlterPublicationStmt (const AlterPublicationStmt *a, const AlterPublicationStmt *b)
 
static bool _equalCreateSubscriptionStmt (const CreateSubscriptionStmt *a, const CreateSubscriptionStmt *b)
 
static bool _equalAlterSubscriptionStmt (const AlterSubscriptionStmt *a, const AlterSubscriptionStmt *b)
 
static bool _equalDropSubscriptionStmt (const DropSubscriptionStmt *a, const DropSubscriptionStmt *b)
 
static bool _equalCreatePolicyStmt (const CreatePolicyStmt *a, const CreatePolicyStmt *b)
 
static bool _equalAlterPolicyStmt (const AlterPolicyStmt *a, const AlterPolicyStmt *b)
 
static bool _equalAExpr (const A_Expr *a, const A_Expr *b)
 
static bool _equalColumnRef (const ColumnRef *a, const ColumnRef *b)
 
static bool _equalParamRef (const ParamRef *a, const ParamRef *b)
 
static bool _equalAConst (const A_Const *a, const A_Const *b)
 
static bool _equalFuncCall (const FuncCall *a, const FuncCall *b)
 
static bool _equalAStar (const A_Star *a, const A_Star *b)
 
static bool _equalAIndices (const A_Indices *a, const A_Indices *b)
 
static bool _equalA_Indirection (const A_Indirection *a, const A_Indirection *b)
 
static bool _equalA_ArrayExpr (const A_ArrayExpr *a, const A_ArrayExpr *b)
 
static bool _equalResTarget (const ResTarget *a, const ResTarget *b)
 
static bool _equalMultiAssignRef (const MultiAssignRef *a, const MultiAssignRef *b)
 
static bool _equalTypeName (const TypeName *a, const TypeName *b)
 
static bool _equalTypeCast (const TypeCast *a, const TypeCast *b)
 
static bool _equalCollateClause (const CollateClause *a, const CollateClause *b)
 
static bool _equalSortBy (const SortBy *a, const SortBy *b)
 
static bool _equalWindowDef (const WindowDef *a, const WindowDef *b)
 
static bool _equalRangeSubselect (const RangeSubselect *a, const RangeSubselect *b)
 
static bool _equalRangeFunction (const RangeFunction *a, const RangeFunction *b)
 
static bool _equalRangeTableSample (const RangeTableSample *a, const RangeTableSample *b)
 
static bool _equalRangeTableFunc (const RangeTableFunc *a, const RangeTableFunc *b)
 
static bool _equalRangeTableFuncCol (const RangeTableFuncCol *a, const RangeTableFuncCol *b)
 
static bool _equalIndexElem (const IndexElem *a, const IndexElem *b)
 
static bool _equalColumnDef (const ColumnDef *a, const ColumnDef *b)
 
static bool _equalConstraint (const Constraint *a, const Constraint *b)
 
static bool _equalDefElem (const DefElem *a, const DefElem *b)
 
static bool _equalLockingClause (const LockingClause *a, const LockingClause *b)
 
static bool _equalRangeTblEntry (const RangeTblEntry *a, const RangeTblEntry *b)
 
static bool _equalRangeTblFunction (const RangeTblFunction *a, const RangeTblFunction *b)
 
static bool _equalTableSampleClause (const TableSampleClause *a, const TableSampleClause *b)
 
static bool _equalWithCheckOption (const WithCheckOption *a, const WithCheckOption *b)
 
static bool _equalSortGroupClause (const SortGroupClause *a, const SortGroupClause *b)
 
static bool _equalGroupingSet (const GroupingSet *a, const GroupingSet *b)
 
static bool _equalWindowClause (const WindowClause *a, const WindowClause *b)
 
static bool _equalRowMarkClause (const RowMarkClause *a, const RowMarkClause *b)
 
static bool _equalWithClause (const WithClause *a, const WithClause *b)
 
static bool _equalInferClause (const InferClause *a, const InferClause *b)
 
static bool _equalOnConflictClause (const OnConflictClause *a, const OnConflictClause *b)
 
static bool _equalCommonTableExpr (const CommonTableExpr *a, const CommonTableExpr *b)
 
static bool _equalXmlSerialize (const XmlSerialize *a, const XmlSerialize *b)
 
static bool _equalRoleSpec (const RoleSpec *a, const RoleSpec *b)
 
static bool _equalTriggerTransition (const TriggerTransition *a, const TriggerTransition *b)
 
static bool _equalPartitionElem (const PartitionElem *a, const PartitionElem *b)
 
static bool _equalPartitionSpec (const PartitionSpec *a, const PartitionSpec *b)
 
static bool _equalPartitionBoundSpec (const PartitionBoundSpec *a, const PartitionBoundSpec *b)
 
static bool _equalPartitionRangeDatum (const PartitionRangeDatum *a, const PartitionRangeDatum *b)
 
static bool _equalPartitionCmd (const PartitionCmd *a, const PartitionCmd *b)
 
static bool _equalList (const List *a, const List *b)
 
static bool _equalValue (const Value *a, const Value *b)
 
bool equal (const void *a, const void *b)
 

Macro Definition Documentation

#define COMPARE_BITMAPSET_FIELD (   fldname)
Value:
do { \
if (!bms_equal(a->fldname, b->fldname)) \
return false; \
} while (0)
bool bms_equal(const Bitmapset *a, const Bitmapset *b)
Definition: bitmapset.c:131

Definition at line 59 of file equalfuncs.c.

Referenced by _equalPlaceHolderInfo(), _equalRangeTblEntry(), _equalRangeTblFunction(), _equalRestrictInfo(), _equalSpecialJoinInfo(), and _equalTableFunc().

#define COMPARE_COERCIONFORM_FIELD (   fldname)    ((void) 0)
#define COMPARE_NODE_FIELD (   fldname)
Value:
do { \
if (!equal(a->fldname, b->fldname)) \
return false; \
} while (0)
bool equal(const void *a, const void *b)
Definition: equalfuncs.c:2962

Definition at line 52 of file equalfuncs.c.

Referenced by _equalA_ArrayExpr(), _equalA_Indirection(), _equalAccessPriv(), _equalAExpr(), _equalAggref(), _equalAIndices(), _equalAlias(), _equalAlterCollationStmt(), _equalAlterDatabaseSetStmt(), _equalAlterDatabaseStmt(), _equalAlterDefaultPrivilegesStmt(), _equalAlterDomainStmt(), _equalAlterEnumStmt(), _equalAlterExtensionContentsStmt(), _equalAlterExtensionStmt(), _equalAlterFdwStmt(), _equalAlterForeignServerStmt(), _equalAlterFunctionStmt(), _equalAlternativeSubPlan(), _equalAlterObjectDependsStmt(), _equalAlterObjectSchemaStmt(), _equalAlterOperatorStmt(), _equalAlterOpFamilyStmt(), _equalAlterOwnerStmt(), _equalAlterPolicyStmt(), _equalAlterPublicationStmt(), _equalAlterRoleSetStmt(), _equalAlterRoleStmt(), _equalAlterSeqStmt(), _equalAlterSubscriptionStmt(), _equalAlterSystemStmt(), _equalAlterTableCmd(), _equalAlterTableMoveAllStmt(), _equalAlterTableSpaceOptionsStmt(), _equalAlterTableStmt(), _equalAlterTSConfigurationStmt(), _equalAlterTSDictionaryStmt(), _equalAlterUserMappingStmt(), _equalAppendRelInfo(), _equalArrayCoerceExpr(), _equalArrayExpr(), _equalArrayRef(), _equalBooleanTest(), _equalBoolExpr(), _equalCaseExpr(), _equalCaseWhen(), _equalClusterStmt(), _equalCoalesceExpr(), _equalCoerceToDomain(), _equalCoerceViaIO(), _equalCollateClause(), _equalCollateExpr(), _equalColumnDef(), _equalColumnRef(), _equalCommentStmt(), _equalCommonTableExpr(), _equalCompositeTypeStmt(), _equalConstraint(), _equalConstraintsSetStmt(), _equalConvertRowtypeExpr(), _equalCopyStmt(), _equalCreateAmStmt(), _equalCreateCastStmt(), _equalCreateConversionStmt(), _equalCreatedbStmt(), _equalCreateDomainStmt(), _equalCreateEnumStmt(), _equalCreateEventTrigStmt(), _equalCreateExtensionStmt(), _equalCreateFdwStmt(), _equalCreateForeignServerStmt(), _equalCreateForeignTableStmt(), _equalCreateFunctionStmt(), _equalCreateOpClassItem(), _equalCreateOpClassStmt(), _equalCreateOpFamilyStmt(), _equalCreatePLangStmt(), _equalCreatePolicyStmt(), _equalCreatePublicationStmt(), _equalCreateRangeStmt(), _equalCreateRoleStmt(), _equalCreateSchemaStmt(), _equalCreateSeqStmt(), _equalCreateStatsStmt(), _equalCreateStmt(), _equalCreateSubscriptionStmt(), _equalCreateTableAsStmt(), _equalCreateTableSpaceStmt(), _equalCreateTransformStmt(), _equalCreateTrigStmt(), _equalCreateUserMappingStmt(), _equalDeclareCursorStmt(), _equalDefElem(), _equalDefineStmt(), _equalDeleteStmt(), _equalDistinctExpr(), _equalDoStmt(), _equalDropOwnedStmt(), _equalDropRoleStmt(), _equalDropStmt(), _equalDropUserMappingStmt(), _equalExecuteStmt(), _equalExplainStmt(), _equalFieldSelect(), _equalFieldStore(), _equalFromExpr(), _equalFuncCall(), _equalFuncExpr(), _equalFunctionParameter(), _equalGrantRoleStmt(), _equalGrantStmt(), _equalGroupingFunc(), _equalGroupingSet(), _equalImportForeignSchemaStmt(), _equalIndexElem(), _equalIndexStmt(), _equalInferClause(), _equalInferenceElem(), _equalInsertStmt(), _equalIntoClause(), _equalJoinExpr(), _equalLockingClause(), _equalLockStmt(), _equalMinMaxExpr(), _equalMultiAssignRef(), _equalNamedArgExpr(), _equalNullIfExpr(), _equalNullTest(), _equalObjectWithArgs(), _equalOnConflictClause(), _equalOnConflictExpr(), _equalOpExpr(), _equalPartitionBoundSpec(), _equalPartitionCmd(), _equalPartitionedChildRelInfo(), _equalPartitionElem(), _equalPartitionRangeDatum(), _equalPartitionSpec(), _equalPlaceHolderInfo(), _equalPrepareStmt(), _equalQuery(), _equalRangeFunction(), _equalRangeSubselect(), _equalRangeTableFunc(), _equalRangeTableFuncCol(), _equalRangeTableSample(), _equalRangeTblEntry(), _equalRangeTblFunction(), _equalRangeVar(), _equalRawStmt(), _equalReassignOwnedStmt(), _equalRefreshMatViewStmt(), _equalReindexStmt(), _equalRelabelType(), _equalRenameStmt(), _equalResTarget(), _equalRestrictInfo(), _equalRowCompareExpr(), _equalRowExpr(), _equalRuleStmt(), _equalScalarArrayOpExpr(), _equalSecLabelStmt(), _equalSelectStmt(), _equalSetOperationStmt(), _equalSortBy(), _equalSpecialJoinInfo(), _equalSubLink(), _equalSubPlan(), _equalTableFunc(), _equalTableLikeClause(), _equalTableSampleClause(), _equalTargetEntry(), _equalTransactionStmt(), _equalTruncateStmt(), _equalTypeCast(), _equalTypeName(), _equalUpdateStmt(), _equalVacuumStmt(), _equalVariableSetStmt(), _equalViewStmt(), _equalWindowClause(), _equalWindowDef(), _equalWindowFunc(), _equalWithCheckOption(), _equalWithClause(), _equalXmlExpr(), and _equalXmlSerialize().

#define COMPARE_POINTER_FIELD (   fldname,
  sz 
)
Value:
do { \
if (memcmp(a->fldname, b->fldname, (sz)) != 0) \
return false; \
} while (0)

Definition at line 77 of file equalfuncs.c.

#define COMPARE_SCALAR_FIELD (   fldname)
Value:
do { \
if (a->fldname != b->fldname) \
return false; \
} while (0)

Definition at line 45 of file equalfuncs.c.

Referenced by _equalAExpr(), _equalAggref(), _equalAIndices(), _equalAlterDomainStmt(), _equalAlterEnumStmt(), _equalAlterEventTrigStmt(), _equalAlterExtensionContentsStmt(), _equalAlterForeignServerStmt(), _equalAlterObjectDependsStmt(), _equalAlterObjectSchemaStmt(), _equalAlterOpFamilyStmt(), _equalAlterOwnerStmt(), _equalAlterPublicationStmt(), _equalAlterRoleStmt(), _equalAlterSeqStmt(), _equalAlterSubscriptionStmt(), _equalAlterTableCmd(), _equalAlterTableMoveAllStmt(), _equalAlterTableSpaceOptionsStmt(), _equalAlterTableStmt(), _equalAlterTSConfigurationStmt(), _equalAppendRelInfo(), _equalArrayCoerceExpr(), _equalArrayExpr(), _equalArrayRef(), _equalBooleanTest(), _equalBoolExpr(), _equalCaseExpr(), _equalCaseTestExpr(), _equalClusterStmt(), _equalCoalesceExpr(), _equalCoerceToDomain(), _equalCoerceToDomainValue(), _equalCoerceViaIO(), _equalCollateExpr(), _equalColumnDef(), _equalCommentStmt(), _equalCommonTableExpr(), _equalConst(), _equalConstraint(), _equalConstraintsSetStmt(), _equalConvertRowtypeExpr(), _equalCopyStmt(), _equalCreateAmStmt(), _equalCreateCastStmt(), _equalCreateConversionStmt(), _equalCreateExtensionStmt(), _equalCreateForeignServerStmt(), _equalCreateFunctionStmt(), _equalCreateOpClassItem(), _equalCreateOpClassStmt(), _equalCreatePLangStmt(), _equalCreatePolicyStmt(), _equalCreatePublicationStmt(), _equalCreateRoleStmt(), _equalCreateSchemaStmt(), _equalCreateSeqStmt(), _equalCreateStatsStmt(), _equalCreateStmt(), _equalCreateTableAsStmt(), _equalCreateTransformStmt(), _equalCreateTrigStmt(), _equalCreateUserMappingStmt(), _equalCurrentOfExpr(), _equalDeclareCursorStmt(), _equalDefElem(), _equalDefineStmt(), _equalDiscardStmt(), _equalDistinctExpr(), _equalDropdbStmt(), _equalDropOwnedStmt(), _equalDropRoleStmt(), _equalDropStmt(), _equalDropSubscriptionStmt(), _equalDropTableSpaceStmt(), _equalDropUserMappingStmt(), _equalFetchStmt(), _equalFieldSelect(), _equalFieldStore(), _equalFuncCall(), _equalFuncExpr(), _equalFunctionParameter(), _equalGrantRoleStmt(), _equalGrantStmt(), _equalGroupingFunc(), _equalGroupingSet(), _equalImportForeignSchemaStmt(), _equalIndexElem(), _equalIndexStmt(), _equalInferenceElem(), _equalInsertStmt(), _equalIntoClause(), _equalJoinExpr(), _equalList(), _equalLockingClause(), _equalLockStmt(), _equalMinMaxExpr(), _equalMultiAssignRef(), _equalNamedArgExpr(), _equalNextValueExpr(), _equalNullIfExpr(), _equalNullTest(), _equalObjectWithArgs(), _equalOnConflictClause(), _equalOnConflictExpr(), _equalOpExpr(), _equalParam(), _equalParamRef(), _equalPartitionBoundSpec(), _equalPartitionedChildRelInfo(), _equalPartitionRangeDatum(), _equalPathKey(), _equalPlaceHolderInfo(), _equalPlaceHolderVar(), _equalQuery(), _equalRangeFunction(), _equalRangeSubselect(), _equalRangeTableFunc(), _equalRangeTableFuncCol(), _equalRangeTblEntry(), _equalRangeTblFunction(), _equalRangeTblRef(), _equalRangeVar(), _equalRefreshMatViewStmt(), _equalReindexStmt(), _equalRelabelType(), _equalRenameStmt(), _equalReplicaIdentityStmt(), _equalRestrictInfo(), _equalRoleSpec(), _equalRowCompareExpr(), _equalRowExpr(), _equalRowMarkClause(), _equalRuleStmt(), _equalScalarArrayOpExpr(), _equalSecLabelStmt(), _equalSelectStmt(), _equalSetOperationStmt(), _equalSetToDefault(), _equalSortBy(), _equalSortGroupClause(), _equalSpecialJoinInfo(), _equalSQLValueFunction(), _equalSubLink(), _equalSubPlan(), _equalTableFunc(), _equalTableLikeClause(), _equalTableSampleClause(), _equalTargetEntry(), _equalTransactionStmt(), _equalTriggerTransition(), _equalTruncateStmt(), _equalTypeName(), _equalVacuumStmt(), _equalValue(), _equalVar(), _equalVariableSetStmt(), _equalViewStmt(), _equalWindowClause(), _equalWindowDef(), _equalWindowFunc(), _equalWithCheckOption(), _equalWithClause(), _equalXmlExpr(), and _equalXmlSerialize().

#define COMPARE_STRING_FIELD (   fldname)
Value:
do { \
if (!equalstr(a->fldname, b->fldname)) \
return false; \
} while (0)
#define equalstr(a, b)
Definition: equalfuncs.c:73

Definition at line 66 of file equalfuncs.c.

Referenced by _equalAccessPriv(), _equalAlias(), _equalAlterDatabaseSetStmt(), _equalAlterDatabaseStmt(), _equalAlterDomainStmt(), _equalAlterEnumStmt(), _equalAlterEventTrigStmt(), _equalAlterExtensionContentsStmt(), _equalAlterExtensionStmt(), _equalAlterFdwStmt(), _equalAlterForeignServerStmt(), _equalAlterObjectSchemaStmt(), _equalAlterOpFamilyStmt(), _equalAlterPolicyStmt(), _equalAlterPublicationStmt(), _equalAlterRoleSetStmt(), _equalAlterSubscriptionStmt(), _equalAlterTableCmd(), _equalAlterTableMoveAllStmt(), _equalAlterTableSpaceOptionsStmt(), _equalAlterUserMappingStmt(), _equalClosePortalStmt(), _equalClusterStmt(), _equalColumnDef(), _equalCommentStmt(), _equalCommonTableExpr(), _equalConstraint(), _equalCopyStmt(), _equalCreateAmStmt(), _equalCreateConversionStmt(), _equalCreatedbStmt(), _equalCreateEventTrigStmt(), _equalCreateExtensionStmt(), _equalCreateFdwStmt(), _equalCreateForeignServerStmt(), _equalCreateForeignTableStmt(), _equalCreateOpClassStmt(), _equalCreateOpFamilyStmt(), _equalCreatePLangStmt(), _equalCreatePolicyStmt(), _equalCreatePublicationStmt(), _equalCreateRoleStmt(), _equalCreateSchemaStmt(), _equalCreateStmt(), _equalCreateSubscriptionStmt(), _equalCreateTableSpaceStmt(), _equalCreateTransformStmt(), _equalCreateTrigStmt(), _equalCreateUserMappingStmt(), _equalCurrentOfExpr(), _equalDeallocateStmt(), _equalDeclareCursorStmt(), _equalDefElem(), _equalDropdbStmt(), _equalDropSubscriptionStmt(), _equalDropTableSpaceStmt(), _equalDropUserMappingStmt(), _equalExecuteStmt(), _equalExtensibleNode(), _equalFetchStmt(), _equalFunctionParameter(), _equalImportForeignSchemaStmt(), _equalIndexElem(), _equalIndexStmt(), _equalInferClause(), _equalIntoClause(), _equalListenStmt(), _equalLoadStmt(), _equalNamedArgExpr(), _equalNotifyStmt(), _equalPartitionElem(), _equalPartitionSpec(), _equalPrepareStmt(), _equalRangeTableFuncCol(), _equalRangeTblEntry(), _equalRangeVar(), _equalReindexStmt(), _equalRenameStmt(), _equalReplicaIdentityStmt(), _equalResTarget(), _equalRoleSpec(), _equalRuleStmt(), _equalSecLabelStmt(), _equalSubPlan(), _equalTargetEntry(), _equalTransactionStmt(), _equalTriggerTransition(), _equalUnlistenStmt(), _equalValue(), _equalVariableSetStmt(), _equalVariableShowStmt(), _equalWindowClause(), _equalWindowDef(), _equalWithCheckOption(), and _equalXmlExpr().

#define equalstr (   a,
 
)    (((a) != NULL && (b) != NULL) ? (strcmp(a, b) == 0) : (a) == (b))

Definition at line 73 of file equalfuncs.c.

Function Documentation

static bool _equalA_ArrayExpr ( const A_ArrayExpr a,
const A_ArrayExpr b 
)
static

Definition at line 2364 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2365 {
2366  COMPARE_NODE_FIELD(elements);
2367  COMPARE_LOCATION_FIELD(location);
2368 
2369  return true;
2370 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalA_Indirection ( const A_Indirection a,
const A_Indirection b 
)
static

Definition at line 2355 of file equalfuncs.c.

References arg, and COMPARE_NODE_FIELD.

Referenced by equal().

2356 {
2358  COMPARE_NODE_FIELD(indirection);
2359 
2360  return true;
2361 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
static bool _equalAccessPriv ( const AccessPriv a,
const AccessPriv b 
)
static

Definition at line 1156 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1157 {
1158  COMPARE_STRING_FIELD(priv_name);
1159  COMPARE_NODE_FIELD(cols);
1160 
1161  return true;
1162 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAConst ( const A_Const a,
const A_Const b 
)
static

Definition at line 2312 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, equal(), and A_Const::val.

Referenced by equal().

2313 {
2314  if (!equal(&a->val, &b->val)) /* hack for in-line Value field */
2315  return false;
2316  COMPARE_LOCATION_FIELD(location);
2317 
2318  return true;
2319 }
bool equal(const void *a, const void *b)
Definition: equalfuncs.c:2962
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
Value val
Definition: parsenodes.h:287
static bool _equalAExpr ( const A_Expr a,
const A_Expr b 
)
static

Definition at line 2282 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and name.

Referenced by equal().

2283 {
2284  COMPARE_SCALAR_FIELD(kind);
2286  COMPARE_NODE_FIELD(lexpr);
2287  COMPARE_NODE_FIELD(rexpr);
2288  COMPARE_LOCATION_FIELD(location);
2289 
2290  return true;
2291 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAggref ( const Aggref a,
const Aggref b 
)
static

Definition at line 211 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

212 {
213  COMPARE_SCALAR_FIELD(aggfnoid);
214  COMPARE_SCALAR_FIELD(aggtype);
215  COMPARE_SCALAR_FIELD(aggcollid);
216  COMPARE_SCALAR_FIELD(inputcollid);
217  /* ignore aggtranstype since it might not be set yet */
218  COMPARE_NODE_FIELD(aggargtypes);
219  COMPARE_NODE_FIELD(aggdirectargs);
221  COMPARE_NODE_FIELD(aggorder);
222  COMPARE_NODE_FIELD(aggdistinct);
223  COMPARE_NODE_FIELD(aggfilter);
224  COMPARE_SCALAR_FIELD(aggstar);
225  COMPARE_SCALAR_FIELD(aggvariadic);
226  COMPARE_SCALAR_FIELD(aggkind);
227  COMPARE_SCALAR_FIELD(agglevelsup);
228  COMPARE_SCALAR_FIELD(aggsplit);
229  COMPARE_LOCATION_FIELD(location);
230 
231  return true;
232 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAIndices ( const A_Indices a,
const A_Indices b 
)
static

Definition at line 2345 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2346 {
2347  COMPARE_SCALAR_FIELD(is_slice);
2348  COMPARE_NODE_FIELD(lidx);
2349  COMPARE_NODE_FIELD(uidx);
2350 
2351  return true;
2352 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlias ( const Alias a,
const Alias b 
)
static

Definition at line 97 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

98 {
99  COMPARE_STRING_FIELD(aliasname);
100  COMPARE_NODE_FIELD(colnames);
101 
102  return true;
103 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterCollationStmt ( const AlterCollationStmt a,
const AlterCollationStmt b 
)
static

Definition at line 1110 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1111 {
1112  COMPARE_NODE_FIELD(collname);
1113 
1114  return true;
1115 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterDatabaseSetStmt ( const AlterDatabaseSetStmt a,
const AlterDatabaseSetStmt b 
)
static

Definition at line 1645 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

1646 {
1648  COMPARE_NODE_FIELD(setstmt);
1649 
1650  return true;
1651 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
char * dbname
Definition: streamutil.c:39
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterDatabaseStmt ( const AlterDatabaseStmt a,
const AlterDatabaseStmt b 
)
static

Definition at line 1636 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

1637 {
1640 
1641  return true;
1642 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
char * dbname
Definition: streamutil.c:39
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterDefaultPrivilegesStmt ( const AlterDefaultPrivilegesStmt a,
const AlterDefaultPrivilegesStmt b 
)
static

Definition at line 1178 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1179 {
1181  COMPARE_NODE_FIELD(action);
1182 
1183  return true;
1184 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterDomainStmt ( const AlterDomainStmt a,
const AlterDomainStmt b 
)
static

Definition at line 1118 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1119 {
1120  COMPARE_SCALAR_FIELD(subtype);
1121  COMPARE_NODE_FIELD(typeName);
1123  COMPARE_NODE_FIELD(def);
1124  COMPARE_SCALAR_FIELD(behavior);
1125  COMPARE_SCALAR_FIELD(missing_ok);
1126 
1127  return true;
1128 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterEnumStmt ( const AlterEnumStmt a,
const AlterEnumStmt b 
)
static

Definition at line 1536 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1537 {
1538  COMPARE_NODE_FIELD(typeName);
1539  COMPARE_STRING_FIELD(oldVal);
1540  COMPARE_STRING_FIELD(newVal);
1541  COMPARE_STRING_FIELD(newValNeighbor);
1542  COMPARE_SCALAR_FIELD(newValIsAfter);
1543  COMPARE_SCALAR_FIELD(skipIfNewValExists);
1544 
1545  return true;
1546 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterEventTrigStmt ( const AlterEventTrigStmt a,
const AlterEventTrigStmt b 
)
static

Definition at line 2000 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2001 {
2002  COMPARE_STRING_FIELD(trigname);
2003  COMPARE_SCALAR_FIELD(tgenabled);
2004 
2005  return true;
2006 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterExtensionContentsStmt ( const AlterExtensionContentsStmt a,
const AlterExtensionContentsStmt b 
)
static

Definition at line 1835 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1836 {
1837  COMPARE_STRING_FIELD(extname);
1838  COMPARE_SCALAR_FIELD(action);
1839  COMPARE_SCALAR_FIELD(objtype);
1840  COMPARE_NODE_FIELD(object);
1841 
1842  return true;
1843 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterExtensionStmt ( const AlterExtensionStmt a,
const AlterExtensionStmt b 
)
static

Definition at line 1826 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1827 {
1828  COMPARE_STRING_FIELD(extname);
1830 
1831  return true;
1832 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterFdwStmt ( const AlterFdwStmt a,
const AlterFdwStmt b 
)
static

Definition at line 1856 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1857 {
1858  COMPARE_STRING_FIELD(fdwname);
1859  COMPARE_NODE_FIELD(func_options);
1861 
1862  return true;
1863 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterForeignServerStmt ( const AlterForeignServerStmt a,
const AlterForeignServerStmt b 
)
static

Definition at line 1879 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1880 {
1881  COMPARE_STRING_FIELD(servername);
1882  COMPARE_STRING_FIELD(version);
1884  COMPARE_SCALAR_FIELD(has_version);
1885 
1886  return true;
1887 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterFunctionStmt ( const AlterFunctionStmt a,
const AlterFunctionStmt b 
)
static

Definition at line 1385 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1386 {
1387  COMPARE_NODE_FIELD(func);
1388  COMPARE_NODE_FIELD(actions);
1389 
1390  return true;
1391 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlternativeSubPlan ( const AlternativeSubPlan a,
const AlternativeSubPlan b 
)
static

Definition at line 457 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

458 {
459  COMPARE_NODE_FIELD(subplans);
460 
461  return true;
462 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterObjectDependsStmt ( const AlterObjectDependsStmt a,
const AlterObjectDependsStmt b 
)
static

Definition at line 1417 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1418 {
1419  COMPARE_SCALAR_FIELD(objectType);
1420  COMPARE_NODE_FIELD(relation);
1421  COMPARE_NODE_FIELD(object);
1422  COMPARE_NODE_FIELD(extname);
1423 
1424  return true;
1425 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterObjectSchemaStmt ( const AlterObjectSchemaStmt a,
const AlterObjectSchemaStmt b 
)
static

Definition at line 1428 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1429 {
1430  COMPARE_SCALAR_FIELD(objectType);
1431  COMPARE_NODE_FIELD(relation);
1432  COMPARE_NODE_FIELD(object);
1433  COMPARE_STRING_FIELD(newschema);
1434  COMPARE_SCALAR_FIELD(missing_ok);
1435 
1436  return true;
1437 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterOperatorStmt ( const AlterOperatorStmt a,
const AlterOperatorStmt b 
)
static

Definition at line 1451 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1452 {
1453  COMPARE_NODE_FIELD(opername);
1455 
1456  return true;
1457 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterOpFamilyStmt ( const AlterOpFamilyStmt a,
const AlterOpFamilyStmt b 
)
static

Definition at line 1616 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1617 {
1618  COMPARE_NODE_FIELD(opfamilyname);
1619  COMPARE_STRING_FIELD(amname);
1620  COMPARE_SCALAR_FIELD(isDrop);
1621  COMPARE_NODE_FIELD(items);
1622 
1623  return true;
1624 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterOwnerStmt ( const AlterOwnerStmt a,
const AlterOwnerStmt b 
)
static

Definition at line 1440 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1441 {
1442  COMPARE_SCALAR_FIELD(objectType);
1443  COMPARE_NODE_FIELD(relation);
1444  COMPARE_NODE_FIELD(object);
1445  COMPARE_NODE_FIELD(newowner);
1446 
1447  return true;
1448 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterPolicyStmt ( const AlterPolicyStmt a,
const AlterPolicyStmt b 
)
static

Definition at line 2270 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2271 {
2272  COMPARE_STRING_FIELD(policy_name);
2273  COMPARE_NODE_FIELD(table);
2274  COMPARE_NODE_FIELD(roles);
2275  COMPARE_NODE_FIELD(qual);
2276  COMPARE_NODE_FIELD(with_check);
2277 
2278  return true;
2279 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterPublicationStmt ( const AlterPublicationStmt a,
const AlterPublicationStmt b 
)
static

Definition at line 2207 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2209 {
2210  COMPARE_STRING_FIELD(pubname);
2212  COMPARE_NODE_FIELD(tables);
2213  COMPARE_SCALAR_FIELD(for_all_tables);
2214  COMPARE_SCALAR_FIELD(tableAction);
2215 
2216  return true;
2217 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterRoleSetStmt ( const AlterRoleSetStmt a,
const AlterRoleSetStmt b 
)
static

Definition at line 2042 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2043 {
2044  COMPARE_NODE_FIELD(role);
2045  COMPARE_STRING_FIELD(database);
2046  COMPARE_NODE_FIELD(setstmt);
2047 
2048  return true;
2049 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterRoleStmt ( const AlterRoleStmt a,
const AlterRoleStmt b 
)
static

Definition at line 2032 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2033 {
2034  COMPARE_NODE_FIELD(role);
2036  COMPARE_SCALAR_FIELD(action);
2037 
2038  return true;
2039 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterSeqStmt ( const AlterSeqStmt a,
const AlterSeqStmt b 
)
static

Definition at line 1734 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1735 {
1736  COMPARE_NODE_FIELD(sequence);
1738  COMPARE_SCALAR_FIELD(for_identity);
1739  COMPARE_SCALAR_FIELD(missing_ok);
1740 
1741  return true;
1742 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterSubscriptionStmt ( const AlterSubscriptionStmt a,
const AlterSubscriptionStmt b 
)
static

Definition at line 2232 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2234 {
2235  COMPARE_SCALAR_FIELD(kind);
2236  COMPARE_STRING_FIELD(subname);
2237  COMPARE_STRING_FIELD(conninfo);
2238  COMPARE_NODE_FIELD(publication);
2240 
2241  return true;
2242 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterSystemStmt ( const AlterSystemStmt a,
const AlterSystemStmt b 
)
static

Definition at line 1713 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1714 {
1715  COMPARE_NODE_FIELD(setstmt);
1716 
1717  return true;
1718 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterTableCmd ( const AlterTableCmd a,
const AlterTableCmd b 
)
static

Definition at line 1097 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1098 {
1099  COMPARE_SCALAR_FIELD(subtype);
1101  COMPARE_NODE_FIELD(newowner);
1102  COMPARE_NODE_FIELD(def);
1103  COMPARE_SCALAR_FIELD(behavior);
1104  COMPARE_SCALAR_FIELD(missing_ok);
1105 
1106  return true;
1107 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterTableMoveAllStmt ( const AlterTableMoveAllStmt a,
const AlterTableMoveAllStmt b 
)
static

Definition at line 1803 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1805 {
1806  COMPARE_STRING_FIELD(orig_tablespacename);
1807  COMPARE_SCALAR_FIELD(objtype);
1808  COMPARE_NODE_FIELD(roles);
1809  COMPARE_STRING_FIELD(new_tablespacename);
1810  COMPARE_SCALAR_FIELD(nowait);
1811 
1812  return true;
1813 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterTableSpaceOptionsStmt ( const AlterTableSpaceOptionsStmt a,
const AlterTableSpaceOptionsStmt b 
)
static

Definition at line 1792 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1794 {
1795  COMPARE_STRING_FIELD(tablespacename);
1797  COMPARE_SCALAR_FIELD(isReset);
1798 
1799  return true;
1800 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterTableStmt ( const AlterTableStmt a,
const AlterTableStmt b 
)
static

Definition at line 1086 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1087 {
1088  COMPARE_NODE_FIELD(relation);
1089  COMPARE_NODE_FIELD(cmds);
1090  COMPARE_SCALAR_FIELD(relkind);
1091  COMPARE_SCALAR_FIELD(missing_ok);
1092 
1093  return true;
1094 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterTSConfigurationStmt ( const AlterTSConfigurationStmt a,
const AlterTSConfigurationStmt b 
)
static

Definition at line 2180 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2182 {
2183  COMPARE_SCALAR_FIELD(kind);
2184  COMPARE_NODE_FIELD(cfgname);
2185  COMPARE_NODE_FIELD(tokentype);
2186  COMPARE_NODE_FIELD(dicts);
2187  COMPARE_SCALAR_FIELD(override);
2188  COMPARE_SCALAR_FIELD(replace);
2189  COMPARE_SCALAR_FIELD(missing_ok);
2190 
2191  return true;
2192 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAlterTSDictionaryStmt ( const AlterTSDictionaryStmt a,
const AlterTSDictionaryStmt b 
)
static

Definition at line 2171 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

2172 {
2173  COMPARE_NODE_FIELD(dictname);
2175 
2176  return true;
2177 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalAlterUserMappingStmt ( const AlterUserMappingStmt a,
const AlterUserMappingStmt b 
)
static

Definition at line 1901 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and user.

Referenced by equal().

1902 {
1904  COMPARE_STRING_FIELD(servername);
1906 
1907  return true;
1908 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static char * user
Definition: pg_regress.c:92
static bool _equalAppendRelInfo ( const AppendRelInfo a,
const AppendRelInfo b 
)
static

Definition at line 895 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

896 {
897  COMPARE_SCALAR_FIELD(parent_relid);
898  COMPARE_SCALAR_FIELD(child_relid);
899  COMPARE_SCALAR_FIELD(parent_reltype);
900  COMPARE_SCALAR_FIELD(child_reltype);
901  COMPARE_NODE_FIELD(translated_vars);
902  COMPARE_SCALAR_FIELD(parent_reloid);
903 
904  return true;
905 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalArrayCoerceExpr ( const ArrayCoerceExpr a,
const ArrayCoerceExpr b 
)
static

Definition at line 513 of file equalfuncs.c.

References arg, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

514 {
516  COMPARE_SCALAR_FIELD(elemfuncid);
517  COMPARE_SCALAR_FIELD(resulttype);
518  COMPARE_SCALAR_FIELD(resulttypmod);
519  COMPARE_SCALAR_FIELD(resultcollid);
520  COMPARE_SCALAR_FIELD(isExplicit);
521  COMPARE_COERCIONFORM_FIELD(coerceformat);
522  COMPARE_LOCATION_FIELD(location);
523 
524  return true;
525 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalArrayExpr ( const ArrayExpr a,
const ArrayExpr b 
)
static

Definition at line 582 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

583 {
584  COMPARE_SCALAR_FIELD(array_typeid);
585  COMPARE_SCALAR_FIELD(array_collid);
586  COMPARE_SCALAR_FIELD(element_typeid);
587  COMPARE_NODE_FIELD(elements);
588  COMPARE_SCALAR_FIELD(multidims);
589  COMPARE_LOCATION_FIELD(location);
590 
591  return true;
592 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalArrayRef ( const ArrayRef a,
const ArrayRef b 
)
static

Definition at line 267 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

268 {
269  COMPARE_SCALAR_FIELD(refarraytype);
270  COMPARE_SCALAR_FIELD(refelemtype);
271  COMPARE_SCALAR_FIELD(reftypmod);
272  COMPARE_SCALAR_FIELD(refcollid);
273  COMPARE_NODE_FIELD(refupperindexpr);
274  COMPARE_NODE_FIELD(reflowerindexpr);
275  COMPARE_NODE_FIELD(refexpr);
276  COMPARE_NODE_FIELD(refassgnexpr);
277 
278  return true;
279 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalAStar ( const A_Star a,
const A_Star b 
)
static

Definition at line 2339 of file equalfuncs.c.

Referenced by equal().

2340 {
2341  return true;
2342 }
static bool _equalBooleanTest ( const BooleanTest a,
const BooleanTest b 
)
static

Definition at line 682 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

683 {
685  COMPARE_SCALAR_FIELD(booltesttype);
686  COMPARE_LOCATION_FIELD(location);
687 
688  return true;
689 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalBoolExpr ( const BoolExpr a,
const BoolExpr b 
)
static

Definition at line 411 of file equalfuncs.c.

References generate_unaccent_rules::args, boolop(), COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

412 {
415  COMPARE_LOCATION_FIELD(location);
416 
417  return true;
418 }
Datum boolop(PG_FUNCTION_ARGS)
Definition: _int_bool.c:420
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCaseExpr ( const CaseExpr a,
const CaseExpr b 
)
static

Definition at line 549 of file equalfuncs.c.

References arg, generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

550 {
551  COMPARE_SCALAR_FIELD(casetype);
552  COMPARE_SCALAR_FIELD(casecollid);
555  COMPARE_NODE_FIELD(defresult);
556  COMPARE_LOCATION_FIELD(location);
557 
558  return true;
559 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCaseTestExpr ( const CaseTestExpr a,
const CaseTestExpr b 
)
static

Definition at line 572 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

573 {
574  COMPARE_SCALAR_FIELD(typeId);
575  COMPARE_SCALAR_FIELD(typeMod);
576  COMPARE_SCALAR_FIELD(collation);
577 
578  return true;
579 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCaseWhen ( const CaseWhen a,
const CaseWhen b 
)
static

Definition at line 562 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and result.

Referenced by equal().

563 {
564  COMPARE_NODE_FIELD(expr);
566  COMPARE_LOCATION_FIELD(location);
567 
568  return true;
569 }
return result
Definition: formatting.c:1633
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalClosePortalStmt ( const ClosePortalStmt a,
const ClosePortalStmt b 
)
static

Definition at line 1197 of file equalfuncs.c.

References COMPARE_STRING_FIELD.

Referenced by equal().

1198 {
1199  COMPARE_STRING_FIELD(portalname);
1200 
1201  return true;
1202 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static bool _equalClusterStmt ( const ClusterStmt a,
const ClusterStmt b 
)
static

Definition at line 1205 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and verbose.

Referenced by equal().

1206 {
1207  COMPARE_NODE_FIELD(relation);
1208  COMPARE_STRING_FIELD(indexname);
1210 
1211  return true;
1212 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static int verbose
Definition: pg_basebackup.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCoalesceExpr ( const CoalesceExpr a,
const CoalesceExpr b 
)
static

Definition at line 620 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

621 {
622  COMPARE_SCALAR_FIELD(coalescetype);
623  COMPARE_SCALAR_FIELD(coalescecollid);
625  COMPARE_LOCATION_FIELD(location);
626 
627  return true;
628 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCoerceToDomain ( const CoerceToDomain a,
const CoerceToDomain b 
)
static

Definition at line 692 of file equalfuncs.c.

References arg, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

693 {
695  COMPARE_SCALAR_FIELD(resulttype);
696  COMPARE_SCALAR_FIELD(resulttypmod);
697  COMPARE_SCALAR_FIELD(resultcollid);
698  COMPARE_COERCIONFORM_FIELD(coercionformat);
699  COMPARE_LOCATION_FIELD(location);
700 
701  return true;
702 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCoerceToDomainValue ( const CoerceToDomainValue a,
const CoerceToDomainValue b 
)
static

Definition at line 705 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

706 {
707  COMPARE_SCALAR_FIELD(typeId);
708  COMPARE_SCALAR_FIELD(typeMod);
709  COMPARE_SCALAR_FIELD(collation);
710  COMPARE_LOCATION_FIELD(location);
711 
712  return true;
713 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCoerceViaIO ( const CoerceViaIO a,
const CoerceViaIO b 
)
static

Definition at line 501 of file equalfuncs.c.

References arg, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

502 {
504  COMPARE_SCALAR_FIELD(resulttype);
505  COMPARE_SCALAR_FIELD(resultcollid);
506  COMPARE_COERCIONFORM_FIELD(coerceformat);
507  COMPARE_LOCATION_FIELD(location);
508 
509  return true;
510 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCollateClause ( const CollateClause a,
const CollateClause b 
)
static

Definition at line 2419 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2420 {
2422  COMPARE_NODE_FIELD(collname);
2423  COMPARE_LOCATION_FIELD(location);
2424 
2425  return true;
2426 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
static bool _equalCollateExpr ( const CollateExpr a,
const CollateExpr b 
)
static

Definition at line 539 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

540 {
542  COMPARE_SCALAR_FIELD(collOid);
543  COMPARE_LOCATION_FIELD(location);
544 
545  return true;
546 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalColumnDef ( const ColumnDef a,
const ColumnDef b 
)
static

Definition at line 2534 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2535 {
2536  COMPARE_STRING_FIELD(colname);
2537  COMPARE_NODE_FIELD(typeName);
2538  COMPARE_SCALAR_FIELD(inhcount);
2539  COMPARE_SCALAR_FIELD(is_local);
2540  COMPARE_SCALAR_FIELD(is_not_null);
2541  COMPARE_SCALAR_FIELD(is_from_type);
2542  COMPARE_SCALAR_FIELD(is_from_parent);
2543  COMPARE_SCALAR_FIELD(storage);
2544  COMPARE_NODE_FIELD(raw_default);
2545  COMPARE_NODE_FIELD(cooked_default);
2546  COMPARE_SCALAR_FIELD(identity);
2547  COMPARE_NODE_FIELD(collClause);
2548  COMPARE_SCALAR_FIELD(collOid);
2549  COMPARE_NODE_FIELD(constraints);
2550  COMPARE_NODE_FIELD(fdwoptions);
2551  COMPARE_LOCATION_FIELD(location);
2552 
2553  return true;
2554 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalColumnRef ( const ColumnRef a,
const ColumnRef b 
)
static

Definition at line 2294 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2295 {
2296  COMPARE_NODE_FIELD(fields);
2297  COMPARE_LOCATION_FIELD(location);
2298 
2299  return true;
2300 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCommentStmt ( const CommentStmt a,
const CommentStmt b 
)
static

Definition at line 1291 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1292 {
1293  COMPARE_SCALAR_FIELD(objtype);
1294  COMPARE_NODE_FIELD(object);
1295  COMPARE_STRING_FIELD(comment);
1296 
1297  return true;
1298 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCommonTableExpr ( const CommonTableExpr a,
const CommonTableExpr b 
)
static

Definition at line 2768 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2769 {
2770  COMPARE_STRING_FIELD(ctename);
2771  COMPARE_NODE_FIELD(aliascolnames);
2772  COMPARE_NODE_FIELD(ctequery);
2773  COMPARE_LOCATION_FIELD(location);
2774  COMPARE_SCALAR_FIELD(cterecursive);
2775  COMPARE_SCALAR_FIELD(cterefcount);
2776  COMPARE_NODE_FIELD(ctecolnames);
2777  COMPARE_NODE_FIELD(ctecoltypes);
2778  COMPARE_NODE_FIELD(ctecoltypmods);
2779  COMPARE_NODE_FIELD(ctecolcollations);
2780 
2781  return true;
2782 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCompositeTypeStmt ( const CompositeTypeStmt a,
const CompositeTypeStmt b 
)
static

Definition at line 1509 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1510 {
1511  COMPARE_NODE_FIELD(typevar);
1512  COMPARE_NODE_FIELD(coldeflist);
1513 
1514  return true;
1515 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalConst ( const Const a,
const Const b 
)
static

Definition at line 177 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_SCALAR_FIELD, Const::constbyval, Const::constisnull, Const::constlen, Const::constvalue, and datumIsEqual().

Referenced by equal().

178 {
179  COMPARE_SCALAR_FIELD(consttype);
180  COMPARE_SCALAR_FIELD(consttypmod);
181  COMPARE_SCALAR_FIELD(constcollid);
182  COMPARE_SCALAR_FIELD(constlen);
183  COMPARE_SCALAR_FIELD(constisnull);
184  COMPARE_SCALAR_FIELD(constbyval);
185  COMPARE_LOCATION_FIELD(location);
186 
187  /*
188  * We treat all NULL constants of the same type as equal. Someday this
189  * might need to change? But datumIsEqual doesn't work on nulls, so...
190  */
191  if (a->constisnull)
192  return true;
193  return datumIsEqual(a->constvalue, b->constvalue,
194  a->constbyval, a->constlen);
195 }
Datum constvalue
Definition: primnodes.h:196
bool constbyval
Definition: primnodes.h:199
bool datumIsEqual(Datum value1, Datum value2, bool typByVal, int typLen)
Definition: datum.c:219
int constlen
Definition: primnodes.h:195
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
bool constisnull
Definition: primnodes.h:197
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalConstraint ( const Constraint a,
const Constraint b 
)
static

Definition at line 2557 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2558 {
2559  COMPARE_SCALAR_FIELD(contype);
2560  COMPARE_STRING_FIELD(conname);
2561  COMPARE_SCALAR_FIELD(deferrable);
2562  COMPARE_SCALAR_FIELD(initdeferred);
2563  COMPARE_LOCATION_FIELD(location);
2564  COMPARE_SCALAR_FIELD(is_no_inherit);
2565  COMPARE_NODE_FIELD(raw_expr);
2566  COMPARE_STRING_FIELD(cooked_expr);
2567  COMPARE_SCALAR_FIELD(generated_when);
2568  COMPARE_NODE_FIELD(keys);
2569  COMPARE_NODE_FIELD(exclusions);
2571  COMPARE_STRING_FIELD(indexname);
2572  COMPARE_STRING_FIELD(indexspace);
2573  COMPARE_STRING_FIELD(access_method);
2574  COMPARE_NODE_FIELD(where_clause);
2575  COMPARE_NODE_FIELD(pktable);
2576  COMPARE_NODE_FIELD(fk_attrs);
2577  COMPARE_NODE_FIELD(pk_attrs);
2578  COMPARE_SCALAR_FIELD(fk_matchtype);
2579  COMPARE_SCALAR_FIELD(fk_upd_action);
2580  COMPARE_SCALAR_FIELD(fk_del_action);
2581  COMPARE_NODE_FIELD(old_conpfeqop);
2582  COMPARE_SCALAR_FIELD(old_pktable_oid);
2583  COMPARE_SCALAR_FIELD(skip_validation);
2584  COMPARE_SCALAR_FIELD(initially_valid);
2585 
2586  return true;
2587 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalConstraintsSetStmt ( const ConstraintsSetStmt a,
const ConstraintsSetStmt b 
)
static

Definition at line 2071 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2072 {
2073  COMPARE_NODE_FIELD(constraints);
2074  COMPARE_SCALAR_FIELD(deferred);
2075 
2076  return true;
2077 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalConvertRowtypeExpr ( const ConvertRowtypeExpr a,
const ConvertRowtypeExpr b 
)
static

Definition at line 528 of file equalfuncs.c.

References arg, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

529 {
531  COMPARE_SCALAR_FIELD(resulttype);
532  COMPARE_COERCIONFORM_FIELD(convertformat);
533  COMPARE_LOCATION_FIELD(location);
534 
535  return true;
536 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCopyStmt ( const CopyStmt a,
const CopyStmt b 
)
static

Definition at line 1215 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and filename.

Referenced by equal().

1216 {
1217  COMPARE_NODE_FIELD(relation);
1218  COMPARE_NODE_FIELD(query);
1219  COMPARE_NODE_FIELD(attlist);
1220  COMPARE_SCALAR_FIELD(is_from);
1221  COMPARE_SCALAR_FIELD(is_program);
1224 
1225  return true;
1226 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static char * filename
Definition: pg_dumpall.c:89
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateAmStmt ( const CreateAmStmt a,
const CreateAmStmt b 
)
static

Definition at line 1958 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1959 {
1960  COMPARE_STRING_FIELD(amname);
1961  COMPARE_NODE_FIELD(handler_name);
1962  COMPARE_SCALAR_FIELD(amtype);
1963 
1964  return true;
1965 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateCastStmt ( const CreateCastStmt a,
const CreateCastStmt b 
)
static

Definition at line 2114 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2115 {
2116  COMPARE_NODE_FIELD(sourcetype);
2117  COMPARE_NODE_FIELD(targettype);
2118  COMPARE_NODE_FIELD(func);
2119  COMPARE_SCALAR_FIELD(context);
2120  COMPARE_SCALAR_FIELD(inout);
2121 
2122  return true;
2123 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateConversionStmt ( const CreateConversionStmt a,
const CreateConversionStmt b 
)
static

Definition at line 2102 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2103 {
2104  COMPARE_NODE_FIELD(conversion_name);
2105  COMPARE_STRING_FIELD(for_encoding_name);
2106  COMPARE_STRING_FIELD(to_encoding_name);
2107  COMPARE_NODE_FIELD(func_name);
2108  COMPARE_SCALAR_FIELD(def);
2109 
2110  return true;
2111 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreatedbStmt ( const CreatedbStmt a,
const CreatedbStmt b 
)
static

Definition at line 1627 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

1628 {
1631 
1632  return true;
1633 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
char * dbname
Definition: streamutil.c:39
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateDomainStmt ( const CreateDomainStmt a,
const CreateDomainStmt b 
)
static

Definition at line 1570 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1571 {
1572  COMPARE_NODE_FIELD(domainname);
1573  COMPARE_NODE_FIELD(typeName);
1574  COMPARE_NODE_FIELD(collClause);
1575  COMPARE_NODE_FIELD(constraints);
1576 
1577  return true;
1578 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateEnumStmt ( const CreateEnumStmt a,
const CreateEnumStmt b 
)
static

Definition at line 1518 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1519 {
1520  COMPARE_NODE_FIELD(typeName);
1521  COMPARE_NODE_FIELD(vals);
1522 
1523  return true;
1524 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateEventTrigStmt ( const CreateEventTrigStmt a,
const CreateEventTrigStmt b 
)
static

Definition at line 1989 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1990 {
1991  COMPARE_STRING_FIELD(trigname);
1992  COMPARE_STRING_FIELD(eventname);
1993  COMPARE_NODE_FIELD(whenclause);
1994  COMPARE_NODE_FIELD(funcname);
1995 
1996  return true;
1997 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateExtensionStmt ( const CreateExtensionStmt a,
const CreateExtensionStmt b 
)
static

Definition at line 1816 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1817 {
1818  COMPARE_STRING_FIELD(extname);
1819  COMPARE_SCALAR_FIELD(if_not_exists);
1821 
1822  return true;
1823 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateFdwStmt ( const CreateFdwStmt a,
const CreateFdwStmt b 
)
static

Definition at line 1846 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1847 {
1848  COMPARE_STRING_FIELD(fdwname);
1849  COMPARE_NODE_FIELD(func_options);
1851 
1852  return true;
1853 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateForeignServerStmt ( const CreateForeignServerStmt a,
const CreateForeignServerStmt b 
)
static

Definition at line 1866 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1867 {
1868  COMPARE_STRING_FIELD(servername);
1869  COMPARE_STRING_FIELD(servertype);
1870  COMPARE_STRING_FIELD(version);
1871  COMPARE_STRING_FIELD(fdwname);
1872  COMPARE_SCALAR_FIELD(if_not_exists);
1874 
1875  return true;
1876 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateForeignTableStmt ( const CreateForeignTableStmt a,
const CreateForeignTableStmt b 
)
static

Definition at line 1921 of file equalfuncs.c.

References _equalCreateStmt(), CreateForeignTableStmt::base, COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1922 {
1923  if (!_equalCreateStmt(&a->base, &b->base))
1924  return false;
1925 
1926  COMPARE_STRING_FIELD(servername);
1928 
1929  return true;
1930 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateStmt(const CreateStmt *a, const CreateStmt *b)
Definition: equalfuncs.c:1229
static bool _equalCreateFunctionStmt ( const CreateFunctionStmt a,
const CreateFunctionStmt b 
)
static

Definition at line 1361 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1362 {
1363  COMPARE_SCALAR_FIELD(replace);
1364  COMPARE_NODE_FIELD(funcname);
1365  COMPARE_NODE_FIELD(parameters);
1366  COMPARE_NODE_FIELD(returnType);
1368  COMPARE_NODE_FIELD(withClause);
1369 
1370  return true;
1371 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateOpClassItem ( const CreateOpClassItem a,
const CreateOpClassItem b 
)
static

Definition at line 1594 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and name.

Referenced by equal().

1595 {
1596  COMPARE_SCALAR_FIELD(itemtype);
1598  COMPARE_SCALAR_FIELD(number);
1599  COMPARE_NODE_FIELD(order_family);
1600  COMPARE_NODE_FIELD(class_args);
1601  COMPARE_NODE_FIELD(storedtype);
1602 
1603  return true;
1604 }
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateOpClassStmt ( const CreateOpClassStmt a,
const CreateOpClassStmt b 
)
static

Definition at line 1581 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1582 {
1583  COMPARE_NODE_FIELD(opclassname);
1584  COMPARE_NODE_FIELD(opfamilyname);
1585  COMPARE_STRING_FIELD(amname);
1586  COMPARE_NODE_FIELD(datatype);
1587  COMPARE_NODE_FIELD(items);
1588  COMPARE_SCALAR_FIELD(isDefault);
1589 
1590  return true;
1591 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateOpFamilyStmt ( const CreateOpFamilyStmt a,
const CreateOpFamilyStmt b 
)
static

Definition at line 1607 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1608 {
1609  COMPARE_NODE_FIELD(opfamilyname);
1610  COMPARE_STRING_FIELD(amname);
1611 
1612  return true;
1613 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreatePLangStmt ( const CreatePLangStmt a,
const CreatePLangStmt b 
)
static

Definition at line 2009 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2010 {
2011  COMPARE_SCALAR_FIELD(replace);
2012  COMPARE_STRING_FIELD(plname);
2013  COMPARE_NODE_FIELD(plhandler);
2014  COMPARE_NODE_FIELD(plinline);
2015  COMPARE_NODE_FIELD(plvalidator);
2016  COMPARE_SCALAR_FIELD(pltrusted);
2017 
2018  return true;
2019 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreatePolicyStmt ( const CreatePolicyStmt a,
const CreatePolicyStmt b 
)
static

Definition at line 2256 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2257 {
2258  COMPARE_STRING_FIELD(policy_name);
2259  COMPARE_NODE_FIELD(table);
2260  COMPARE_STRING_FIELD(cmd_name);
2261  COMPARE_SCALAR_FIELD(permissive);
2262  COMPARE_NODE_FIELD(roles);
2263  COMPARE_NODE_FIELD(qual);
2264  COMPARE_NODE_FIELD(with_check);
2265 
2266  return true;
2267 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreatePublicationStmt ( const CreatePublicationStmt a,
const CreatePublicationStmt b 
)
static

Definition at line 2195 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2197 {
2198  COMPARE_STRING_FIELD(pubname);
2200  COMPARE_NODE_FIELD(tables);
2201  COMPARE_SCALAR_FIELD(for_all_tables);
2202 
2203  return true;
2204 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateRangeStmt ( const CreateRangeStmt a,
const CreateRangeStmt b 
)
static

Definition at line 1527 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1528 {
1529  COMPARE_NODE_FIELD(typeName);
1530  COMPARE_NODE_FIELD(params);
1531 
1532  return true;
1533 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateRoleStmt ( const CreateRoleStmt a,
const CreateRoleStmt b 
)
static

Definition at line 2022 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2023 {
2024  COMPARE_SCALAR_FIELD(stmt_type);
2025  COMPARE_STRING_FIELD(role);
2027 
2028  return true;
2029 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateSchemaStmt ( const CreateSchemaStmt a,
const CreateSchemaStmt b 
)
static

Definition at line 2091 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2092 {
2093  COMPARE_STRING_FIELD(schemaname);
2094  COMPARE_NODE_FIELD(authrole);
2095  COMPARE_NODE_FIELD(schemaElts);
2096  COMPARE_SCALAR_FIELD(if_not_exists);
2097 
2098  return true;
2099 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateSeqStmt ( const CreateSeqStmt a,
const CreateSeqStmt b 
)
static

Definition at line 1722 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1723 {
1724  COMPARE_NODE_FIELD(sequence);
1726  COMPARE_SCALAR_FIELD(ownerId);
1727  COMPARE_SCALAR_FIELD(for_identity);
1728  COMPARE_SCALAR_FIELD(if_not_exists);
1729 
1730  return true;
1731 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateStatsStmt ( const CreateStatsStmt a,
const CreateStatsStmt b 
)
static

Definition at line 1349 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1350 {
1351  COMPARE_NODE_FIELD(defnames);
1352  COMPARE_NODE_FIELD(stat_types);
1353  COMPARE_NODE_FIELD(exprs);
1354  COMPARE_NODE_FIELD(relations);
1355  COMPARE_SCALAR_FIELD(if_not_exists);
1356 
1357  return true;
1358 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateStmt ( const CreateStmt a,
const CreateStmt b 
)
static

Definition at line 1229 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by _equalCreateForeignTableStmt(), and equal().

1230 {
1231  COMPARE_NODE_FIELD(relation);
1232  COMPARE_NODE_FIELD(tableElts);
1233  COMPARE_NODE_FIELD(inhRelations);
1234  COMPARE_NODE_FIELD(partbound);
1235  COMPARE_NODE_FIELD(partspec);
1236  COMPARE_NODE_FIELD(ofTypename);
1237  COMPARE_NODE_FIELD(constraints);
1239  COMPARE_SCALAR_FIELD(oncommit);
1240  COMPARE_STRING_FIELD(tablespacename);
1241  COMPARE_SCALAR_FIELD(if_not_exists);
1242 
1243  return true;
1244 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateSubscriptionStmt ( const CreateSubscriptionStmt a,
const CreateSubscriptionStmt b 
)
static

Definition at line 2220 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2222 {
2223  COMPARE_STRING_FIELD(subname);
2224  COMPARE_STRING_FIELD(conninfo);
2225  COMPARE_NODE_FIELD(publication);
2227 
2228  return true;
2229 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateTableAsStmt ( const CreateTableAsStmt a,
const CreateTableAsStmt b 
)
static

Definition at line 1682 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1683 {
1684  COMPARE_NODE_FIELD(query);
1685  COMPARE_NODE_FIELD(into);
1686  COMPARE_SCALAR_FIELD(relkind);
1687  COMPARE_SCALAR_FIELD(is_select_into);
1688  COMPARE_SCALAR_FIELD(if_not_exists);
1689 
1690  return true;
1691 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateTableSpaceStmt ( const CreateTableSpaceStmt a,
const CreateTableSpaceStmt b 
)
static

Definition at line 1772 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1773 {
1774  COMPARE_STRING_FIELD(tablespacename);
1775  COMPARE_NODE_FIELD(owner);
1776  COMPARE_STRING_FIELD(location);
1778 
1779  return true;
1780 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalCreateTransformStmt ( const CreateTransformStmt a,
const CreateTransformStmt b 
)
static

Definition at line 1946 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1947 {
1948  COMPARE_SCALAR_FIELD(replace);
1949  COMPARE_NODE_FIELD(type_name);
1950  COMPARE_STRING_FIELD(lang);
1951  COMPARE_NODE_FIELD(fromsql);
1952  COMPARE_NODE_FIELD(tosql);
1953 
1954  return true;
1955 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateTrigStmt ( const CreateTrigStmt a,
const CreateTrigStmt b 
)
static

Definition at line 1968 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1969 {
1970  COMPARE_STRING_FIELD(trigname);
1971  COMPARE_NODE_FIELD(relation);
1972  COMPARE_NODE_FIELD(funcname);
1974  COMPARE_SCALAR_FIELD(row);
1975  COMPARE_SCALAR_FIELD(timing);
1976  COMPARE_SCALAR_FIELD(events);
1977  COMPARE_NODE_FIELD(columns);
1978  COMPARE_NODE_FIELD(whenClause);
1979  COMPARE_SCALAR_FIELD(isconstraint);
1980  COMPARE_NODE_FIELD(transitionRels);
1981  COMPARE_SCALAR_FIELD(deferrable);
1982  COMPARE_SCALAR_FIELD(initdeferred);
1983  COMPARE_NODE_FIELD(constrrel);
1984 
1985  return true;
1986 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateUserMappingStmt ( const CreateUserMappingStmt a,
const CreateUserMappingStmt b 
)
static

Definition at line 1890 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and user.

Referenced by equal().

1891 {
1893  COMPARE_STRING_FIELD(servername);
1894  COMPARE_SCALAR_FIELD(if_not_exists);
1896 
1897  return true;
1898 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static char * user
Definition: pg_regress.c:92
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCurrentOfExpr ( const CurrentOfExpr a,
const CurrentOfExpr b 
)
static

Definition at line 727 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

728 {
729  COMPARE_SCALAR_FIELD(cvarno);
730  COMPARE_STRING_FIELD(cursor_name);
731  COMPARE_SCALAR_FIELD(cursor_param);
732 
733  return true;
734 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDeallocateStmt ( const DeallocateStmt a,
const DeallocateStmt b 
)
static

Definition at line 2145 of file equalfuncs.c.

References COMPARE_STRING_FIELD, and name.

Referenced by equal().

2146 {
2148 
2149  return true;
2150 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
static bool _equalDeclareCursorStmt ( const DeclareCursorStmt a,
const DeclareCursorStmt b 
)
static

Definition at line 1187 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1188 {
1189  COMPARE_STRING_FIELD(portalname);
1191  COMPARE_NODE_FIELD(query);
1192 
1193  return true;
1194 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDefElem ( const DefElem a,
const DefElem b 
)
static

Definition at line 2590 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2591 {
2592  COMPARE_STRING_FIELD(defnamespace);
2593  COMPARE_STRING_FIELD(defname);
2595  COMPARE_SCALAR_FIELD(defaction);
2596  COMPARE_LOCATION_FIELD(location);
2597 
2598  return true;
2599 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDefineStmt ( const DefineStmt a,
const DefineStmt b 
)
static

Definition at line 1256 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1257 {
1258  COMPARE_SCALAR_FIELD(kind);
1259  COMPARE_SCALAR_FIELD(oldstyle);
1260  COMPARE_NODE_FIELD(defnames);
1262  COMPARE_NODE_FIELD(definition);
1263  COMPARE_SCALAR_FIELD(if_not_exists);
1264 
1265  return true;
1266 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDeleteStmt ( const DeleteStmt a,
const DeleteStmt b 
)
static

Definition at line 1021 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1022 {
1023  COMPARE_NODE_FIELD(relation);
1024  COMPARE_NODE_FIELD(usingClause);
1025  COMPARE_NODE_FIELD(whereClause);
1026  COMPARE_NODE_FIELD(returningList);
1027  COMPARE_NODE_FIELD(withClause);
1028 
1029  return true;
1030 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalDiscardStmt ( const DiscardStmt a,
const DiscardStmt b 
)
static

Definition at line 1764 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

1765 {
1766  COMPARE_SCALAR_FIELD(target);
1767 
1768  return true;
1769 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDistinctExpr ( const DistinctExpr a,
const DistinctExpr b 
)
static

Definition at line 335 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and OpExpr::opfuncid.

Referenced by equal().

336 {
337  COMPARE_SCALAR_FIELD(opno);
338 
339  /*
340  * Special-case opfuncid: it is allowable for it to differ if one node
341  * contains zero and the other doesn't. This just means that the one node
342  * isn't as far along in the parse/plan pipeline and hasn't had the
343  * opfuncid cache filled yet.
344  */
345  if (a->opfuncid != b->opfuncid &&
346  a->opfuncid != 0 &&
347  b->opfuncid != 0)
348  return false;
349 
350  COMPARE_SCALAR_FIELD(opresulttype);
351  COMPARE_SCALAR_FIELD(opretset);
352  COMPARE_SCALAR_FIELD(opcollid);
353  COMPARE_SCALAR_FIELD(inputcollid);
355  COMPARE_LOCATION_FIELD(location);
356 
357  return true;
358 }
Oid opfuncid
Definition: primnodes.h:497
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDoStmt ( const DoStmt a,
const DoStmt b 
)
static

Definition at line 1394 of file equalfuncs.c.

References generate_unaccent_rules::args, and COMPARE_NODE_FIELD.

Referenced by equal().

1395 {
1397 
1398  return true;
1399 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalDropdbStmt ( const DropdbStmt a,
const DropdbStmt b 
)
static

Definition at line 1654 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

1655 {
1657  COMPARE_SCALAR_FIELD(missing_ok);
1658 
1659  return true;
1660 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
char * dbname
Definition: streamutil.c:39
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDropOwnedStmt ( const DropOwnedStmt a,
const DropOwnedStmt b 
)
static

Definition at line 2153 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2154 {
2155  COMPARE_NODE_FIELD(roles);
2156  COMPARE_SCALAR_FIELD(behavior);
2157 
2158  return true;
2159 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDropRoleStmt ( const DropRoleStmt a,
const DropRoleStmt b 
)
static

Definition at line 2052 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2053 {
2054  COMPARE_NODE_FIELD(roles);
2055  COMPARE_SCALAR_FIELD(missing_ok);
2056 
2057  return true;
2058 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDropStmt ( const DropStmt a,
const DropStmt b 
)
static

Definition at line 1269 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1270 {
1271  COMPARE_NODE_FIELD(objects);
1272  COMPARE_SCALAR_FIELD(removeType);
1273  COMPARE_SCALAR_FIELD(behavior);
1274  COMPARE_SCALAR_FIELD(missing_ok);
1275  COMPARE_SCALAR_FIELD(concurrent);
1276 
1277  return true;
1278 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDropSubscriptionStmt ( const DropSubscriptionStmt a,
const DropSubscriptionStmt b 
)
static

Definition at line 2245 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2247 {
2248  COMPARE_STRING_FIELD(subname);
2249  COMPARE_SCALAR_FIELD(missing_ok);
2250  COMPARE_SCALAR_FIELD(behavior);
2251 
2252  return true;
2253 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDropTableSpaceStmt ( const DropTableSpaceStmt a,
const DropTableSpaceStmt b 
)
static

Definition at line 1783 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1784 {
1785  COMPARE_STRING_FIELD(tablespacename);
1786  COMPARE_SCALAR_FIELD(missing_ok);
1787 
1788  return true;
1789 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalDropUserMappingStmt ( const DropUserMappingStmt a,
const DropUserMappingStmt b 
)
static

Definition at line 1911 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and user.

Referenced by equal().

1912 {
1914  COMPARE_STRING_FIELD(servername);
1915  COMPARE_SCALAR_FIELD(missing_ok);
1916 
1917  return true;
1918 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static char * user
Definition: pg_regress.c:92
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalExecuteStmt ( const ExecuteStmt a,
const ExecuteStmt b 
)
static

Definition at line 2136 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2137 {
2139  COMPARE_NODE_FIELD(params);
2140 
2141  return true;
2142 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalExplainStmt ( const ExplainStmt a,
const ExplainStmt b 
)
static

Definition at line 1673 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1674 {
1675  COMPARE_NODE_FIELD(query);
1677 
1678  return true;
1679 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalExtensibleNode ( const ExtensibleNode a,
const ExtensibleNode b 
)
static

Definition at line 933 of file equalfuncs.c.

References COMPARE_STRING_FIELD, ExtensibleNode::extnodename, GetExtensibleNodeMethods(), and ExtensibleNodeMethods::nodeEqual.

Referenced by equal().

934 {
935  const ExtensibleNodeMethods *methods;
936 
937  COMPARE_STRING_FIELD(extnodename);
938 
939  /* At this point, we know extnodename is the same for both nodes. */
940  methods = GetExtensibleNodeMethods(a->extnodename, false);
941 
942  /* compare the private fields */
943  if (!methods->nodeEqual(a, b))
944  return false;
945 
946  return true;
947 }
bool(* nodeEqual)(const struct ExtensibleNode *a, const struct ExtensibleNode *b)
Definition: extensible.h:66
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * extnodename
Definition: extensible.h:35
const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *extnodename, bool missing_ok)
Definition: extensible.c:125
static bool _equalFetchStmt ( const FetchStmt a,
const FetchStmt b 
)
static

Definition at line 1312 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1313 {
1314  COMPARE_SCALAR_FIELD(direction);
1315  COMPARE_SCALAR_FIELD(howMany);
1316  COMPARE_STRING_FIELD(portalname);
1317  COMPARE_SCALAR_FIELD(ismove);
1318 
1319  return true;
1320 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalFieldSelect ( const FieldSelect a,
const FieldSelect b 
)
static

Definition at line 465 of file equalfuncs.c.

References arg, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

466 {
468  COMPARE_SCALAR_FIELD(fieldnum);
469  COMPARE_SCALAR_FIELD(resulttype);
470  COMPARE_SCALAR_FIELD(resulttypmod);
471  COMPARE_SCALAR_FIELD(resultcollid);
472 
473  return true;
474 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalFieldStore ( const FieldStore a,
const FieldStore b 
)
static

Definition at line 477 of file equalfuncs.c.

References arg, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

478 {
480  COMPARE_NODE_FIELD(newvals);
481  COMPARE_NODE_FIELD(fieldnums);
482  COMPARE_SCALAR_FIELD(resulttype);
483 
484  return true;
485 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalFromExpr ( const FromExpr a,
const FromExpr b 
)
static

Definition at line 793 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

794 {
795  COMPARE_NODE_FIELD(fromlist);
796  COMPARE_NODE_FIELD(quals);
797 
798  return true;
799 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalFuncCall ( const FuncCall a,
const FuncCall b 
)
static

Definition at line 2322 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2323 {
2324  COMPARE_NODE_FIELD(funcname);
2326  COMPARE_NODE_FIELD(agg_order);
2327  COMPARE_NODE_FIELD(agg_filter);
2328  COMPARE_SCALAR_FIELD(agg_within_group);
2329  COMPARE_SCALAR_FIELD(agg_star);
2330  COMPARE_SCALAR_FIELD(agg_distinct);
2331  COMPARE_SCALAR_FIELD(func_variadic);
2332  COMPARE_NODE_FIELD(over);
2333  COMPARE_LOCATION_FIELD(location);
2334 
2335  return true;
2336 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalFuncExpr ( const FuncExpr a,
const FuncExpr b 
)
static

Definition at line 282 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

283 {
284  COMPARE_SCALAR_FIELD(funcid);
285  COMPARE_SCALAR_FIELD(funcresulttype);
286  COMPARE_SCALAR_FIELD(funcretset);
287  COMPARE_SCALAR_FIELD(funcvariadic);
288  COMPARE_COERCIONFORM_FIELD(funcformat);
289  COMPARE_SCALAR_FIELD(funccollid);
290  COMPARE_SCALAR_FIELD(inputcollid);
292  COMPARE_LOCATION_FIELD(location);
293 
294  return true;
295 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalFunctionParameter ( const FunctionParameter a,
const FunctionParameter b 
)
static

Definition at line 1374 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1375 {
1377  COMPARE_NODE_FIELD(argType);
1378  COMPARE_SCALAR_FIELD(mode);
1379  COMPARE_NODE_FIELD(defexpr);
1380 
1381  return true;
1382 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalGrantRoleStmt ( const GrantRoleStmt a,
const GrantRoleStmt b 
)
static

Definition at line 1165 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1166 {
1167  COMPARE_NODE_FIELD(granted_roles);
1168  COMPARE_NODE_FIELD(grantee_roles);
1169  COMPARE_SCALAR_FIELD(is_grant);
1170  COMPARE_SCALAR_FIELD(admin_opt);
1171  COMPARE_NODE_FIELD(grantor);
1172  COMPARE_SCALAR_FIELD(behavior);
1173 
1174  return true;
1175 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalGrantStmt ( const GrantStmt a,
const GrantStmt b 
)
static

Definition at line 1131 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1132 {
1133  COMPARE_SCALAR_FIELD(is_grant);
1134  COMPARE_SCALAR_FIELD(targtype);
1135  COMPARE_SCALAR_FIELD(objtype);
1136  COMPARE_NODE_FIELD(objects);
1137  COMPARE_NODE_FIELD(privileges);
1138  COMPARE_NODE_FIELD(grantees);
1139  COMPARE_SCALAR_FIELD(grant_option);
1140  COMPARE_SCALAR_FIELD(behavior);
1141 
1142  return true;
1143 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalGroupingFunc ( const GroupingFunc a,
const GroupingFunc b 
)
static

Definition at line 235 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

236 {
238 
239  /*
240  * We must not compare the refs or cols field
241  */
242 
243  COMPARE_SCALAR_FIELD(agglevelsup);
244  COMPARE_LOCATION_FIELD(location);
245 
246  return true;
247 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalGroupingSet ( const GroupingSet a,
const GroupingSet b 
)
static

Definition at line 2698 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2699 {
2700  COMPARE_SCALAR_FIELD(kind);
2701  COMPARE_NODE_FIELD(content);
2702  COMPARE_LOCATION_FIELD(location);
2703 
2704  return true;
2705 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalImportForeignSchemaStmt ( const ImportForeignSchemaStmt a,
const ImportForeignSchemaStmt b 
)
static

Definition at line 1933 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1934 {
1935  COMPARE_STRING_FIELD(server_name);
1936  COMPARE_STRING_FIELD(remote_schema);
1937  COMPARE_STRING_FIELD(local_schema);
1938  COMPARE_SCALAR_FIELD(list_type);
1939  COMPARE_NODE_FIELD(table_list);
1941 
1942  return true;
1943 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalIndexElem ( const IndexElem a,
const IndexElem b 
)
static

Definition at line 2520 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2521 {
2523  COMPARE_NODE_FIELD(expr);
2524  COMPARE_STRING_FIELD(indexcolname);
2525  COMPARE_NODE_FIELD(collation);
2526  COMPARE_NODE_FIELD(opclass);
2527  COMPARE_SCALAR_FIELD(ordering);
2528  COMPARE_SCALAR_FIELD(nulls_ordering);
2529 
2530  return true;
2531 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalIndexStmt ( const IndexStmt a,
const IndexStmt b 
)
static

Definition at line 1323 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1324 {
1325  COMPARE_STRING_FIELD(idxname);
1326  COMPARE_NODE_FIELD(relation);
1327  COMPARE_STRING_FIELD(accessMethod);
1328  COMPARE_STRING_FIELD(tableSpace);
1329  COMPARE_NODE_FIELD(indexParams);
1331  COMPARE_NODE_FIELD(whereClause);
1332  COMPARE_NODE_FIELD(excludeOpNames);
1333  COMPARE_STRING_FIELD(idxcomment);
1334  COMPARE_SCALAR_FIELD(indexOid);
1335  COMPARE_SCALAR_FIELD(oldNode);
1336  COMPARE_SCALAR_FIELD(unique);
1337  COMPARE_SCALAR_FIELD(primary);
1338  COMPARE_SCALAR_FIELD(isconstraint);
1339  COMPARE_SCALAR_FIELD(deferrable);
1340  COMPARE_SCALAR_FIELD(initdeferred);
1341  COMPARE_SCALAR_FIELD(transformed);
1342  COMPARE_SCALAR_FIELD(concurrent);
1343  COMPARE_SCALAR_FIELD(if_not_exists);
1344 
1345  return true;
1346 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalInferClause ( const InferClause a,
const InferClause b 
)
static

Definition at line 2745 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2746 {
2747  COMPARE_NODE_FIELD(indexElems);
2748  COMPARE_NODE_FIELD(whereClause);
2749  COMPARE_STRING_FIELD(conname);
2750  COMPARE_LOCATION_FIELD(location);
2751 
2752  return true;
2753 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalInferenceElem ( const InferenceElem a,
const InferenceElem b 
)
static

Definition at line 746 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

747 {
748  COMPARE_NODE_FIELD(expr);
749  COMPARE_SCALAR_FIELD(infercollid);
750  COMPARE_SCALAR_FIELD(inferopclass);
751 
752  return true;
753 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalInsertStmt ( const InsertStmt a,
const InsertStmt b 
)
static

Definition at line 1007 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1008 {
1009  COMPARE_NODE_FIELD(relation);
1010  COMPARE_NODE_FIELD(cols);
1011  COMPARE_NODE_FIELD(selectStmt);
1012  COMPARE_NODE_FIELD(onConflictClause);
1013  COMPARE_NODE_FIELD(returningList);
1014  COMPARE_NODE_FIELD(withClause);
1015  COMPARE_SCALAR_FIELD(override);
1016 
1017  return true;
1018 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalIntoClause ( const IntoClause a,
const IntoClause b 
)
static

Definition at line 140 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

141 {
142  COMPARE_NODE_FIELD(rel);
143  COMPARE_NODE_FIELD(colNames);
145  COMPARE_SCALAR_FIELD(onCommit);
146  COMPARE_STRING_FIELD(tableSpaceName);
147  COMPARE_NODE_FIELD(viewQuery);
148  COMPARE_SCALAR_FIELD(skipData);
149 
150  return true;
151 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalJoinExpr ( const JoinExpr a,
const JoinExpr b 
)
static

Definition at line 778 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

779 {
780  COMPARE_SCALAR_FIELD(jointype);
781  COMPARE_SCALAR_FIELD(isNatural);
782  COMPARE_NODE_FIELD(larg);
783  COMPARE_NODE_FIELD(rarg);
784  COMPARE_NODE_FIELD(usingClause);
785  COMPARE_NODE_FIELD(quals);
786  COMPARE_NODE_FIELD(alias);
787  COMPARE_SCALAR_FIELD(rtindex);
788 
789  return true;
790 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalList ( const List a,
const List b 
)
static

Definition at line 2873 of file equalfuncs.c.

References Assert, COMPARE_SCALAR_FIELD, elog, equal(), ERROR, forboth, length(), lfirst, lfirst_int, lfirst_oid, NULL, T_IntList, T_List, T_OidList, and List::type.

Referenced by equal().

2874 {
2875  const ListCell *item_a;
2876  const ListCell *item_b;
2877 
2878  /*
2879  * Try to reject by simple scalar checks before grovelling through all the
2880  * list elements...
2881  */
2882  COMPARE_SCALAR_FIELD(type);
2884 
2885  /*
2886  * We place the switch outside the loop for the sake of efficiency; this
2887  * may not be worth doing...
2888  */
2889  switch (a->type)
2890  {
2891  case T_List:
2892  forboth(item_a, a, item_b, b)
2893  {
2894  if (!equal(lfirst(item_a), lfirst(item_b)))
2895  return false;
2896  }
2897  break;
2898  case T_IntList:
2899  forboth(item_a, a, item_b, b)
2900  {
2901  if (lfirst_int(item_a) != lfirst_int(item_b))
2902  return false;
2903  }
2904  break;
2905  case T_OidList:
2906  forboth(item_a, a, item_b, b)
2907  {
2908  if (lfirst_oid(item_a) != lfirst_oid(item_b))
2909  return false;
2910  }
2911  break;
2912  default:
2913  elog(ERROR, "unrecognized list node type: %d",
2914  (int) a->type);
2915  return false; /* keep compiler quiet */
2916  }
2917 
2918  /*
2919  * If we got here, we should have run out of elements of both lists
2920  */
2921  Assert(item_a == NULL);
2922  Assert(item_b == NULL);
2923 
2924  return true;
2925 }
int length(const List *list)
Definition: list.c:1271
#define forboth(cell1, list1, cell2, list2)
Definition: pg_list.h:180
bool equal(const void *a, const void *b)
Definition: equalfuncs.c:2962
#define ERROR
Definition: elog.h:43
#define lfirst_int(lc)
Definition: pg_list.h:107
Definition: nodes.h:291
#define NULL
Definition: c.h:229
#define Assert(condition)
Definition: c.h:675
#define lfirst(lc)
Definition: pg_list.h:106
NodeTag type
Definition: pg_list.h:47
#define elog
Definition: elog.h:219
#define lfirst_oid(lc)
Definition: pg_list.h:108
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalListenStmt ( const ListenStmt a,
const ListenStmt b 
)
static

Definition at line 1483 of file equalfuncs.c.

References COMPARE_STRING_FIELD.

Referenced by equal().

1484 {
1485  COMPARE_STRING_FIELD(conditionname);
1486 
1487  return true;
1488 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static bool _equalLoadStmt ( const LoadStmt a,
const LoadStmt b 
)
static

Definition at line 1562 of file equalfuncs.c.

References COMPARE_STRING_FIELD, and filename.

Referenced by equal().

1563 {
1565 
1566  return true;
1567 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static char * filename
Definition: pg_dumpall.c:89
static bool _equalLockingClause ( const LockingClause a,
const LockingClause b 
)
static

Definition at line 2602 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2603 {
2604  COMPARE_NODE_FIELD(lockedRels);
2605  COMPARE_SCALAR_FIELD(strength);
2606  COMPARE_SCALAR_FIELD(waitPolicy);
2607 
2608  return true;
2609 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalLockStmt ( const LockStmt a,
const LockStmt b 
)
static

Definition at line 2061 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2062 {
2063  COMPARE_NODE_FIELD(relations);
2064  COMPARE_SCALAR_FIELD(mode);
2065  COMPARE_SCALAR_FIELD(nowait);
2066 
2067  return true;
2068 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalMinMaxExpr ( const MinMaxExpr a,
const MinMaxExpr b 
)
static

Definition at line 631 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

632 {
633  COMPARE_SCALAR_FIELD(minmaxtype);
634  COMPARE_SCALAR_FIELD(minmaxcollid);
635  COMPARE_SCALAR_FIELD(inputcollid);
638  COMPARE_LOCATION_FIELD(location);
639 
640  return true;
641 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalMultiAssignRef ( const MultiAssignRef a,
const MultiAssignRef b 
)
static

Definition at line 2384 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2385 {
2386  COMPARE_NODE_FIELD(source);
2387  COMPARE_SCALAR_FIELD(colno);
2388  COMPARE_SCALAR_FIELD(ncolumns);
2389 
2390  return true;
2391 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalNamedArgExpr ( const NamedArgExpr a,
const NamedArgExpr b 
)
static

Definition at line 298 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

299 {
302  COMPARE_SCALAR_FIELD(argnumber);
303  COMPARE_LOCATION_FIELD(location);
304 
305  return true;
306 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalNextValueExpr ( const NextValueExpr a,
const NextValueExpr b 
)
static

Definition at line 737 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

738 {
739  COMPARE_SCALAR_FIELD(seqid);
740  COMPARE_SCALAR_FIELD(typeId);
741 
742  return true;
743 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalNotifyStmt ( const NotifyStmt a,
const NotifyStmt b 
)
static

Definition at line 1474 of file equalfuncs.c.

References COMPARE_STRING_FIELD.

Referenced by equal().

1475 {
1476  COMPARE_STRING_FIELD(conditionname);
1477  COMPARE_STRING_FIELD(payload);
1478 
1479  return true;
1480 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static bool _equalNullIfExpr ( const NullIfExpr a,
const NullIfExpr b 
)
static

Definition at line 361 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and OpExpr::opfuncid.

Referenced by equal().

362 {
363  COMPARE_SCALAR_FIELD(opno);
364 
365  /*
366  * Special-case opfuncid: it is allowable for it to differ if one node
367  * contains zero and the other doesn't. This just means that the one node
368  * isn't as far along in the parse/plan pipeline and hasn't had the
369  * opfuncid cache filled yet.
370  */
371  if (a->opfuncid != b->opfuncid &&
372  a->opfuncid != 0 &&
373  b->opfuncid != 0)
374  return false;
375 
376  COMPARE_SCALAR_FIELD(opresulttype);
377  COMPARE_SCALAR_FIELD(opretset);
378  COMPARE_SCALAR_FIELD(opcollid);
379  COMPARE_SCALAR_FIELD(inputcollid);
381  COMPARE_LOCATION_FIELD(location);
382 
383  return true;
384 }
Oid opfuncid
Definition: primnodes.h:497
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalNullTest ( const NullTest a,
const NullTest b 
)
static

Definition at line 671 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

672 {
674  COMPARE_SCALAR_FIELD(nulltesttype);
675  COMPARE_SCALAR_FIELD(argisrow);
676  COMPARE_LOCATION_FIELD(location);
677 
678  return true;
679 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalObjectWithArgs ( const ObjectWithArgs a,
const ObjectWithArgs b 
)
static

Definition at line 1146 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1147 {
1148  COMPARE_NODE_FIELD(objname);
1149  COMPARE_NODE_FIELD(objargs);
1150  COMPARE_SCALAR_FIELD(args_unspecified);
1151 
1152  return true;
1153 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalOnConflictClause ( const OnConflictClause a,
const OnConflictClause b 
)
static

Definition at line 2756 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2757 {
2758  COMPARE_SCALAR_FIELD(action);
2759  COMPARE_NODE_FIELD(infer);
2760  COMPARE_NODE_FIELD(targetList);
2761  COMPARE_NODE_FIELD(whereClause);
2762  COMPARE_LOCATION_FIELD(location);
2763 
2764  return true;
2765 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalOnConflictExpr ( const OnConflictExpr a,
const OnConflictExpr b 
)
static

Definition at line 802 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

803 {
804  COMPARE_SCALAR_FIELD(action);
805  COMPARE_NODE_FIELD(arbiterElems);
806  COMPARE_NODE_FIELD(arbiterWhere);
807  COMPARE_SCALAR_FIELD(constraint);
808  COMPARE_NODE_FIELD(onConflictSet);
809  COMPARE_NODE_FIELD(onConflictWhere);
810  COMPARE_SCALAR_FIELD(exclRelIndex);
811  COMPARE_NODE_FIELD(exclRelTlist);
812 
813  return true;
814 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalOpExpr ( const OpExpr a,
const OpExpr b 
)
static

Definition at line 309 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and OpExpr::opfuncid.

Referenced by equal().

310 {
311  COMPARE_SCALAR_FIELD(opno);
312 
313  /*
314  * Special-case opfuncid: it is allowable for it to differ if one node
315  * contains zero and the other doesn't. This just means that the one node
316  * isn't as far along in the parse/plan pipeline and hasn't had the
317  * opfuncid cache filled yet.
318  */
319  if (a->opfuncid != b->opfuncid &&
320  a->opfuncid != 0 &&
321  b->opfuncid != 0)
322  return false;
323 
324  COMPARE_SCALAR_FIELD(opresulttype);
325  COMPARE_SCALAR_FIELD(opretset);
326  COMPARE_SCALAR_FIELD(opcollid);
327  COMPARE_SCALAR_FIELD(inputcollid);
329  COMPARE_LOCATION_FIELD(location);
330 
331  return true;
332 }
Oid opfuncid
Definition: primnodes.h:497
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalParam ( const Param a,
const Param b 
)
static

Definition at line 198 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

199 {
200  COMPARE_SCALAR_FIELD(paramkind);
201  COMPARE_SCALAR_FIELD(paramid);
202  COMPARE_SCALAR_FIELD(paramtype);
203  COMPARE_SCALAR_FIELD(paramtypmod);
204  COMPARE_SCALAR_FIELD(paramcollid);
205  COMPARE_LOCATION_FIELD(location);
206 
207  return true;
208 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalParamRef ( const ParamRef a,
const ParamRef b 
)
static

Definition at line 2303 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2304 {
2305  COMPARE_SCALAR_FIELD(number);
2306  COMPARE_LOCATION_FIELD(location);
2307 
2308  return true;
2309 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPartitionBoundSpec ( const PartitionBoundSpec a,
const PartitionBoundSpec b 
)
static

Definition at line 2838 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2839 {
2840  COMPARE_SCALAR_FIELD(strategy);
2841  COMPARE_NODE_FIELD(listdatums);
2842  COMPARE_NODE_FIELD(lowerdatums);
2843  COMPARE_NODE_FIELD(upperdatums);
2844  COMPARE_LOCATION_FIELD(location);
2845 
2846  return true;
2847 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPartitionCmd ( const PartitionCmd a,
const PartitionCmd b 
)
static

Definition at line 2860 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and name.

Referenced by equal().

2861 {
2863  COMPARE_NODE_FIELD(bound);
2864 
2865  return true;
2866 }
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalPartitionedChildRelInfo ( const PartitionedChildRelInfo a,
const PartitionedChildRelInfo b 
)
static

Definition at line 908 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

909 {
910  COMPARE_SCALAR_FIELD(parent_relid);
911  COMPARE_NODE_FIELD(child_rels);
912 
913  return true;
914 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPartitionElem ( const PartitionElem a,
const PartitionElem b 
)
static

Definition at line 2816 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2817 {
2819  COMPARE_NODE_FIELD(expr);
2820  COMPARE_NODE_FIELD(collation);
2821  COMPARE_NODE_FIELD(opclass);
2822  COMPARE_LOCATION_FIELD(location);
2823 
2824  return true;
2825 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalPartitionRangeDatum ( const PartitionRangeDatum a,
const PartitionRangeDatum b 
)
static

Definition at line 2850 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and value.

Referenced by equal().

2851 {
2852  COMPARE_SCALAR_FIELD(kind);
2854  COMPARE_LOCATION_FIELD(location);
2855 
2856  return true;
2857 }
static struct @121 value
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPartitionSpec ( const PartitionSpec a,
const PartitionSpec b 
)
static

Definition at line 2828 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2829 {
2830  COMPARE_STRING_FIELD(strategy);
2831  COMPARE_NODE_FIELD(partParams);
2832  COMPARE_LOCATION_FIELD(location);
2833 
2834  return true;
2835 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalPathKey ( const PathKey a,
const PathKey b 
)
static

Definition at line 821 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

822 {
823  /* We assume pointer equality is sufficient to compare the eclasses */
824  COMPARE_SCALAR_FIELD(pk_eclass);
825  COMPARE_SCALAR_FIELD(pk_opfamily);
826  COMPARE_SCALAR_FIELD(pk_strategy);
827  COMPARE_SCALAR_FIELD(pk_nulls_first);
828 
829  return true;
830 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPlaceHolderInfo ( const PlaceHolderInfo a,
const PlaceHolderInfo b 
)
static

Definition at line 917 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

918 {
919  COMPARE_SCALAR_FIELD(phid);
920  COMPARE_NODE_FIELD(ph_var); /* should be redundant */
921  COMPARE_BITMAPSET_FIELD(ph_eval_at);
922  COMPARE_BITMAPSET_FIELD(ph_lateral);
923  COMPARE_BITMAPSET_FIELD(ph_needed);
924  COMPARE_SCALAR_FIELD(ph_width);
925 
926  return true;
927 }
#define COMPARE_BITMAPSET_FIELD(fldname)
Definition: equalfuncs.c:59
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPlaceHolderVar ( const PlaceHolderVar a,
const PlaceHolderVar b 
)
static

Definition at line 852 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

853 {
854  /*
855  * We intentionally do not compare phexpr. Two PlaceHolderVars with the
856  * same ID and levelsup should be considered equal even if the contained
857  * expressions have managed to mutate to different states. This will
858  * happen during final plan construction when there are nested PHVs, since
859  * the inner PHV will get replaced by a Param in some copies of the outer
860  * PHV. Another way in which it can happen is that initplan sublinks
861  * could get replaced by differently-numbered Params when sublink folding
862  * is done. (The end result of such a situation would be some
863  * unreferenced initplans, which is annoying but not really a problem.) On
864  * the same reasoning, there is no need to examine phrels.
865  *
866  * COMPARE_NODE_FIELD(phexpr);
867  *
868  * COMPARE_BITMAPSET_FIELD(phrels);
869  */
870  COMPARE_SCALAR_FIELD(phid);
871  COMPARE_SCALAR_FIELD(phlevelsup);
872 
873  return true;
874 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalPrepareStmt ( const PrepareStmt a,
const PrepareStmt b 
)
static

Definition at line 2126 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2127 {
2129  COMPARE_NODE_FIELD(argtypes);
2130  COMPARE_NODE_FIELD(query);
2131 
2132  return true;
2133 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalQuery ( const Query a,
const Query b 
)
static

Definition at line 954 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

955 {
956  COMPARE_SCALAR_FIELD(commandType);
957  COMPARE_SCALAR_FIELD(querySource);
958  /* we intentionally ignore queryId, since it might not be set */
959  COMPARE_SCALAR_FIELD(canSetTag);
960  COMPARE_NODE_FIELD(utilityStmt);
961  COMPARE_SCALAR_FIELD(resultRelation);
962  COMPARE_SCALAR_FIELD(hasAggs);
963  COMPARE_SCALAR_FIELD(hasWindowFuncs);
964  COMPARE_SCALAR_FIELD(hasTargetSRFs);
965  COMPARE_SCALAR_FIELD(hasSubLinks);
966  COMPARE_SCALAR_FIELD(hasDistinctOn);
967  COMPARE_SCALAR_FIELD(hasRecursive);
968  COMPARE_SCALAR_FIELD(hasModifyingCTE);
969  COMPARE_SCALAR_FIELD(hasForUpdate);
970  COMPARE_SCALAR_FIELD(hasRowSecurity);
971  COMPARE_NODE_FIELD(cteList);
972  COMPARE_NODE_FIELD(rtable);
973  COMPARE_NODE_FIELD(jointree);
974  COMPARE_NODE_FIELD(targetList);
975  COMPARE_SCALAR_FIELD(override);
976  COMPARE_NODE_FIELD(onConflict);
977  COMPARE_NODE_FIELD(returningList);
978  COMPARE_NODE_FIELD(groupClause);
979  COMPARE_NODE_FIELD(groupingSets);
980  COMPARE_NODE_FIELD(havingQual);
981  COMPARE_NODE_FIELD(windowClause);
982  COMPARE_NODE_FIELD(distinctClause);
983  COMPARE_NODE_FIELD(sortClause);
984  COMPARE_NODE_FIELD(limitOffset);
985  COMPARE_NODE_FIELD(limitCount);
986  COMPARE_NODE_FIELD(rowMarks);
987  COMPARE_NODE_FIELD(setOperations);
988  COMPARE_NODE_FIELD(constraintDeps);
989  COMPARE_NODE_FIELD(withCheckOptions);
990  COMPARE_LOCATION_FIELD(stmt_location);
991  COMPARE_LOCATION_FIELD(stmt_len);
992 
993  return true;
994 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeFunction ( const RangeFunction a,
const RangeFunction b 
)
static

Definition at line 2466 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and functions.

Referenced by equal().

2467 {
2468  COMPARE_SCALAR_FIELD(lateral);
2469  COMPARE_SCALAR_FIELD(ordinality);
2470  COMPARE_SCALAR_FIELD(is_rowsfrom);
2472  COMPARE_NODE_FIELD(alias);
2473  COMPARE_NODE_FIELD(coldeflist);
2474 
2475  return true;
2476 }
static const struct fns functions
Definition: regcomp.c:299
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeSubselect ( const RangeSubselect a,
const RangeSubselect b 
)
static

Definition at line 2456 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2457 {
2458  COMPARE_SCALAR_FIELD(lateral);
2459  COMPARE_NODE_FIELD(subquery);
2460  COMPARE_NODE_FIELD(alias);
2461 
2462  return true;
2463 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeTableFunc ( const RangeTableFunc a,
const RangeTableFunc b 
)
static

Definition at line 2491 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2492 {
2493  COMPARE_SCALAR_FIELD(lateral);
2494  COMPARE_NODE_FIELD(docexpr);
2495  COMPARE_NODE_FIELD(rowexpr);
2496  COMPARE_NODE_FIELD(namespaces);
2497  COMPARE_NODE_FIELD(columns);
2498  COMPARE_NODE_FIELD(alias);
2499  COMPARE_LOCATION_FIELD(location);
2500 
2501  return true;
2502 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeTableFuncCol ( const RangeTableFuncCol a,
const RangeTableFuncCol b 
)
static

Definition at line 2505 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2506 {
2507  COMPARE_STRING_FIELD(colname);
2508  COMPARE_NODE_FIELD(typeName);
2509  COMPARE_SCALAR_FIELD(for_ordinality);
2510  COMPARE_SCALAR_FIELD(is_not_null);
2511  COMPARE_NODE_FIELD(colexpr);
2512  COMPARE_NODE_FIELD(coldefexpr);
2513  COMPARE_LOCATION_FIELD(location);
2514 
2515  return true;
2516 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeTableSample ( const RangeTableSample a,
const RangeTableSample b 
)
static

Definition at line 2479 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2480 {
2481  COMPARE_NODE_FIELD(relation);
2482  COMPARE_NODE_FIELD(method);
2484  COMPARE_NODE_FIELD(repeatable);
2485  COMPARE_LOCATION_FIELD(location);
2486 
2487  return true;
2488 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalRangeTblEntry ( const RangeTblEntry a,
const RangeTblEntry b 
)
static

Definition at line 2612 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and functions.

Referenced by equal().

2613 {
2614  COMPARE_SCALAR_FIELD(rtekind);
2615  COMPARE_SCALAR_FIELD(relid);
2616  COMPARE_SCALAR_FIELD(relkind);
2617  COMPARE_NODE_FIELD(tablesample);
2618  COMPARE_NODE_FIELD(subquery);
2619  COMPARE_SCALAR_FIELD(security_barrier);
2620  COMPARE_SCALAR_FIELD(jointype);
2621  COMPARE_NODE_FIELD(joinaliasvars);
2623  COMPARE_SCALAR_FIELD(funcordinality);
2624  COMPARE_NODE_FIELD(tablefunc);
2625  COMPARE_NODE_FIELD(values_lists);
2626  COMPARE_STRING_FIELD(ctename);
2627  COMPARE_SCALAR_FIELD(ctelevelsup);
2628  COMPARE_SCALAR_FIELD(self_reference);
2629  COMPARE_NODE_FIELD(coltypes);
2630  COMPARE_NODE_FIELD(coltypmods);
2631  COMPARE_NODE_FIELD(colcollations);
2632  COMPARE_STRING_FIELD(enrname);
2633  COMPARE_SCALAR_FIELD(enrtuples);
2634  COMPARE_NODE_FIELD(alias);
2635  COMPARE_NODE_FIELD(eref);
2636  COMPARE_SCALAR_FIELD(lateral);
2637  COMPARE_SCALAR_FIELD(inh);
2638  COMPARE_SCALAR_FIELD(inFromCl);
2639  COMPARE_SCALAR_FIELD(requiredPerms);
2640  COMPARE_SCALAR_FIELD(checkAsUser);
2641  COMPARE_BITMAPSET_FIELD(selectedCols);
2642  COMPARE_BITMAPSET_FIELD(insertedCols);
2643  COMPARE_BITMAPSET_FIELD(updatedCols);
2644  COMPARE_NODE_FIELD(securityQuals);
2645 
2646  return true;
2647 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_BITMAPSET_FIELD(fldname)
Definition: equalfuncs.c:59
static const struct fns functions
Definition: regcomp.c:299
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeTblFunction ( const RangeTblFunction a,
const RangeTblFunction b 
)
static

Definition at line 2650 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2651 {
2652  COMPARE_NODE_FIELD(funcexpr);
2653  COMPARE_SCALAR_FIELD(funccolcount);
2654  COMPARE_NODE_FIELD(funccolnames);
2655  COMPARE_NODE_FIELD(funccoltypes);
2656  COMPARE_NODE_FIELD(funccoltypmods);
2657  COMPARE_NODE_FIELD(funccolcollations);
2658  COMPARE_BITMAPSET_FIELD(funcparams);
2659 
2660  return true;
2661 }
#define COMPARE_BITMAPSET_FIELD(fldname)
Definition: equalfuncs.c:59
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeTblRef ( const RangeTblRef a,
const RangeTblRef b 
)
static

Definition at line 770 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

771 {
772  COMPARE_SCALAR_FIELD(rtindex);
773 
774  return true;
775 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRangeVar ( const RangeVar a,
const RangeVar b 
)
static

Definition at line 106 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

107 {
108  COMPARE_STRING_FIELD(catalogname);
109  COMPARE_STRING_FIELD(schemaname);
110  COMPARE_STRING_FIELD(relname);
112  COMPARE_SCALAR_FIELD(relpersistence);
113  COMPARE_NODE_FIELD(alias);
114  COMPARE_LOCATION_FIELD(location);
115 
116  return true;
117 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRawStmt ( const RawStmt a,
const RawStmt b 
)
static

Definition at line 997 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

998 {
999  COMPARE_NODE_FIELD(stmt);
1000  COMPARE_LOCATION_FIELD(stmt_location);
1001  COMPARE_LOCATION_FIELD(stmt_len);
1002 
1003  return true;
1004 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalReassignOwnedStmt ( const ReassignOwnedStmt a,
const ReassignOwnedStmt b 
)
static

Definition at line 2162 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

2163 {
2164  COMPARE_NODE_FIELD(roles);
2165  COMPARE_NODE_FIELD(newrole);
2166 
2167  return true;
2168 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
static bool _equalRefreshMatViewStmt ( const RefreshMatViewStmt a,
const RefreshMatViewStmt b 
)
static

Definition at line 1694 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1695 {
1696  COMPARE_SCALAR_FIELD(concurrent);
1697  COMPARE_SCALAR_FIELD(skipData);
1698  COMPARE_NODE_FIELD(relation);
1699 
1700  return true;
1701 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalReindexStmt ( const ReindexStmt a,
const ReindexStmt b 
)
static

Definition at line 2080 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2081 {
2082  COMPARE_SCALAR_FIELD(kind);
2083  COMPARE_NODE_FIELD(relation);
2086 
2087  return true;
2088 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRelabelType ( const RelabelType a,
const RelabelType b 
)
static

Definition at line 488 of file equalfuncs.c.

References arg, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

489 {
491  COMPARE_SCALAR_FIELD(resulttype);
492  COMPARE_SCALAR_FIELD(resulttypmod);
493  COMPARE_SCALAR_FIELD(resultcollid);
494  COMPARE_COERCIONFORM_FIELD(relabelformat);
495  COMPARE_LOCATION_FIELD(location);
496 
497  return true;
498 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
void * arg
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRenameStmt ( const RenameStmt a,
const RenameStmt b 
)
static

Definition at line 1402 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1403 {
1404  COMPARE_SCALAR_FIELD(renameType);
1405  COMPARE_SCALAR_FIELD(relationType);
1406  COMPARE_NODE_FIELD(relation);
1407  COMPARE_NODE_FIELD(object);
1408  COMPARE_STRING_FIELD(subname);
1409  COMPARE_STRING_FIELD(newname);
1410  COMPARE_SCALAR_FIELD(behavior);
1411  COMPARE_SCALAR_FIELD(missing_ok);
1412 
1413  return true;
1414 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalReplicaIdentityStmt ( const ReplicaIdentityStmt a,
const ReplicaIdentityStmt b 
)
static

Definition at line 1704 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1705 {
1706  COMPARE_SCALAR_FIELD(identity_type);
1708 
1709  return true;
1710 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
const char * name
Definition: encode.c:521
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalResTarget ( const ResTarget a,
const ResTarget b 
)
static

Definition at line 2373 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, name, and val.

Referenced by equal().

2374 {
2376  COMPARE_NODE_FIELD(indirection);
2378  COMPARE_LOCATION_FIELD(location);
2379 
2380  return true;
2381 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
const char * name
Definition: encode.c:521
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
long val
Definition: informix.c:689
static bool _equalRestrictInfo ( const RestrictInfo a,
const RestrictInfo b 
)
static

Definition at line 833 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

834 {
835  COMPARE_NODE_FIELD(clause);
836  COMPARE_SCALAR_FIELD(is_pushed_down);
837  COMPARE_SCALAR_FIELD(outerjoin_delayed);
838  COMPARE_SCALAR_FIELD(security_level);
839  COMPARE_BITMAPSET_FIELD(required_relids);
840  COMPARE_BITMAPSET_FIELD(outer_relids);
841  COMPARE_BITMAPSET_FIELD(nullable_relids);
842 
843  /*
844  * We ignore all the remaining fields, since they may not be set yet, and
845  * should be derivable from the clause anyway.
846  */
847 
848  return true;
849 }
#define COMPARE_BITMAPSET_FIELD(fldname)
Definition: equalfuncs.c:59
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRoleSpec ( const RoleSpec a,
const RoleSpec b 
)
static

Definition at line 2796 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2797 {
2798  COMPARE_SCALAR_FIELD(roletype);
2799  COMPARE_STRING_FIELD(rolename);
2800  COMPARE_LOCATION_FIELD(location);
2801 
2802  return true;
2803 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRowCompareExpr ( const RowCompareExpr a,
const RowCompareExpr b 
)
static

Definition at line 607 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

608 {
609  COMPARE_SCALAR_FIELD(rctype);
610  COMPARE_NODE_FIELD(opnos);
611  COMPARE_NODE_FIELD(opfamilies);
612  COMPARE_NODE_FIELD(inputcollids);
613  COMPARE_NODE_FIELD(largs);
614  COMPARE_NODE_FIELD(rargs);
615 
616  return true;
617 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRowExpr ( const RowExpr a,
const RowExpr b 
)
static

Definition at line 595 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_COERCIONFORM_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

596 {
598  COMPARE_SCALAR_FIELD(row_typeid);
599  COMPARE_COERCIONFORM_FIELD(row_format);
600  COMPARE_NODE_FIELD(colnames);
601  COMPARE_LOCATION_FIELD(location);
602 
603  return true;
604 }
#define COMPARE_COERCIONFORM_FIELD(fldname)
Definition: equalfuncs.c:88
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRowMarkClause ( const RowMarkClause a,
const RowMarkClause b 
)
static

Definition at line 2724 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

2725 {
2726  COMPARE_SCALAR_FIELD(rti);
2727  COMPARE_SCALAR_FIELD(strength);
2728  COMPARE_SCALAR_FIELD(waitPolicy);
2729  COMPARE_SCALAR_FIELD(pushedDown);
2730 
2731  return true;
2732 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalRuleStmt ( const RuleStmt a,
const RuleStmt b 
)
static

Definition at line 1460 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1461 {
1462  COMPARE_NODE_FIELD(relation);
1463  COMPARE_STRING_FIELD(rulename);
1464  COMPARE_NODE_FIELD(whereClause);
1465  COMPARE_SCALAR_FIELD(event);
1466  COMPARE_SCALAR_FIELD(instead);
1467  COMPARE_NODE_FIELD(actions);
1468  COMPARE_SCALAR_FIELD(replace);
1469 
1470  return true;
1471 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalScalarArrayOpExpr ( const ScalarArrayOpExpr a,
const ScalarArrayOpExpr b 
)
static

Definition at line 387 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and ScalarArrayOpExpr::opfuncid.

Referenced by equal().

388 {
389  COMPARE_SCALAR_FIELD(opno);
390 
391  /*
392  * Special-case opfuncid: it is allowable for it to differ if one node
393  * contains zero and the other doesn't. This just means that the one node
394  * isn't as far along in the parse/plan pipeline and hasn't had the
395  * opfuncid cache filled yet.
396  */
397  if (a->opfuncid != b->opfuncid &&
398  a->opfuncid != 0 &&
399  b->opfuncid != 0)
400  return false;
401 
402  COMPARE_SCALAR_FIELD(useOr);
403  COMPARE_SCALAR_FIELD(inputcollid);
405  COMPARE_LOCATION_FIELD(location);
406 
407  return true;
408 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSecLabelStmt ( const SecLabelStmt a,
const SecLabelStmt b 
)
static

Definition at line 1301 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and label.

Referenced by equal().

1302 {
1303  COMPARE_SCALAR_FIELD(objtype);
1304  COMPARE_NODE_FIELD(object);
1305  COMPARE_STRING_FIELD(provider);
1307 
1308  return true;
1309 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static char * label
Definition: pg_basebackup.c:81
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSelectStmt ( const SelectStmt a,
const SelectStmt b 
)
static

Definition at line 1046 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1047 {
1048  COMPARE_NODE_FIELD(distinctClause);
1049  COMPARE_NODE_FIELD(intoClause);
1050  COMPARE_NODE_FIELD(targetList);
1051  COMPARE_NODE_FIELD(fromClause);
1052  COMPARE_NODE_FIELD(whereClause);
1053  COMPARE_NODE_FIELD(groupClause);
1054  COMPARE_NODE_FIELD(havingClause);
1055  COMPARE_NODE_FIELD(windowClause);
1056  COMPARE_NODE_FIELD(valuesLists);
1057  COMPARE_NODE_FIELD(sortClause);
1058  COMPARE_NODE_FIELD(limitOffset);
1059  COMPARE_NODE_FIELD(limitCount);
1060  COMPARE_NODE_FIELD(lockingClause);
1061  COMPARE_NODE_FIELD(withClause);
1063  COMPARE_SCALAR_FIELD(all);
1064  COMPARE_NODE_FIELD(larg);
1065  COMPARE_NODE_FIELD(rarg);
1066 
1067  return true;
1068 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSetOperationStmt ( const SetOperationStmt a,
const SetOperationStmt b 
)
static

Definition at line 1071 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1072 {
1074  COMPARE_SCALAR_FIELD(all);
1075  COMPARE_NODE_FIELD(larg);
1076  COMPARE_NODE_FIELD(rarg);
1077  COMPARE_NODE_FIELD(colTypes);
1078  COMPARE_NODE_FIELD(colTypmods);
1079  COMPARE_NODE_FIELD(colCollations);
1080  COMPARE_NODE_FIELD(groupClauses);
1081 
1082  return true;
1083 }
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSetToDefault ( const SetToDefault a,
const SetToDefault b 
)
static

Definition at line 716 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

717 {
718  COMPARE_SCALAR_FIELD(typeId);
719  COMPARE_SCALAR_FIELD(typeMod);
720  COMPARE_SCALAR_FIELD(collation);
721  COMPARE_LOCATION_FIELD(location);
722 
723  return true;
724 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSortBy ( const SortBy a,
const SortBy b 
)
static

Definition at line 2429 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2430 {
2431  COMPARE_NODE_FIELD(node);
2432  COMPARE_SCALAR_FIELD(sortby_dir);
2433  COMPARE_SCALAR_FIELD(sortby_nulls);
2434  COMPARE_NODE_FIELD(useOp);
2435  COMPARE_LOCATION_FIELD(location);
2436 
2437  return true;
2438 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSortGroupClause ( const SortGroupClause a,
const SortGroupClause b 
)
static

Definition at line 2686 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

2687 {
2688  COMPARE_SCALAR_FIELD(tleSortGroupRef);
2689  COMPARE_SCALAR_FIELD(eqop);
2690  COMPARE_SCALAR_FIELD(sortop);
2691  COMPARE_SCALAR_FIELD(nulls_first);
2692  COMPARE_SCALAR_FIELD(hashable);
2693 
2694  return true;
2695 }
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSpecialJoinInfo ( const SpecialJoinInfo a,
const SpecialJoinInfo b 
)
static

Definition at line 877 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

878 {
879  COMPARE_BITMAPSET_FIELD(min_lefthand);
880  COMPARE_BITMAPSET_FIELD(min_righthand);
881  COMPARE_BITMAPSET_FIELD(syn_lefthand);
882  COMPARE_BITMAPSET_FIELD(syn_righthand);
883  COMPARE_SCALAR_FIELD(jointype);
884  COMPARE_SCALAR_FIELD(lhs_strict);
885  COMPARE_SCALAR_FIELD(delay_upper_joins);
886  COMPARE_SCALAR_FIELD(semi_can_btree);
887  COMPARE_SCALAR_FIELD(semi_can_hash);
888  COMPARE_NODE_FIELD(semi_operators);
889  COMPARE_NODE_FIELD(semi_rhs_exprs);
890 
891  return true;
892 }
#define COMPARE_BITMAPSET_FIELD(fldname)
Definition: equalfuncs.c:59
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSQLValueFunction ( const SQLValueFunction a,
const SQLValueFunction b 
)
static

Definition at line 644 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

645 {
647  COMPARE_SCALAR_FIELD(type);
648  COMPARE_SCALAR_FIELD(typmod);
649  COMPARE_LOCATION_FIELD(location);
650 
651  return true;
652 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSubLink ( const SubLink a,
const SubLink b 
)
static

Definition at line 421 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

422 {
423  COMPARE_SCALAR_FIELD(subLinkType);
424  COMPARE_SCALAR_FIELD(subLinkId);
425  COMPARE_NODE_FIELD(testexpr);
426  COMPARE_NODE_FIELD(operName);
427  COMPARE_NODE_FIELD(subselect);
428  COMPARE_LOCATION_FIELD(location);
429 
430  return true;
431 }
#define COMPARE_LOCATION_FIELD(fldname)
Definition: equalfuncs.c:84
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalSubPlan ( const SubPlan a,
const SubPlan b 
)
static

Definition at line 434 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

435 {
436  COMPARE_SCALAR_FIELD(subLinkType);
437  COMPARE_NODE_FIELD(testexpr);
438  COMPARE_NODE_FIELD(paramIds);
439  COMPARE_SCALAR_FIELD(plan_id);
440  COMPARE_STRING_FIELD(plan_name);
441  COMPARE_SCALAR_FIELD(firstColType);
442  COMPARE_SCALAR_FIELD(firstColTypmod);
443  COMPARE_SCALAR_FIELD(firstColCollation);
444  COMPARE_SCALAR_FIELD(useHashTable);
445  COMPARE_SCALAR_FIELD(unknownEqFalse);
446  COMPARE_SCALAR_FIELD(parallel_safe);
447  COMPARE_NODE_FIELD(setParam);
448  COMPARE_NODE_FIELD(parParam);
450  COMPARE_SCALAR_FIELD(startup_cost);
451  COMPARE_SCALAR_FIELD(per_call_cost);
452 
453  return true;
454 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
#define COMPARE_NODE_FIELD(fldname)
Definition: equalfuncs.c:52
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalTableFunc ( const TableFunc a,
const TableFunc b 
)
static

Definition at line 120 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

121 {
122  COMPARE_NODE_FIELD(ns_uris);
123  COMPARE_NODE_FIELD(ns_names);
124  COMPARE_NODE_FIELD(docexpr);
125  COMPARE_NODE_FIELD(rowexpr);
126  COMPARE_NODE_FIELD(colnames);
127  COMPARE_NODE_FIELD(coltypes);
128  COMPARE_NODE_FIELD(coltypmods);
129  COMPARE_NODE_FIELD(colcollations);