From: John Naylor Date: Thu, 12 May 2022 02:18:21 +0000 (+0700) Subject: Use correct datum macros in more tuplesort specialization functions. X-Git-Tag: REL_15_BETA1~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7761b9faabae15217fe0e5bbb54230b425222f81;p=thirdparty%2Fpostgresql.git 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 --- diff --git a/src/include/utils/sortsupport.h b/src/include/utils/sortsupport.h index ae8f4852a8b..140a9f9ffc4 100644 --- a/src/include/utils/sortsupport.h +++ b/src/include/utils/sortsupport.h @@ -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); }