mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
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.)
This commit is contained in:
@ -1,11 +1,15 @@
|
||||
/*
|
||||
* qsort.c: standard quicksort algorithm
|
||||
*
|
||||
* Modifications from vanilla NetBSD source:
|
||||
* Add do ... while() macro fix
|
||||
* Remove __inline, _DIAGASSERTs, __P
|
||||
* Remove ill-considered "swap_cnt" switch to insertion sort,
|
||||
* in favor of a simple check for presorted input.
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/port/qsort.c,v 1.9 2006/03/21 19:49:15 tgl Exp $
|
||||
* CAUTION: if you change this file, see also qsort_arg.c
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/port/qsort.c,v 1.10 2006/10/03 22:18:23 tgl Exp $
|
||||
*/
|
||||
|
||||
/* $NetBSD: qsort.c,v 1.13 2003/08/07 16:43:42 agc Exp $ */
|
||||
|
Reference in New Issue
Block a user