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:2964

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 2365 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2366 {
2367  COMPARE_NODE_FIELD(elements);
2368  COMPARE_LOCATION_FIELD(location);
2369 
2370  return true;
2371 }
#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 2356 of file equalfuncs.c.

References arg, and COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1157 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1158 {
1159  COMPARE_STRING_FIELD(priv_name);
1160  COMPARE_NODE_FIELD(cols);
1161 
1162  return true;
1163 }
#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 2313 of file equalfuncs.c.

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

Referenced by equal().

2314 {
2315  if (!equal(&a->val, &b->val)) /* hack for in-line Value field */
2316  return false;
2317  COMPARE_LOCATION_FIELD(location);
2318 
2319  return true;
2320 }
bool equal(const void *a, const void *b)
Definition: equalfuncs.c:2964
#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 2283 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and name.

Referenced by equal().

2284 {
2285  COMPARE_SCALAR_FIELD(kind);
2287  COMPARE_NODE_FIELD(lexpr);
2288  COMPARE_NODE_FIELD(rexpr);
2289  COMPARE_LOCATION_FIELD(location);
2290 
2291  return true;
2292 }
#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 2346 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2347 {
2348  COMPARE_SCALAR_FIELD(is_slice);
2349  COMPARE_NODE_FIELD(lidx);
2350  COMPARE_NODE_FIELD(uidx);
2351 
2352  return true;
2353 }
#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 1111 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1646 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

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

Definition at line 1637 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

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

Definition at line 1179 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1119 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1120 {
1121  COMPARE_SCALAR_FIELD(subtype);
1122  COMPARE_NODE_FIELD(typeName);
1124  COMPARE_NODE_FIELD(def);
1125  COMPARE_SCALAR_FIELD(behavior);
1126  COMPARE_SCALAR_FIELD(missing_ok);
1127 
1128  return true;
1129 }
#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 1537 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1538 {
1539  COMPARE_NODE_FIELD(typeName);
1540  COMPARE_STRING_FIELD(oldVal);
1541  COMPARE_STRING_FIELD(newVal);
1542  COMPARE_STRING_FIELD(newValNeighbor);
1543  COMPARE_SCALAR_FIELD(newValIsAfter);
1544  COMPARE_SCALAR_FIELD(skipIfNewValExists);
1545 
1546  return true;
1547 }
#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 2001 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2002 {
2003  COMPARE_STRING_FIELD(trigname);
2004  COMPARE_SCALAR_FIELD(tgenabled);
2005 
2006  return true;
2007 }
#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 1836 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1837 {
1838  COMPARE_STRING_FIELD(extname);
1839  COMPARE_SCALAR_FIELD(action);
1840  COMPARE_SCALAR_FIELD(objtype);
1841  COMPARE_NODE_FIELD(object);
1842 
1843  return true;
1844 }
#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 1827 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1828 {
1829  COMPARE_STRING_FIELD(extname);
1831 
1832  return true;
1833 }
#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 1857 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1858 {
1859  COMPARE_STRING_FIELD(fdwname);
1860  COMPARE_NODE_FIELD(func_options);
1862 
1863  return true;
1864 }
#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 1880 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1881 {
1882  COMPARE_STRING_FIELD(servername);
1883  COMPARE_STRING_FIELD(version);
1885  COMPARE_SCALAR_FIELD(has_version);
1886 
1887  return true;
1888 }
#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 1386 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1387 {
1388  COMPARE_NODE_FIELD(func);
1389  COMPARE_NODE_FIELD(actions);
1390 
1391  return true;
1392 }
#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 1418 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1419 {
1420  COMPARE_SCALAR_FIELD(objectType);
1421  COMPARE_NODE_FIELD(relation);
1422  COMPARE_NODE_FIELD(object);
1423  COMPARE_NODE_FIELD(extname);
1424 
1425  return true;
1426 }
#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 1429 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1430 {
1431  COMPARE_SCALAR_FIELD(objectType);
1432  COMPARE_NODE_FIELD(relation);
1433  COMPARE_NODE_FIELD(object);
1434  COMPARE_STRING_FIELD(newschema);
1435  COMPARE_SCALAR_FIELD(missing_ok);
1436 
1437  return true;
1438 }
#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 1452 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1617 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1618 {
1619  COMPARE_NODE_FIELD(opfamilyname);
1620  COMPARE_STRING_FIELD(amname);
1621  COMPARE_SCALAR_FIELD(isDrop);
1622  COMPARE_NODE_FIELD(items);
1623 
1624  return true;
1625 }
#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 1441 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1442 {
1443  COMPARE_SCALAR_FIELD(objectType);
1444  COMPARE_NODE_FIELD(relation);
1445  COMPARE_NODE_FIELD(object);
1446  COMPARE_NODE_FIELD(newowner);
1447 
1448  return true;
1449 }
#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 2271 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2272 {
2273  COMPARE_STRING_FIELD(policy_name);
2274  COMPARE_NODE_FIELD(table);
2275  COMPARE_NODE_FIELD(roles);
2276  COMPARE_NODE_FIELD(qual);
2277  COMPARE_NODE_FIELD(with_check);
2278 
2279  return true;
2280 }
#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 2208 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2210 {
2211  COMPARE_STRING_FIELD(pubname);
2213  COMPARE_NODE_FIELD(tables);
2214  COMPARE_SCALAR_FIELD(for_all_tables);
2215  COMPARE_SCALAR_FIELD(tableAction);
2216 
2217  return true;
2218 }
#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 2043 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2044 {
2045  COMPARE_NODE_FIELD(role);
2046  COMPARE_STRING_FIELD(database);
2047  COMPARE_NODE_FIELD(setstmt);
2048 
2049  return true;
2050 }
#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 2033 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2034 {
2035  COMPARE_NODE_FIELD(role);
2037  COMPARE_SCALAR_FIELD(action);
2038 
2039  return true;
2040 }
#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 1735 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1736 {
1737  COMPARE_NODE_FIELD(sequence);
1739  COMPARE_SCALAR_FIELD(for_identity);
1740  COMPARE_SCALAR_FIELD(missing_ok);
1741 
1742  return true;
1743 }
#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 2233 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2235 {
2236  COMPARE_SCALAR_FIELD(kind);
2237  COMPARE_STRING_FIELD(subname);
2238  COMPARE_STRING_FIELD(conninfo);
2239  COMPARE_NODE_FIELD(publication);
2241 
2242  return true;
2243 }
#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 1714 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1715 {
1716  COMPARE_NODE_FIELD(setstmt);
1717 
1718  return true;
1719 }
#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_SCALAR_FIELD(num);
1102  COMPARE_NODE_FIELD(newowner);
1103  COMPARE_NODE_FIELD(def);
1104  COMPARE_SCALAR_FIELD(behavior);
1105  COMPARE_SCALAR_FIELD(missing_ok);
1106 
1107  return true;
1108 }
#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 1804 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1806 {
1807  COMPARE_STRING_FIELD(orig_tablespacename);
1808  COMPARE_SCALAR_FIELD(objtype);
1809  COMPARE_NODE_FIELD(roles);
1810  COMPARE_STRING_FIELD(new_tablespacename);
1811  COMPARE_SCALAR_FIELD(nowait);
1812 
1813  return true;
1814 }
#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 1793 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1795 {
1796  COMPARE_STRING_FIELD(tablespacename);
1798  COMPARE_SCALAR_FIELD(isReset);
1799 
1800  return true;
1801 }
#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 2181 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2183 {
2184  COMPARE_SCALAR_FIELD(kind);
2185  COMPARE_NODE_FIELD(cfgname);
2186  COMPARE_NODE_FIELD(tokentype);
2187  COMPARE_NODE_FIELD(dicts);
2188  COMPARE_SCALAR_FIELD(override);
2189  COMPARE_SCALAR_FIELD(replace);
2190  COMPARE_SCALAR_FIELD(missing_ok);
2191 
2192  return true;
2193 }
#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 2172 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1902 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and user.

