Skip to content

Commit 19733fa

Browse files
committed
Rename sort support integer comparators for clarity
The previous names used "unsigned" for Datum-width abbreviated keys and "signed" for 64-bit signed integers. This may have made more sense when Datum width was platform-dependent, but commit 805c64f84 added a 32-bit unsigned variant for OIDs, so it makes even less sense now. Rename all to be explicit about signedness and width. Suggested-by: David Rowley <dgrowleyml@gmail.com> Discussion: https://postgr.es/m/CAApHDvrNMz5ahN1x=uK9yscTogmLupfLBy-_qMW9Z+k=HE5u_A@mail.gmail.com
1 parent 94d32ce commit 19733fa

10 files changed

Lines changed: 21 additions & 21 deletions

File tree

src/backend/access/gist/gistproc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1750,7 +1750,7 @@ gist_point_sortsupport(PG_FUNCTION_ARGS)
17501750

17511751
if (ssup->abbreviate)
17521752
{
1753-
ssup->comparator = ssup_datum_unsigned_cmp;
1753+
ssup->comparator = ssup_datum_uint64_cmp;
17541754
ssup->abbrev_converter = gist_bbox_zorder_abbrev_convert;
17551755
ssup->abbrev_abort = gist_bbox_zorder_abbrev_abort;
17561756
ssup->abbrev_full_comparator = gist_bbox_zorder_cmp;

src/backend/access/nbtree/nbtcompare.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ btint8sortsupport(PG_FUNCTION_ARGS)
275275
{
276276
SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
277277

278-
ssup->comparator = ssup_datum_signed_cmp;
278+
ssup->comparator = ssup_datum_int64_cmp;
279279
PG_RETURN_VOID();
280280
}
281281

@@ -495,7 +495,7 @@ btoid8sortsupport(PG_FUNCTION_ARGS)
495495
{
496496
SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
497497

498-
ssup->comparator = ssup_datum_unsigned_cmp;
498+
ssup->comparator = ssup_datum_uint64_cmp;
499499
PG_RETURN_VOID();
500500
}
501501

src/backend/utils/adt/bytea.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,7 @@ bytea_abbrev_convert(Datum original, SortSupport ssup)
11271127
/*
11281128
* Byteswap on little-endian machines.
11291129
*
1130-
* This is needed so that ssup_datum_unsigned_cmp() works correctly on all
1130+
* This is needed so that ssup_datum_uint64_cmp() works correctly on all
11311131
* platforms.
11321132
*/
11331133
res = DatumBigEndianToNative(res);
@@ -1234,7 +1234,7 @@ bytea_sortsupport(PG_FUNCTION_ARGS)
12341234

12351235
ssup->ssup_extra = bss;
12361236
ssup->abbrev_full_comparator = ssup->comparator;
1237-
ssup->comparator = ssup_datum_unsigned_cmp;
1237+
ssup->comparator = ssup_datum_uint64_cmp;
12381238
ssup->abbrev_converter = bytea_abbrev_convert;
12391239
ssup->abbrev_abort = bytea_abbrev_abort;
12401240
}

src/backend/utils/adt/mac.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ macaddr_sortsupport(PG_FUNCTION_ARGS)
358358

