diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-11-29 21:39:12 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-11-29 21:39:12 +0000 |
commit | f68f11928d5c791873073c882775dae10283ff49 (patch) | |
tree | 628e4491fe33cdafb0e205d73e29b154ef68f94b /src/backend/utils/adt/ri_triggers.c | |
parent | 851a4c48fd468b15ef988d5d2c79a44246dd478d (diff) | |
download | postgresql-f68f11928d5c791873073c882775dae10283ff49.tar.gz |
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.
Diffstat (limited to 'src/backend/utils/adt/ri_triggers.c')
-rw-r--r-- | src/backend/utils/adt/ri_triggers.c | 9 |
1 files changed, 2 insertions, 7 deletions
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 |