Referenced by equal().

1903 {
1905  COMPARE_STRING_FIELD(servername);
1907 
1908  return true;
1909 }
#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 2340 of file equalfuncs.c.

Referenced by equal().

2341 {
2342  return true;
2343 }
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 1198 of file equalfuncs.c.

References COMPARE_STRING_FIELD.

Referenced by equal().

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

Definition at line 1206 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and verbose.

Referenced by equal().

1207 {
1208  COMPARE_NODE_FIELD(relation);
1209  COMPARE_STRING_FIELD(indexname);
1211 
1212  return true;
1213 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static int verbose
Definition: pg_basebackup.c:85
#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 2420 of file equalfuncs.c.

References arg, COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2421 {
2423  COMPARE_NODE_FIELD(collname);
2424  COMPARE_LOCATION_FIELD(location);
2425 
2426  return true;
2427 }
#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 2535 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2536 {
2537  COMPARE_STRING_FIELD(colname);
2538  COMPARE_NODE_FIELD(typeName);
2539  COMPARE_SCALAR_FIELD(inhcount);
2540  COMPARE_SCALAR_FIELD(is_local);
2541  COMPARE_SCALAR_FIELD(is_not_null);
2542  COMPARE_SCALAR_FIELD(is_from_type);
2543  COMPARE_SCALAR_FIELD(is_from_parent);
2544  COMPARE_SCALAR_FIELD(storage);
2545  COMPARE_NODE_FIELD(raw_default);
2546  COMPARE_NODE_FIELD(cooked_default);
2547  COMPARE_SCALAR_FIELD(identity);
2548  COMPARE_NODE_FIELD(collClause);
2549  COMPARE_SCALAR_FIELD(collOid);
2550  COMPARE_NODE_FIELD(constraints);
2551  COMPARE_NODE_FIELD(fdwoptions);
2552  COMPARE_LOCATION_FIELD(location);
2553 
2554  return true;
2555 }
#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 2295 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2296 {
2297  COMPARE_NODE_FIELD(fields);
2298  COMPARE_LOCATION_FIELD(location);
2299 
2300  return true;
2301 }
#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 1292 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1293 {
1294  COMPARE_SCALAR_FIELD(objtype);
1295  COMPARE_NODE_FIELD(object);
1296  COMPARE_STRING_FIELD(comment);
1297 
1298  return true;
1299 }
#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 2769 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2770 {
2771  COMPARE_STRING_FIELD(ctename);
2772  COMPARE_NODE_FIELD(aliascolnames);
2773  COMPARE_NODE_FIELD(ctequery);
2774  COMPARE_LOCATION_FIELD(location);
2775  COMPARE_SCALAR_FIELD(cterecursive);
2776  COMPARE_SCALAR_FIELD(cterefcount);
2777  COMPARE_NODE_FIELD(ctecolnames);
2778  COMPARE_NODE_FIELD(ctecoltypes);
2779  COMPARE_NODE_FIELD(ctecoltypmods);
2780  COMPARE_NODE_FIELD(ctecolcollations);
2781 
2782  return true;
2783 }
#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 1510 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1511 {
1512  COMPARE_NODE_FIELD(typevar);
1513  COMPARE_NODE_FIELD(coldeflist);
1514 
1515  return true;
1516 }
#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 2558 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2559 {
2560  COMPARE_SCALAR_FIELD(contype);
2561  COMPARE_STRING_FIELD(conname);
2562  COMPARE_SCALAR_FIELD(deferrable);
2563  COMPARE_SCALAR_FIELD(initdeferred);
2564  COMPARE_LOCATION_FIELD(location);
2565  COMPARE_SCALAR_FIELD(is_no_inherit);
2566  COMPARE_NODE_FIELD(raw_expr);
2567  COMPARE_STRING_FIELD(cooked_expr);
2568  COMPARE_SCALAR_FIELD(generated_when);
2569  COMPARE_NODE_FIELD(keys);
2570  COMPARE_NODE_FIELD(exclusions);
2572  COMPARE_STRING_FIELD(indexname);
2573  COMPARE_STRING_FIELD(indexspace);
2574  COMPARE_STRING_FIELD(access_method);
2575  COMPARE_NODE_FIELD(where_clause);
2576  COMPARE_NODE_FIELD(pktable);
2577  COMPARE_NODE_FIELD(fk_attrs);
2578  COMPARE_NODE_FIELD(pk_attrs);
2579  COMPARE_SCALAR_FIELD(fk_matchtype);
2580  COMPARE_SCALAR_FIELD(fk_upd_action);
2581  COMPARE_SCALAR_FIELD(fk_del_action);
2582  COMPARE_NODE_FIELD(old_conpfeqop);
2583  COMPARE_SCALAR_FIELD(old_pktable_oid);
2584  COMPARE_SCALAR_FIELD(skip_validation);
2585  COMPARE_SCALAR_FIELD(initially_valid);
2586 
2587  return true;
2588 }
#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 2072 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2073 {
2074  COMPARE_NODE_FIELD(constraints);
2075  COMPARE_SCALAR_FIELD(deferred);
2076 
2077  return true;
2078 }
#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 1216 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and filename.

