Split out tiebreaker comparisons from comparetup_* functions
authorJohn Naylor
Wed, 16 Aug 2023 10:15:07 +0000 (17:15 +0700)
committerJohn Naylor
Wed, 16 Aug 2023 10:15:07 +0000 (17:15 +0700)
commitc9bfa40914be4a0882b904834c2bd32775a50d7b
tree29e19fb1b155ff294626d8d3a31ceace4e889edf
parent89be0b89ae60c63856fd26d82a104781540e2312
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
src/backend/utils/sort/tuplesort.c
src/backend/utils/sort/tuplesortvariants.c
src/include/utils/tuplesort.h