PostgreSQL Source Code git master
|
#include "postgres.h"
#include "miscadmin.h"
#include "utils/datum.h"
#include "equalfuncs.funcs.c"
#include "equalfuncs.switch.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_ARRAY_FIELD(fldname) |
#define | COMPARE_POINTER_FIELD(fldname, sz) |
#define | COMPARE_LOCATION_FIELD(fldname) ((void) 0) |
#define | COMPARE_COERCIONFORM_FIELD(fldname) ((void) 0) |
Functions | |
static bool | _equalConst (const Const *a, const Const *b) |
static bool | _equalExtensibleNode (const ExtensibleNode *a, const ExtensibleNode *b) |
static bool | _equalA_Const (const A_Const *a, const A_Const *b) |
static bool | _equalBitmapset (const Bitmapset *a, const Bitmapset *b) |
static bool | _equalList (const List *a, const List *b) |
bool | equal (const void *a, const void *b) |
#define COMPARE_ARRAY_FIELD | ( | fldname | ) |
#define COMPARE_BITMAPSET_FIELD | ( | fldname | ) |
Definition at line 48 of file equalfuncs.c.
#define COMPARE_COERCIONFORM_FIELD | ( | fldname | ) | ((void) 0) |
Definition at line 84 of file equalfuncs.c.
#define COMPARE_LOCATION_FIELD | ( | fldname | ) | ((void) 0) |
Definition at line 80 of file equalfuncs.c.
#define COMPARE_NODE_FIELD | ( | fldname | ) |
Definition at line 41 of file equalfuncs.c.
#define COMPARE_POINTER_FIELD | ( | fldname, | |
sz | |||
) |
Definition at line 73 of file equalfuncs.c.
#define COMPARE_SCALAR_FIELD | ( | fldname | ) |
Definition at line 34 of file equalfuncs.c.
#define COMPARE_STRING_FIELD | ( | fldname | ) |
Definition at line 55 of file equalfuncs.c.
Definition at line 62 of file equalfuncs.c.
Definition at line 134 of file equalfuncs.c.
References a, b, COMPARE_LOCATION_FIELD, COMPARE_SCALAR_FIELD, and equal().
Definition at line 147 of file equalfuncs.c.
References a, b, and bms_equal().
Definition at line 96 of file equalfuncs.c.
References a, b, COMPARE_LOCATION_FIELD, COMPARE_SCALAR_FIELD, and datumIsEqual().
|
static |
Definition at line 117 of file equalfuncs.c.
References a, b, COMPARE_STRING_FIELD, GetExtensibleNodeMethods(), and ExtensibleNodeMethods::nodeEqual.
Definition at line 156 of file equalfuncs.c.
References a, Assert, b, COMPARE_SCALAR_FIELD, elog, equal(), ERROR, forboth, lfirst, lfirst_int, lfirst_oid, lfirst_xid, and type.
Referenced by equal().
bool equal | ( | const void * | a, |
const void * | b | ||
) |
Definition at line 223 of file equalfuncs.c.
References _equalList(), a, b, check_stack_depth(), elog, ERROR, and nodeTag.
Referenced by _equalA_Const(), _equalList(), add_row_identity_var(), add_sp_item_to_pathtarget(), add_unique_group_var(), addRangeClause(), AlterPublicationTables(), calc_hist_selectivity_scalar(), calc_length_hist_frac(), check_new_partition_bound(), clause_is_strict_for(), CompareIndexInfo(), convert_subquery_pathkeys(), create_ordered_paths(), create_projection_path(), CreateStatistics(), deparseParam(), deparseVar(), dependencies_clauselist_selectivity(), dependency_is_compatible_expression(), ec_member_matches_foreign(), equalPolicy(), equalRuleLocks(), estimate_multivariate_ndistinct(), examine_variable(), ExecInitWindowAgg(), expand_grouping_sets(), exprs_known_equal(), finalize_grouping_exprs_walker(), find_compatible_agg(), find_ec_member_matching_expr(), find_em_for_rel_target(), find_list_position(), find_minmax_agg_replacement_param(), findTargetlistEntrySQL92(), findTargetlistEntrySQL99(), fix_expr_common(), fix_indexqual_operand(), get_eclass_for_sort_expr(), get_partition_for_tuple(), get_variable(), group_by_has_partkey(), grouping_planner(), infer_collation_opclass_match(), length_hist_bsearch(), list_delete(), list_member(), match_boolean_partition_clause(), match_clause_to_partition_key(), match_eclasses_to_foreign_key_col(), match_expr_to_partition_keys(), match_index_to_operand(), matches_boolean_partition_clause(), maybe_reread_subscription(), mcv_match_expression(), MergeAttributes(), MergeCheckConstraint(), MergeWithExistingConstraint(), operator_predicate_proof(), optimize_window_clauses(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), plan_union_children(), predicate_implied_by_simple_clause(), predicate_refuted_by_simple_clause(), preprocess_groupclause(), process_duplicate_ors(), process_equivalence(), process_matched_tle(), process_subquery_nestloop_params(), rbound_bsearch(), recomputeNamespacePath(), reconsider_full_join_clause(), reconsider_outer_join_clause(), RelationGetIndexAttrBitmap(), replace_nestloop_param_placeholdervar(), replace_nestloop_param_var(), search_indexed_tlist_for_sortgroupref(), stat_find_expression(), substitute_grouped_columns_mutator(), tlist_member(), tlist_same_exprs(), transformIndexConstraints(), transformPartitionBound(), transformWindowFuncCall(), and trivial_subqueryscan().