Referenced by equal().

1217 {
1218  COMPARE_NODE_FIELD(relation);
1219  COMPARE_NODE_FIELD(query);
1220  COMPARE_NODE_FIELD(attlist);
1221  COMPARE_SCALAR_FIELD(is_from);
1222  COMPARE_SCALAR_FIELD(is_program);
1225 
1226  return true;
1227 }
#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:90
#define COMPARE_SCALAR_FIELD(fldname)
Definition: equalfuncs.c:45
static bool _equalCreateAmStmt ( const CreateAmStmt a,
const CreateAmStmt b 
)
static

Definition at line 1959 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1960 {
1961  COMPARE_STRING_FIELD(amname);
1962  COMPARE_NODE_FIELD(handler_name);
1963  COMPARE_SCALAR_FIELD(amtype);
1964 
1965  return true;
1966 }
#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 2115 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2116 {
2117  COMPARE_NODE_FIELD(sourcetype);
2118  COMPARE_NODE_FIELD(targettype);
2119  COMPARE_NODE_FIELD(func);
2120  COMPARE_SCALAR_FIELD(context);
2121  COMPARE_SCALAR_FIELD(inout);
2122 
2123  return true;
2124 }
#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 2103 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2104 {
2105  COMPARE_NODE_FIELD(conversion_name);
2106  COMPARE_STRING_FIELD(for_encoding_name);
2107  COMPARE_STRING_FIELD(to_encoding_name);
2108  COMPARE_NODE_FIELD(func_name);
2109  COMPARE_SCALAR_FIELD(def);
2110 
2111  return true;
2112 }
#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 1628 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

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

Definition at line 1571 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1519 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1990 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1991 {
1992  COMPARE_STRING_FIELD(trigname);
1993  COMPARE_STRING_FIELD(eventname);
1994  COMPARE_NODE_FIELD(whenclause);
1995  COMPARE_NODE_FIELD(funcname);
1996 
1997  return true;
1998 }
#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 1817 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1818 {
1819  COMPARE_STRING_FIELD(extname);
1820  COMPARE_SCALAR_FIELD(if_not_exists);
1822 
1823  return true;
1824 }
#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 1847 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1848 {
1849  COMPARE_STRING_FIELD(fdwname);
1850  COMPARE_NODE_FIELD(func_options);
1852 
1853  return true;
1854 }
#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 1867 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1868 {
1869  COMPARE_STRING_FIELD(servername);
1870  COMPARE_STRING_FIELD(servertype);
1871  COMPARE_STRING_FIELD(version);
1872  COMPARE_STRING_FIELD(fdwname);
1873  COMPARE_SCALAR_FIELD(if_not_exists);
1875 
1876  return true;
1877 }
#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 1922 of file equalfuncs.c.

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

Referenced by equal().

1923 {
1924  if (!_equalCreateStmt(&a->base, &b->base))
1925  return false;
1926 
1927  COMPARE_STRING_FIELD(servername);
1929 
1930  return true;
1931 }
#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:1230
static bool _equalCreateFunctionStmt ( const CreateFunctionStmt a,
const CreateFunctionStmt b 
)
static

Definition at line 1362 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1363 {
1364  COMPARE_SCALAR_FIELD(replace);
1365  COMPARE_NODE_FIELD(funcname);
1366  COMPARE_NODE_FIELD(parameters);
1367  COMPARE_NODE_FIELD(returnType);
1369  COMPARE_NODE_FIELD(withClause);
1370 
1371  return true;
1372 }
#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 1595 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and name.

Referenced by equal().

