Tighten selection of equality and ordering operators for grouping
Tom Lane <tgl@sss.pgh.pa.us>
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.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/analyze.c | modified | +3 −9 |
| src/backend/executor/nodeAgg.c | modified | +3 −8 |
| src/backend/executor/nodeGroup.c | modified | +2 −6 |
| src/backend/optimizer/plan/planner.c | modified | +36 −2 |
| src/backend/parser/parse_clause.c | modified | +5 −6 |
| src/backend/parser/parse_oper.c | modified | +105 −33 |
| src/backend/utils/adt/ri_triggers.c | modified | +2 −7 |
| src/include/parser/parse_oper.h | modified | +9 −8 |