From 8c3b665a379e7b0bd85ae9d58e66e9f8d289eed8 Mon Sep 17 00:00:00 2001
From: Stepan Neretin <sncfmgg@gmail.com>
Date: Tue, 11 Jun 2024 12:40:56 +0700
Subject: [PATCH v42 11/12] Optimize box quad picksplit with float8 array
 sorting

Replace qsort calls with the new sorting template `sort_float8_arr` for better performance in spg_box_quad_picksplit function.
---
 src/backend/utils/adt/geo_spgist.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/backend/utils/adt/geo_spgist.c b/src/backend/utils/adt/geo_spgist.c
index cbd45b3933..b740e89623 100644
--- a/src/backend/utils/adt/geo_spgist.c
+++ b/src/backend/utils/adt/geo_spgist.c
@@ -472,10 +472,10 @@ spg_box_quad_picksplit(PG_FUNCTION_ARGS)
 		highYs[i] = box->high.y;
 	}
 
-	qsort(lowXs, in->nTuples, sizeof(float8), compareDoubles);
-	qsort(highXs, in->nTuples, sizeof(float8), compareDoubles);
-	qsort(lowYs, in->nTuples, sizeof(float8), compareDoubles);
-	qsort(highYs, in->nTuples, sizeof(float8), compareDoubles);
+	sort_float8_arr(lowXs, in->nTuples);
+	sort_float8_arr(highXs, in->nTuples);
+	sort_float8_arr(lowYs, in->nTuples);
+	sort_float8_arr(highYs, in->nTuples);
 
 	median = in->nTuples / 2;
 
-- 
2.34.1