1596 {
1597  COMPARE_SCALAR_FIELD(itemtype);
1599  COMPARE_SCALAR_FIELD(number);
1600  COMPARE_NODE_FIELD(order_family);
1601  COMPARE_NODE_FIELD(class_args);
1602  COMPARE_NODE_FIELD(storedtype);
1603 
1604  return true;
1605 }
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 1582 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1583 {
1584  COMPARE_NODE_FIELD(opclassname);
1585  COMPARE_NODE_FIELD(opfamilyname);
1586  COMPARE_STRING_FIELD(amname);
1587  COMPARE_NODE_FIELD(datatype);
1588  COMPARE_NODE_FIELD(items);
1589  COMPARE_SCALAR_FIELD(isDefault);
1590 
1591  return true;
1592 }
#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 1608 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1609 {
1610  COMPARE_NODE_FIELD(opfamilyname);
1611  COMPARE_STRING_FIELD(amname);
1612 
1613  return true;
1614 }
#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 2010 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2011 {
2012  COMPARE_SCALAR_FIELD(replace);
2013  COMPARE_STRING_FIELD(plname);
2014  COMPARE_NODE_FIELD(plhandler);
2015  COMPARE_NODE_FIELD(plinline);
2016  COMPARE_NODE_FIELD(plvalidator);
2017  COMPARE_SCALAR_FIELD(pltrusted);
2018 
2019  return true;
2020 }
#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 2257 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2258 {
2259  COMPARE_STRING_FIELD(policy_name);
2260  COMPARE_NODE_FIELD(table);
2261  COMPARE_STRING_FIELD(cmd_name);
2262  COMPARE_SCALAR_FIELD(permissive);
2263  COMPARE_NODE_FIELD(roles);
2264  COMPARE_NODE_FIELD(qual);
2265  COMPARE_NODE_FIELD(with_check);
2266 
2267  return true;
2268 }
#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 2196 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2198 {
2199  COMPARE_STRING_FIELD(pubname);
2201  COMPARE_NODE_FIELD(tables);
2202  COMPARE_SCALAR_FIELD(for_all_tables);
2203 
2204  return true;
2205 }
#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 1528 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 2023 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2024 {
2025  COMPARE_SCALAR_FIELD(stmt_type);
2026  COMPARE_STRING_FIELD(role);
2028 
2029  return true;
2030 }
#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 2092 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2093 {
2094  COMPARE_STRING_FIELD(schemaname);
2095  COMPARE_NODE_FIELD(authrole);
2096  COMPARE_NODE_FIELD(schemaElts);
2097  COMPARE_SCALAR_FIELD(if_not_exists);
2098 
2099  return true;
2100 }
#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 1723 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1724 {
1725  COMPARE_NODE_FIELD(sequence);
1727  COMPARE_SCALAR_FIELD(ownerId);
1728  COMPARE_SCALAR_FIELD(for_identity);
1729  COMPARE_SCALAR_FIELD(if_not_exists);
1730 
1731  return true;
1732 }
#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 1350 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1351 {
1352  COMPARE_NODE_FIELD(defnames);
1353  COMPARE_NODE_FIELD(stat_types);
1354  COMPARE_NODE_FIELD(exprs);
1355  COMPARE_NODE_FIELD(relations);
1356  COMPARE_SCALAR_FIELD(if_not_exists);
1357 
1358  return true;
1359 }
#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 1230 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by _equalCreateForeignTableStmt(), and equal().

1231 {
1232  COMPARE_NODE_FIELD(relation);
1233  COMPARE_NODE_FIELD(tableElts);
1234  COMPARE_NODE_FIELD(inhRelations);
1235  COMPARE_NODE_FIELD(partbound);
1236  COMPARE_NODE_FIELD(partspec);
1237  COMPARE_NODE_FIELD(ofTypename);
1238  COMPARE_NODE_FIELD(constraints);
1240  COMPARE_SCALAR_FIELD(oncommit);
1241  COMPARE_STRING_FIELD(tablespacename);
1242  COMPARE_SCALAR_FIELD(if_not_exists);
1243 
1244  return true;
1245 }
#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 2221 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2223 {
2224  COMPARE_STRING_FIELD(subname);
2225  COMPARE_STRING_FIELD(conninfo);
2226  COMPARE_NODE_FIELD(publication);
2228 
2229  return true;
2230 }
#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 1683 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1684 {
1685  COMPARE_NODE_FIELD(query);
1686  COMPARE_NODE_FIELD(into);
1687  COMPARE_SCALAR_FIELD(relkind);
1688  COMPARE_SCALAR_FIELD(is_select_into);
1689  COMPARE_SCALAR_FIELD(if_not_exists);
1690 
1691  return true;
1692 }
#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 1773 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1774 {
1775  COMPARE_STRING_FIELD(tablespacename);
1776  COMPARE_NODE_FIELD(owner);
1777  COMPARE_STRING_FIELD(location);
1779 
1780  return true;
1781 }
#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 1947 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1948 {
1949  COMPARE_SCALAR_FIELD(replace);
1950  COMPARE_NODE_FIELD(type_name);
1951  COMPARE_STRING_FIELD(lang);
1952  COMPARE_NODE_FIELD(fromsql);
1953  COMPARE_NODE_FIELD(tosql);
1954 
1955  return true;
1956 }
#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 1969 of file equalfuncs.c.

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

Referenced by equal().

1970 {
1971  COMPARE_STRING_FIELD(trigname);
1972  COMPARE_NODE_FIELD(relation);
1973  COMPARE_NODE_FIELD(funcname);
1975  COMPARE_SCALAR_FIELD(row);
1976  COMPARE_SCALAR_FIELD(timing);
1977  COMPARE_SCALAR_FIELD(events);
1978  COMPARE_NODE_FIELD(columns);
1979  COMPARE_NODE_FIELD(whenClause);
1980  COMPARE_SCALAR_FIELD(isconstraint);
1981  COMPARE_NODE_FIELD(transitionRels);
1982  COMPARE_SCALAR_FIELD(deferrable);
1983  COMPARE_SCALAR_FIELD(initdeferred);
1984  COMPARE_NODE_FIELD(constrrel);
1985 
1986  return true;
1987 }
#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 1891 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and user.

