Thread: pgsql: Switch over to using our own qsort() all the time, as has been
pgsql: Switch over to using our own qsort() all the time, as has been
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Switch over to using our own qsort() all the time, as has been proposed repeatedly. Now that we don't have to worry about memory leaks from glibc's qsort, we can safely put CHECK_FOR_INTERRUPTS into the tuplesort comparators, as was requested a couple months ago. Also, get rid of non-reentrancy and an extra level of function call in tuplesort.c by providing a variant qsort_arg() API that passes an extra void * argument through to the comparison routine. (We might want to use that in other places too, I didn't look yet.) Modified Files: -------------- pgsql: configure (r1.508 -> r1.509) (http://developer.postgresql.org/cvsweb.cgi/pgsql/configure.diff?r1=1.508&r2=1.509) configure.in (r1.478 -> r1.479) (http://developer.postgresql.org/cvsweb.cgi/pgsql/configure.in.diff?r1=1.478&r2=1.479) pgsql/src: Makefile.global.in (r1.230 -> r1.231) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/Makefile.global.in.diff?r1=1.230&r2=1.231) pgsql/src/backend/utils/sort: tuplesort.c (r1.68 -> r1.69) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/sort/tuplesort.c.diff?r1=1.68&r2=1.69) pgsql/src/include: port.h (r1.102 -> r1.103) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h.diff?r1=1.102&r2=1.103) pgsql/src/port: qsort.c (r1.9 -> r1.10) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/port/qsort.c.diff?r1=1.9&r2=1.10) Added Files: ----------- pgsql/src/port: qsort_arg.c (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/port/qsort_arg.c?rev=1.1&content-type=text/x-cvsweb-markup)