Re: tuple radix sort

cca5507 <cca5507@qq.com>

From: cca5507 <cca5507@qq.com>
To: John Naylor <johncnaylorls@gmail.com>
Cc: zengman <zengman@halodbtech.com>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-02-13T03:25:17Z
Lists: pgsql-hackers
Hi John,

One additional comment:

```
	/* presorted check */
	for (SortTuple *st = data + 1; st < data + n; st++)
	{
		CHECK_FOR_INTERRUPTS();

		if (COMPARETUP(state, st - 1, st) > 0)
		{
			presorted = false;
			break;
		}
	}
	if (presorted)
		return;
```

I think we need to add a comment to explain why we do the
check. The cost of this check is not small.

--
Regards,
ChangAo Chen

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Cosmetic fixes for radix sort

  2. Skip common prefixes during radix sort

  3. Perform radix sort on SortTuples with pass-by-value Datums

  4. Grab the low-hanging fruit from forcing sizeof(Datum) to 8.

  5. Add missing Datum conversions