Referenced by equal().

1892 {
1894  COMPARE_STRING_FIELD(servername);
1895  COMPARE_SCALAR_FIELD(if_not_exists);
1897 
1898  return true;
1899 }
#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 2146 of file equalfuncs.c.

References COMPARE_STRING_FIELD, and name.

Referenced by equal().

2147 {
2149 
2150  return true;
2151 }
#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 1188 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1189 {
1190  COMPARE_STRING_FIELD(portalname);
1192  COMPARE_NODE_FIELD(query);
1193 
1194  return true;
1195 }
#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 2591 of file equalfuncs.c.

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

Referenced by equal().

2592 {
2593  COMPARE_STRING_FIELD(defnamespace);
2594  COMPARE_STRING_FIELD(defname);
2596  COMPARE_SCALAR_FIELD(defaction);
2597  COMPARE_LOCATION_FIELD(location);
2598 
2599  return true;
2600 }
#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 1257 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1258 {
1259  COMPARE_SCALAR_FIELD(kind);
1260  COMPARE_SCALAR_FIELD(oldstyle);
1261  COMPARE_NODE_FIELD(defnames);
1263  COMPARE_NODE_FIELD(definition);
1264  COMPARE_SCALAR_FIELD(if_not_exists);
1265 
1266  return true;
1267 }
#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 1765 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

1766 {
1767  COMPARE_SCALAR_FIELD(target);
1768 
1769  return true;
1770 }
#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 1395 of file equalfuncs.c.

References generate_unaccent_rules::args, and COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1655 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and dbname.

Referenced by equal().

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

Definition at line 2154 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2155 {
2156  COMPARE_NODE_FIELD(roles);
2157  COMPARE_SCALAR_FIELD(behavior);
2158 
2159  return true;
2160 }
#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 2053 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2054 {
2055  COMPARE_NODE_FIELD(roles);
2056  COMPARE_SCALAR_FIELD(missing_ok);
2057 
2058  return true;
2059 }
#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 1270 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1271 {
1272  COMPARE_NODE_FIELD(objects);
1273  COMPARE_SCALAR_FIELD(removeType);
1274  COMPARE_SCALAR_FIELD(behavior);
1275  COMPARE_SCALAR_FIELD(missing_ok);
1276  COMPARE_SCALAR_FIELD(concurrent);
1277 
1278  return true;
1279 }
#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 2246 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2248 {
2249  COMPARE_STRING_FIELD(subname);
2250  COMPARE_SCALAR_FIELD(missing_ok);
2251  COMPARE_SCALAR_FIELD(behavior);
2252 
2253  return true;
2254 }
#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 1784 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1785 {
1786  COMPARE_STRING_FIELD(tablespacename);
1787  COMPARE_SCALAR_FIELD(missing_ok);
1788 
1789  return true;
1790 }
#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 1912 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and user.

Referenced by equal().

1913 {
1915  COMPARE_STRING_FIELD(servername);
1916  COMPARE_SCALAR_FIELD(missing_ok);
1917 
1918  return true;
1919 }
#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 2137 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2138 {
2140  COMPARE_NODE_FIELD(params);
2141 
2142  return true;
2143 }
#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 1674 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

1675 {
1676  COMPARE_NODE_FIELD(query);
1678 
1679  return true;
1680 }
#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 1313 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1314 {
1315  COMPARE_SCALAR_FIELD(direction);
1316  COMPARE_SCALAR_FIELD(howMany);
1317  COMPARE_STRING_FIELD(portalname);
1318  COMPARE_SCALAR_FIELD(ismove);
1319 
1320  return true;
1321 }
#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 2323 of file equalfuncs.c.

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

Referenced by equal().

