hi, commit 337b6f5ecf05b21b5e997986884d097d60e4e3d0 marked comparetup_datum "should not be called" but actually it is called for eg. tape-based sort.
a testcase: select generate_series(1,1000000) a into t; set maintenance_work_mem=1024; create index concurrently i on t (a); YAMAMOTO Takashi diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c index d8e5d68..ea8eca6 100644 --- a/src/backend/utils/sort/tuplesort.c +++ b/src/backend/utils/sort/tuplesort.c @@ -3243,9 +3243,9 @@ reversedirection_index_hash(Tuplesortstate *state) static int comparetup_datum(const SortTuple *a, const SortTuple *b, Tuplesortstate *state) { - /* Not currently needed */ - elog(ERROR, "comparetup_datum() should not be called"); - return 0; + return ApplySortComparator(a->datum1, a->isnull1, + b->datum1, b->isnull1, + state->onlyKey); } static void -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs