aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/equalfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/nodes/equalfuncs.c')
-rw-r--r--src/backend/nodes/equalfuncs.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c
index 7245fa32a0f..3f96595e8eb 100644
--- a/src/backend/nodes/equalfuncs.c
+++ b/src/backend/nodes/equalfuncs.c
@@ -728,22 +728,8 @@ _equalFromExpr(const FromExpr *a, const FromExpr *b)
static bool
_equalPathKey(const PathKey *a, const PathKey *b)
{
- /*
- * This is normally used on non-canonicalized PathKeys, so must chase up
- * to the topmost merged EquivalenceClass and see if those are the same
- * (by pointer equality).
- */
- EquivalenceClass *a_eclass;
- EquivalenceClass *b_eclass;
-
- a_eclass = a->pk_eclass;
- while (a_eclass->ec_merged)
- a_eclass = a_eclass->ec_merged;
- b_eclass = b->pk_eclass;
- while (b_eclass->ec_merged)
- b_eclass = b_eclass->ec_merged;
- if (a_eclass != b_eclass)
- return false;
+ /* We assume pointer equality is sufficient to compare the eclasses */
+ COMPARE_SCALAR_FIELD(pk_eclass);
COMPARE_SCALAR_FIELD(pk_opfamily);
COMPARE_SCALAR_FIELD(pk_strategy);
COMPARE_SCALAR_FIELD(pk_nulls_first);