2324 {
2325  COMPARE_NODE_FIELD(funcname);
2327  COMPARE_NODE_FIELD(agg_order);
2328  COMPARE_NODE_FIELD(agg_filter);
2329  COMPARE_SCALAR_FIELD(agg_within_group);
2330  COMPARE_SCALAR_FIELD(agg_star);
2331  COMPARE_SCALAR_FIELD(agg_distinct);
2332  COMPARE_SCALAR_FIELD(func_variadic);
2333  COMPARE_NODE_FIELD(over);
2334  COMPARE_LOCATION_FIELD(location);
2335 
2336  return true;
2337 }
#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 1375 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1376 {
1378  COMPARE_NODE_FIELD(argType);
1379  COMPARE_SCALAR_FIELD(mode);
1380  COMPARE_NODE_FIELD(defexpr);
1381 
1382  return true;
1383 }
#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 1166 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1167 {
1168  COMPARE_NODE_FIELD(granted_roles);
1169  COMPARE_NODE_FIELD(grantee_roles);
1170  COMPARE_SCALAR_FIELD(is_grant);
1171  COMPARE_SCALAR_FIELD(admin_opt);
1172  COMPARE_NODE_FIELD(grantor);
1173  COMPARE_SCALAR_FIELD(behavior);
1174 
1175  return true;
1176 }
#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 1132 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1133 {
1134  COMPARE_SCALAR_FIELD(is_grant);
1135  COMPARE_SCALAR_FIELD(targtype);
1136  COMPARE_SCALAR_FIELD(objtype);
1137  COMPARE_NODE_FIELD(objects);
1138  COMPARE_NODE_FIELD(privileges);
1139  COMPARE_NODE_FIELD(grantees);
1140  COMPARE_SCALAR_FIELD(grant_option);
1141  COMPARE_SCALAR_FIELD(behavior);
1142 
1143  return true;
1144 }
#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 2699 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2700 {
2701  COMPARE_SCALAR_FIELD(kind);
2702  COMPARE_NODE_FIELD(content);
2703  COMPARE_LOCATION_FIELD(location);
2704 
2705  return true;
2706 }
#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 1934 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1935 {
1936  COMPARE_STRING_FIELD(server_name);
1937  COMPARE_STRING_FIELD(remote_schema);
1938  COMPARE_STRING_FIELD(local_schema);
1939  COMPARE_SCALAR_FIELD(list_type);
1940  COMPARE_NODE_FIELD(table_list);
1942 
1943  return true;
1944 }
#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 2521 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2522 {
2524  COMPARE_NODE_FIELD(expr);
2525  COMPARE_STRING_FIELD(indexcolname);
2526  COMPARE_NODE_FIELD(collation);
2527  COMPARE_NODE_FIELD(opclass);
2528  COMPARE_SCALAR_FIELD(ordering);
2529  COMPARE_SCALAR_FIELD(nulls_ordering);
2530 
2531  return true;
2532 }
#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 1324 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1325 {
1326  COMPARE_STRING_FIELD(idxname);
1327  COMPARE_NODE_FIELD(relation);
1328  COMPARE_STRING_FIELD(accessMethod);
1329  COMPARE_STRING_FIELD(tableSpace);
1330  COMPARE_NODE_FIELD(indexParams);
1332  COMPARE_NODE_FIELD(whereClause);
1333  COMPARE_NODE_FIELD(excludeOpNames);
1334  COMPARE_STRING_FIELD(idxcomment);
1335  COMPARE_SCALAR_FIELD(indexOid);
1336  COMPARE_SCALAR_FIELD(oldNode);
1337  COMPARE_SCALAR_FIELD(unique);
1338  COMPARE_SCALAR_FIELD(primary);
1339  COMPARE_SCALAR_FIELD(isconstraint);
1340  COMPARE_SCALAR_FIELD(deferrable);
1341  COMPARE_SCALAR_FIELD(initdeferred);
1342  COMPARE_SCALAR_FIELD(transformed);
1343  COMPARE_SCALAR_FIELD(concurrent);
1344  COMPARE_SCALAR_FIELD(if_not_exists);
1345 
1346  return true;
1347 }
#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 2746 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2747 {
2748  COMPARE_NODE_FIELD(indexElems);
2749  COMPARE_NODE_FIELD(whereClause);
2750  COMPARE_STRING_FIELD(conname);
2751  COMPARE_LOCATION_FIELD(location);
2752 
2753  return true;
2754 }
#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 2875 of file equalfuncs.c.

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

Referenced by equal().

2876 {
2877  const ListCell *item_a;
2878  const ListCell *item_b;
2879 
2880  /*
2881  * Try to reject by simple scalar checks before grovelling through all the
2882  * list elements...
2883  */
2884  COMPARE_SCALAR_FIELD(type);
2886 
2887  /*
2888  * We place the switch outside the loop for the sake of efficiency; this
2889  * may not be worth doing...
2890  */
2891  switch (a->type)
2892  {
2893  case T_List:
2894  forboth(item_a, a, item_b, b)
2895  {
2896  if (!equal(lfirst(item_a), lfirst(item_b)))
2897  return false;
2898  }
2899  break;
2900  case T_IntList:
2901  forboth(item_a, a, item_b, b)
2902  {
2903  if (lfirst_int(item_a) != lfirst_int(item_b))
2904  return false;
2905  }
2906  break;
2907  case T_OidList:
2908  forboth(item_a, a, item_b, b)
2909  {
2910  if (lfirst_oid(item_a) != lfirst_oid(item_b))
2911  return false;
2912  }
2913  break;
2914  default:
2915  elog(ERROR, "unrecognized list node type: %d",
2916  (int) a->type);
2917  return false; /* keep compiler quiet */
2918  }
2919 
2920  /*
2921  * If we got here, we should have run out of elements of both lists
2922  */
2923  Assert(item_a == NULL);
2924  Assert(item_b == NULL);
2925 
2926  return true;
2927 }
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:2964
#define ERROR
Definition: elog.h:43
#define lfirst_int(lc)
Definition: pg_list.h:107
Definition: nodes.h:291
#define Assert(condition)
Definition: c.h:664
#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 1484 of file equalfuncs.c.

References COMPARE_STRING_FIELD.

Referenced by equal().

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

Definition at line 1563 of file equalfuncs.c.

References COMPARE_STRING_FIELD, and filename.

Referenced by equal().

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

Definition at line 2603 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2604 {
2605  COMPARE_NODE_FIELD(lockedRels);
2606  COMPARE_SCALAR_FIELD(strength);
2607  COMPARE_SCALAR_FIELD(waitPolicy);
2608 
2609  return true;
2610 }
#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 2062 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2063 {
2064  COMPARE_NODE_FIELD(relations);
2065  COMPARE_SCALAR_FIELD(mode);
2066  COMPARE_SCALAR_FIELD(nowait);
2067 
2068  return true;
2069 }
#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 2385 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2386 {
2387  COMPARE_NODE_FIELD(source);
2388  COMPARE_SCALAR_FIELD(colno);
2389  COMPARE_SCALAR_FIELD(ncolumns);
2390 
2391  return true;
2392 }
#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 1475 of file equalfuncs.c.

References COMPARE_STRING_FIELD.

Referenced by equal().

