summaryrefslogtreecommitdiff
path: root/src/port/qsort.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-10-03 22:18:23 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-10-03 22:18:23 +0000
commit6edd2b4a91bda90b7f0290203bf5c88a8a8504db (patch)
treec0890bc97d0e2d1e1c92b9b883150a91995dbc89 /src/port/qsort.c
parented80f5701be9322d319a4abaef0e4f47f6144f5b (diff)
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.)
Diffstat (limited to 'src/port/qsort.c')
-rw-r--r--src/port/qsort.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/port/qsort.c b/src/port/qsort.c
index a7aa8cea2a9..3f3e7787e9f 100644
--- a/src/port/qsort.c
+++ b/src/port/qsort.c
@@ -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 $ */