Re: 回复: An implementation of multi-key sort
Tomas Vondra <tomas.vondra@enterprisedb.com>
From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Yao Wang <yao-yw.wang@broadcom.com>, John Naylor <johncnaylorls@gmail.com>
Cc: Wang Yao <yaowangm@outlook.com>, Heikki Linnakangas <hlinnaka@iki.fi>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Hongxu Ma <hongxu.ma@broadcom.com>
Date: 2024-07-09T11:34:26Z
Lists: pgsql-hackers
BTW I forgot to report that I intended to test this on 32-bit ARM too,
because that sometimes triggers "funny" behavior, but the build fails
like this:
In file included from tuplesort.c:630:
mk_qsort_tuple.c: In function ‘mkqs_compare_datum_by_shortcut’:
mk_qsort_tuple.c:167:23: warning: implicit declaration of function
‘ApplySignedSortComparator’; did you mean ‘ApplyUnsignedSortComparator’?
[-Wimplicit-function-declaration]
167 | ret = ApplySignedSortComparator(tuple1->datum1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| ApplyUnsignedSortComparator
mk_qsort_tuple.c: In function ‘mkqs_compare_tuple’:
mk_qsort_tuple.c:376:23: warning: implicit declaration of function
‘qsort_tuple_signed_compare’; did you mean
‘qsort_tuple_unsigned_compare’? [-Wimplicit-function-declaration]
376 | ret = qsort_tuple_signed_compare(a, b, state);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| qsort_tuple_unsigned_compare
/usr/bin/ld: utils/sort/tuplesort.o: in function
`mkqs_compare_datum_by_shortcut':
/home/debian/postgres/src/backend/utils/sort/mk_qsort_tuple.c:167:
undefined reference to `ApplySignedSortComparator'
/usr/bin/ld:
/home/debian/postgres/src/backend/utils/sort/mk_qsort_tuple.c:167:
undefined reference to `ApplySignedSortComparator'
/usr/bin/ld:
/home/debian/postgres/src/backend/utils/sort/mk_qsort_tuple.c:167:
undefined reference to `ApplySignedSortComparator'
/usr/bin/ld: utils/sort/tuplesort.o: in function `mkqs_compare_tuple':
/home/debian/postgres/src/backend/utils/sort/mk_qsort_tuple.c:376:
undefined reference to `qsort_tuple_signed_compare'
/usr/bin/ld: utils/sort/tuplesort.o: in function
`mkqs_compare_datum_by_shortcut':
/home/debian/postgres/src/backend/utils/sort/mk_qsort_tuple.c:167:
undefined reference to `ApplySignedSortComparator'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:67: postgres] Error 1
make[1]: *** [Makefile:42: all-backend-recurse] Error 2
make: *** [GNUmakefile:11: all-src-recurse] Error 2
I haven't investigated why it fails.
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company