1476 {
1477  COMPARE_STRING_FIELD(conditionname);
1478  COMPARE_STRING_FIELD(payload);
1479 
1480  return true;
1481 }
#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 1147 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1148 {
1149  COMPARE_NODE_FIELD(objname);
1150  COMPARE_NODE_FIELD(objargs);
1151  COMPARE_SCALAR_FIELD(args_unspecified);
1152 
1153  return true;
1154 }
#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 2757 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2758 {
2759  COMPARE_SCALAR_FIELD(action);
2760  COMPARE_NODE_FIELD(infer);
2761  COMPARE_NODE_FIELD(targetList);
2762  COMPARE_NODE_FIELD(whereClause);
2763  COMPARE_LOCATION_FIELD(location);
2764 
2765  return true;
2766 }
#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 2304 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2305 {
2306  COMPARE_SCALAR_FIELD(number);
2307  COMPARE_LOCATION_FIELD(location);
2308 
2309  return true;
2310 }
#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 2839 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2840 {
2841  COMPARE_SCALAR_FIELD(strategy);
2842  COMPARE_SCALAR_FIELD(is_default);
2843  COMPARE_NODE_FIELD(listdatums);
2844  COMPARE_NODE_FIELD(lowerdatums);
2845  COMPARE_NODE_FIELD(upperdatums);
2846  COMPARE_LOCATION_FIELD(location);
2847 
2848  return true;
2849 }
#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 2862 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and name.

Referenced by equal().

2863 {
2865  COMPARE_NODE_FIELD(bound);
2866 
2867  return true;
2868 }
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 2817 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2818 {
2820  COMPARE_NODE_FIELD(expr);
2821  COMPARE_NODE_FIELD(collation);
2822  COMPARE_NODE_FIELD(opclass);
2823  COMPARE_LOCATION_FIELD(location);
2824 
2825  return true;
2826 }
#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 2852 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and value.

Referenced by equal().

2853 {
2854  COMPARE_SCALAR_FIELD(kind);
2856  COMPARE_LOCATION_FIELD(location);
2857 
2858  return true;
2859 }
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 2829 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2830 {
2831  COMPARE_STRING_FIELD(strategy);
2832  COMPARE_NODE_FIELD(partParams);
2833  COMPARE_LOCATION_FIELD(location);
2834 
2835  return true;
2836 }
#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 2127 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2128 {
2130  COMPARE_NODE_FIELD(argtypes);
2131  COMPARE_NODE_FIELD(query);
2132 
2133  return true;
2134 }
#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 2467 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and functions.

Referenced by equal().

2468 {
2469  COMPARE_SCALAR_FIELD(lateral);
2470  COMPARE_SCALAR_FIELD(ordinality);
2471  COMPARE_SCALAR_FIELD(is_rowsfrom);
2473  COMPARE_NODE_FIELD(alias);
2474  COMPARE_NODE_FIELD(coldeflist);
2475 
2476  return true;
2477 }
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 2457 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2458 {
2459  COMPARE_SCALAR_FIELD(lateral);
2460  COMPARE_NODE_FIELD(subquery);
2461  COMPARE_NODE_FIELD(alias);
2462 
2463  return true;
2464 }
#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 2492 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2493 {
2494  COMPARE_SCALAR_FIELD(lateral);
2495  COMPARE_NODE_FIELD(docexpr);
2496  COMPARE_NODE_FIELD(rowexpr);
2497  COMPARE_NODE_FIELD(namespaces);
2498  COMPARE_NODE_FIELD(columns);
2499  COMPARE_NODE_FIELD(alias);
2500  COMPARE_LOCATION_FIELD(location);
2501 
2502  return true;
2503 }
#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 2506 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2507 {
2508  COMPARE_STRING_FIELD(colname);
2509  COMPARE_NODE_FIELD(typeName);
2510  COMPARE_SCALAR_FIELD(for_ordinality);
2511  COMPARE_SCALAR_FIELD(is_not_null);
2512  COMPARE_NODE_FIELD(colexpr);
2513  COMPARE_NODE_FIELD(coldefexpr);
2514  COMPARE_LOCATION_FIELD(location);
2515 
2516  return true;
2517 }
#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 2480 of file equalfuncs.c.

References generate_unaccent_rules::args, COMPARE_LOCATION_FIELD, and COMPARE_NODE_FIELD.

Referenced by equal().

2481 {
2482  COMPARE_NODE_FIELD(relation);
2483  COMPARE_NODE_FIELD(method);
2485  COMPARE_NODE_FIELD(repeatable);
2486  COMPARE_LOCATION_FIELD(location);
2487 
2488  return true;
2489 }
#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 2613 of file equalfuncs.c.

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

Referenced by equal().

2614 {
2615  COMPARE_SCALAR_FIELD(rtekind);
2616  COMPARE_SCALAR_FIELD(relid);
2617  COMPARE_SCALAR_FIELD(relkind);
2618  COMPARE_NODE_FIELD(tablesample);
2619  COMPARE_NODE_FIELD(subquery);
2620  COMPARE_SCALAR_FIELD(security_barrier);
2621  COMPARE_SCALAR_FIELD(jointype);
2622  COMPARE_NODE_FIELD(joinaliasvars);
2624  COMPARE_SCALAR_FIELD(funcordinality);
2625  COMPARE_NODE_FIELD(tablefunc);
2626  COMPARE_NODE_FIELD(values_lists);
2627  COMPARE_STRING_FIELD(ctename);
2628  COMPARE_SCALAR_FIELD(ctelevelsup);
2629  COMPARE_SCALAR_FIELD(self_reference);
2630  COMPARE_NODE_FIELD(coltypes);
2631  COMPARE_NODE_FIELD(coltypmods);
2632  COMPARE_NODE_FIELD(colcollations);
2633  COMPARE_STRING_FIELD(enrname);
2634  COMPARE_SCALAR_FIELD(enrtuples);
2635  COMPARE_NODE_FIELD(alias);
2636  COMPARE_NODE_FIELD(eref);
2637  COMPARE_SCALAR_FIELD(lateral);
2638  COMPARE_SCALAR_FIELD(inh);
2639  COMPARE_SCALAR_FIELD(inFromCl);
2640  COMPARE_SCALAR_FIELD(requiredPerms);
2641  COMPARE_SCALAR_FIELD(checkAsUser);
2642  COMPARE_BITMAPSET_FIELD(selectedCols);
2643  COMPARE_BITMAPSET_FIELD(insertedCols);
2644  COMPARE_BITMAPSET_FIELD(updatedCols);
2645  COMPARE_NODE_FIELD(securityQuals);
2646 
2647  return true;
2648 }
#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 2651 of file equalfuncs.c.