359359
if (ssup->abbreviate)
360360
{
361-
ssup->comparator = ssup_datum_unsigned_cmp;
361+
ssup->comparator = ssup_datum_uint64_cmp;
362362
ssup->abbrev_converter = macaddr_abbrev_convert;
363363
ssup->abbrev_abort = macaddr_abbrev_abort;
364364
ssup->abbrev_full_comparator = macaddr_fast_cmp;
@@ -419,7 +419,7 @@ macaddr_abbrev_convert(Datum original, SortSupport ssup)
419419
/*
420420
* Byteswap on little-endian machines.
421421
*
422-
* This is needed so that ssup_datum_unsigned_cmp() (an unsigned integer
422+
* This is needed so that ssup_datum_uint64_cmp() (an unsigned integer
423423
* 3-way comparator) works correctly on all platforms. Without this, the
424424
* comparator would have to call memcmp() with a pair of pointers to the
425425
* first byte of each abbreviated key, which is slower.

src/backend/utils/adt/network.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ network_sortsupport(PG_FUNCTION_ARGS)
451451

452452
ssup->ssup_extra = uss;
453453

454-
ssup->comparator = ssup_datum_unsigned_cmp;
454+
ssup->comparator = ssup_datum_uint64_cmp;
455455
ssup->abbrev_converter = network_abbrev_convert;
456456
ssup->abbrev_abort = network_abbrev_abort;
457457
ssup->abbrev_full_comparator = network_fast_cmp;

src/backend/utils/adt/timestamp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2292,7 +2292,7 @@ timestamp_sortsupport(PG_FUNCTION_ARGS)
22922292
{
22932293
SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
22942294

2295-
ssup->comparator = ssup_datum_signed_cmp;
2295+
ssup->comparator = ssup_datum_int64_cmp;
22962296
PG_RETURN_VOID();
22972297
}
22982298

src/backend/utils/adt/uuid.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ uuid_sortsupport(PG_FUNCTION_ARGS)
330330

331331
ssup->ssup_extra = uss;
332332

333-
ssup->comparator = ssup_datum_unsigned_cmp;
333+
ssup->comparator = ssup_datum_uint64_cmp;
334334
ssup->abbrev_converter = uuid_abbrev_convert;
335335
ssup->abbrev_abort = uuid_abbrev_abort;
336336
ssup->abbrev_full_comparator = uuid_fast_cmp;
@@ -441,7 +441,7 @@ uuid_abbrev_convert(Datum original, SortSupport ssup)
441441
/*
442442
* Byteswap on little-endian machines.
443443
*
444-
* This is needed so that ssup_datum_unsigned_cmp() (an unsigned integer
444+
* This is needed so that ssup_datum_uint64_cmp() (an unsigned integer
445445
* 3-way comparator) works correctly on all platforms. If we didn't do
446446
* this, the comparator would have to call memcmp() with a pair of
447447
* pointers to the first byte of each abbreviated key, which is slower.

src/backend/utils/adt/varlena.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1794,7 +1794,7 @@ varstr_sortsupport(SortSupport ssup, Oid typid, Oid collid)
17941794
initHyperLogLog(&sss->abbr_card, 10);
17951795
initHyperLogLog(&sss->full_card, 10);
17961796
ssup->abbrev_full_comparator = ssup->comparator;
1797-
ssup->comparator = ssup_datum_unsigned_cmp;
1797+
ssup->comparator = ssup_datum_uint64_cmp;
17981798
ssup->abbrev_converter = varstr_abbrev_convert;
17991799
ssup->abbrev_abort = varstr_abbrev_abort;
18001800
}
@@ -2179,7 +2179,7 @@ varstr_abbrev_convert(Datum original, SortSupport ssup)
21792179
/*
21802180
* Byteswap on little-endian machines.
21812181
*
2182-
* This is needed so that ssup_datum_unsigned_cmp() (an unsigned integer
2182+
* This is needed so that ssup_datum_uint64_cmp() (an unsigned integer
21832183
* 3-way comparator) works correctly on all platforms. If we didn't do
21842184
* this, the comparator would have to call memcmp() with a pair of
21852185
* pointers to the first byte of each abbreviated key, which is slower.

src/backend/utils/sort/tuplesort.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2587,9 +2587,9 @@ normalize_datum(Datum orig, SortSupport ssup)
25872587
{
25882588
Datum norm_datum1;
25892589

2590-
if (ssup->comparator == ssup_datum_signed_cmp)
2590+
if (ssup->comparator == ssup_datum_int64_cmp)
25912591
norm_datum1 = orig + (Int64GetDatum(PG_INT64_MAX)) + 1;
2592-
else if (ssup->comparator == ssup_datum_unsigned_cmp)
2592+
else if (ssup->comparator == ssup_datum_uint64_cmp)
25932593
norm_datum1 = orig;
25942594
else
25952595
{
@@ -3010,8 +3010,8 @@ tuplesort_sort_memtuples(Tuplesortstate *state)
30103010

30113011
/* Does it compare as an integer? */
30123012
if (state->memtupcount >= QSORT_THRESHOLD &&
3013-
(ssup->comparator == ssup_datum_unsigned_cmp ||
3014-
ssup->comparator == ssup_datum_signed_cmp ||
3013+
(ssup->comparator == ssup_datum_uint64_cmp ||
3014+
ssup->comparator == ssup_datum_int64_cmp ||
30153015
ssup->comparator == ssup_datum_uint32_cmp ||
30163016
ssup->comparator == ssup_datum_int32_cmp))
30173017
{
@@ -3449,7 +3449,7 @@ free_sort_tuple(Tuplesortstate *state, SortTuple *stup)
34493449
}
34503450

34513451
int
3452-
ssup_datum_unsigned_cmp(Datum x, Datum y, SortSupport ssup)
3452+
ssup_datum_uint64_cmp(Datum x, Datum y, SortSupport ssup)
34533453
{
34543454
if (x < y)
34553455
return -1;
@@ -3460,7 +3460,7 @@ ssup_datum_unsigned_cmp(Datum x, Datum y, SortSupport ssup)
34603460
}
34613461

34623462
int
3463-
ssup_datum_signed_cmp(Datum x, Datum y, SortSupport ssup)
3463+
ssup_datum_int64_cmp(Datum x, Datum y, SortSupport ssup)
34643464
{
34653465
int64 xx = DatumGetInt64(x);
34663466
int64 yy = DatumGetInt64(y);

src/include/utils/sortsupport.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,8 @@ ApplySortAbbrevFullComparator(Datum datum1, bool isNull1,
272272
* Datatypes that install these as their comparator or abbreviated comparator
273273
* are eligible for faster sorting.
274274
*/
275-
extern int ssup_datum_unsigned_cmp(Datum x, Datum y, SortSupport ssup);
276-
extern int ssup_datum_signed_cmp(Datum x, Datum y, SortSupport ssup);
275+
extern int ssup_datum_uint64_cmp(Datum x, Datum y, SortSupport ssup);
276+
extern int ssup_datum_int64_cmp(Datum x, Datum y, SortSupport ssup);
277277
extern int ssup_datum_uint32_cmp(Datum x, Datum y, SortSupport ssup);
278278
extern int ssup_datum_int32_cmp(Datum x, Datum y, SortSupport ssup);
279279

0 commit comments

Comments
 (0)