Split out tiebreaker comparisons from comparetup_* functions
John Naylor <john.naylor@postgresql.org>
Split out tiebreaker comparisons from comparetup_* functions Previously, if a specialized comparator found equal datum1 keys, the "comparetup" function would repeat the comparison on the datum before proceeding with the unabbreviated first key and/or additional sort keys. Move comparing additional sort keys into "tiebreak" functions so that specialized comparators can call these directly if needed, avoiding duplicate work. Reviewed by David Rowley Discussion: https://postgr.es/m/CAFBsxsGaVfUrjTghpf%3DkDBYY%3DjWx1PN-fuusVe7Vw5s0XqGdGw%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/sort/tuplesort.c | modified | +3 −6 |
| src/backend/utils/sort/tuplesortvariants.c | modified | +98 −27 |
| src/include/utils/tuplesort.h | modified | +7 −0 |
Discussion
- Todo: Teach planner to evaluate multiple windows in the optimal order 75 messages · 2022-12-25 → 2023-08-16