References COMPARE_BITMAPSET_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2652 {
2653  COMPARE_NODE_FIELD(funcexpr);
2654  COMPARE_SCALAR_FIELD(funccolcount);
2655  COMPARE_NODE_FIELD(funccolnames);
2656  COMPARE_NODE_FIELD(funccoltypes);
2657  COMPARE_NODE_FIELD(funccoltypmods);
2658  COMPARE_NODE_FIELD(funccolcollations);
2659  COMPARE_BITMAPSET_FIELD(funcparams);
2660 
2661  return true;
2662 }
#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 2163 of file equalfuncs.c.

References COMPARE_NODE_FIELD.

Referenced by equal().

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

Definition at line 1695 of file equalfuncs.c.

References COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

1696 {
1697  COMPARE_SCALAR_FIELD(concurrent);
1698  COMPARE_SCALAR_FIELD(skipData);
1699  COMPARE_NODE_FIELD(relation);
1700 
1701  return true;
1702 }
#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 2081 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

2082 {
2083  COMPARE_SCALAR_FIELD(kind);
2084  COMPARE_NODE_FIELD(relation);
2087 
2088  return true;
2089 }
#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 1403 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1404 {
1405  COMPARE_SCALAR_FIELD(renameType);
1406  COMPARE_SCALAR_FIELD(relationType);
1407  COMPARE_NODE_FIELD(relation);
1408  COMPARE_NODE_FIELD(object);
1409  COMPARE_STRING_FIELD(subname);
1410  COMPARE_STRING_FIELD(newname);
1411  COMPARE_SCALAR_FIELD(behavior);
1412  COMPARE_SCALAR_FIELD(missing_ok);
1413 
1414  return true;
1415 }
#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 1705 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and name.

Referenced by equal().

1706 {
1707  COMPARE_SCALAR_FIELD(identity_type);
1709 
1710  return true;
1711 }
#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 2374 of file equalfuncs.c.

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

Referenced by equal().

2375 {
2377  COMPARE_NODE_FIELD(indirection);
2379  COMPARE_LOCATION_FIELD(location);
2380 
2381  return true;
2382 }
#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 2797 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

2798 {
2799  COMPARE_SCALAR_FIELD(roletype);
2800  COMPARE_STRING_FIELD(rolename);
2801  COMPARE_LOCATION_FIELD(location);
2802 
2803  return true;
2804 }
#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 2725 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

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

Definition at line 1461 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, and COMPARE_STRING_FIELD.

Referenced by equal().

1462 {
1463  COMPARE_NODE_FIELD(relation);
1464  COMPARE_STRING_FIELD(rulename);
1465  COMPARE_NODE_FIELD(whereClause);
1466  COMPARE_SCALAR_FIELD(event);
1467  COMPARE_SCALAR_FIELD(instead);
1468  COMPARE_NODE_FIELD(actions);
1469  COMPARE_SCALAR_FIELD(replace);
1470 
1471  return true;
1472 }
#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 1302 of file equalfuncs.c.

References COMPARE_NODE_FIELD, COMPARE_SCALAR_FIELD, COMPARE_STRING_FIELD, and label.

Referenced by equal().

1303 {
1304  COMPARE_SCALAR_FIELD(objtype);
1305  COMPARE_NODE_FIELD(object);
1306  COMPARE_STRING_FIELD(provider);
1308 
1309  return true;
1310 }
#define COMPARE_STRING_FIELD(fldname)
Definition: equalfuncs.c:66
static char * label
Definition: pg_basebackup.c:82
#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 2430 of file equalfuncs.c.

References COMPARE_LOCATION_FIELD, COMPARE_NODE_FIELD, and COMPARE_SCALAR_FIELD.

Referenced by equal().

2431 {
2432  COMPARE_NODE_FIELD(node);
2433  COMPARE_SCALAR_FIELD(sortby_dir);
2434  COMPARE_SCALAR_FIELD(sortby_nulls);
2435  COMPARE_NODE_FIELD(useOp);
2436  COMPARE_LOCATION_FIELD(location);
2437 
2438  return true;
2439 }
#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 2687 of file equalfuncs.c.

References COMPARE_SCALAR_FIELD.

Referenced by equal().

2688 {
2689  COMPARE_SCALAR_FIELD(tleSortGroupRef);
2690  COMPARE_SCALAR_FIELD(eqop);
2691  COMPARE_SCALAR_FIELD(sortop);
2692  COMPARE_SCALAR_FIELD(nulls_first);
2693  COMPARE_SCALAR_FIELD(hashable);
2694 
2695  return true;
2696 }
#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);
130  COMPARE_NODE_FIELD(colexprs);
131  COMPARE_NODE_FIELD(coldefexprs);
132