Use correct datum macros in more tuplesort specialization functions.

Also clarify that ApplySignedSortComparator() is not built on 32-bit machines.

Folow-up to c90c16591

Reviewed-by: David Rowley
Discussion: https://www.postgresql.org/message-id/CAFBsxsFmt4_JUP8XgSJqwaAS9a9s8K8_PvMu%3Dj%3DDfwU%3D8QjNPw%40mail.gmail.com
This commit is contained in:
John Naylor 2022-05-12 09:18:21 +07:00
parent d70b95a717
commit 7761b9faab
1 changed files with 6 additions and 9 deletions

View File

@ -262,6 +262,7 @@ ApplyUnsignedSortComparator(Datum datum1, bool isNull1,
return compare;
}
#if SIZEOF_DATUM >= 8
static inline int
ApplySignedSortComparator(Datum datum1, bool isNull1,
Datum datum2, bool isNull2,
@ -287,19 +288,15 @@ ApplySignedSortComparator(Datum datum1, bool isNull1,
}
else
{
#if SIZEOF_DATUM == 8
compare = (int64) datum1 < (int64) datum2 ? -1 :
(int64) datum1 > (int64) datum2 ? 1 : 0;
#else
compare = (int32) datum1 < (int32) datum2 ? -1 :
(int32) datum1 > (int32) datum2 ? 1 : 0;
#endif
compare = DatumGetInt64(datum1) < DatumGetInt64(datum2) ? -1 :
DatumGetInt64(datum1) > DatumGetInt64(datum2) ? 1 : 0;
if (ssup->ssup_reverse)
INVERT_COMPARE_RESULT(compare);
}
return compare;
}
#endif
static inline int
ApplyInt32SortComparator(Datum datum1, bool isNull1,
@ -326,8 +323,8 @@ ApplyInt32SortComparator(Datum datum1, bool isNull1,
}
else
{
compare = (int32) datum1 < (int32) datum2 ? -1 :
(int32) datum1 > (int32) datum2 ? 1 : 0;
compare = DatumGetInt32(datum1) < DatumGetInt32(datum2) ? -1 :
DatumGetInt32(datum1) > DatumGetInt32(datum2) ? 1 : 0;
if (ssup->ssup_reverse)
INVERT_COMPARE_RESULT(compare);
}