From f68f11928d5c791873073c882775dae10283ff49 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Nov 2002 21:39:12 +0000 Subject: Tighten selection of equality and ordering operators for grouping operations: make sure we use operators that are compatible, as determined by a mergejoin link in pg_operator. Also, add code to planner to ensure we don't try to use hashed grouping when the grouping operators aren't marked hashable. --- src/backend/utils/adt/ri_triggers.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/backend/utils/adt/ri_triggers.c') diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c index 76cc1bdb54..4b9cbfbaa3 100644 --- a/src/backend/utils/adt/ri_triggers.c +++ b/src/backend/utils/adt/ri_triggers.c @@ -17,7 +17,7 @@ * * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.43 2002/10/03 21:06:23 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.44 2002/11/29 21:39:11 tgl Exp $ * * ---------- */ @@ -3669,12 +3669,7 @@ ri_AttributesEqual(Oid typeid, Datum oldvalue, Datum newvalue) Oid opr_proc; FmgrInfo finfo; - opr_proc = compatible_oper_funcid(makeList1(makeString("=")), - typeid, typeid, true); - if (!OidIsValid(opr_proc)) - elog(ERROR, - "ri_AttributesEqual(): cannot find '=' operator for type %u", - typeid); + opr_proc = equality_oper_funcid(typeid); /* * Since fmgr_info could fail, call it *before* creating the -- cgit v1.2.1