From 2d3b1df3b946cad0f88624dc0ae5e07b6c28640b Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <aleksander@tigerdata.com>
Date: Mon, 9 Mar 2026 15:51:04 +0300
Subject: [PATCH v2 2/2] Remove redundant ssup_extra zeroing in *_sortsupport()

SortSupportData is guaranteed to be zeroed by callers. Therefore, zeroing
ssup_extra in *_sortsupport() functions is redundant. Remove corresponding
code in order to make all the functions consistent.

Author: Aleksander Alekseev <aleksander@tigerdata.com>
Suggested-by: Andrey Borodin <x4mmm@yandex-team.ru>
Reviewed-by: TODO FIXME
Discussion: https://postgr.es/m/CAJ7c6TMk10rF_LiMz6j9rRy1rqk-5s+wBPuBefLix4cY+-4s1w@mail.gmail.com
---
 contrib/btree_gist/btree_bit.c      | 2 --
 contrib/btree_gist/btree_bool.c     | 1 -
 contrib/btree_gist/btree_bytea.c    | 1 -
 contrib/btree_gist/btree_cash.c     | 1 -
 contrib/btree_gist/btree_date.c     | 1 -
 contrib/btree_gist/btree_float4.c   | 1 -
 contrib/btree_gist/btree_float8.c   | 1 -
 contrib/btree_gist/btree_inet.c     | 1 -
 contrib/btree_gist/btree_interval.c | 1 -
 contrib/btree_gist/btree_macaddr.c  | 1 -
 contrib/btree_gist/btree_macaddr8.c | 1 -
 contrib/btree_gist/btree_numeric.c  | 1 -
 contrib/btree_gist/btree_oid.c      | 1 -
 contrib/btree_gist/btree_text.c     | 2 --
 contrib/btree_gist/btree_time.c     | 1 -
 contrib/btree_gist/btree_ts.c       | 1 -
 contrib/btree_gist/btree_uuid.c     | 1 -
 src/backend/utils/adt/network.c     | 1 -
 src/backend/utils/adt/rangetypes.c  | 1 -
 src/backend/utils/adt/uuid.c        | 1 -
 20 files changed, 22 deletions(-)

diff --git a/contrib/btree_gist/btree_bit.c b/contrib/btree_gist/btree_bit.c
index 2b9c18a586f..3f6f73ac9dc 100644
--- a/contrib/btree_gist/btree_bit.c
+++ b/contrib/btree_gist/btree_bit.c
@@ -233,7 +233,6 @@ gbt_bit_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_bit_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
@@ -244,7 +243,6 @@ gbt_varbit_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_bit_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_bool.c b/contrib/btree_gist/btree_bool.c
index 8e59523f474..7de93662c92 100644
--- a/contrib/btree_gist/btree_bool.c
+++ b/contrib/btree_gist/btree_bool.c
@@ -182,7 +182,6 @@ gbt_bool_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_bool_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_bytea.c b/contrib/btree_gist/btree_bytea.c
index 50bb24308e9..221e4bd9490 100644
--- a/contrib/btree_gist/btree_bytea.c
+++ b/contrib/btree_gist/btree_bytea.c
@@ -187,7 +187,6 @@ gbt_bytea_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_bytea_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_cash.c b/contrib/btree_gist/btree_cash.c
index a347b1320e4..13aacc0d762 100644
--- a/contrib/btree_gist/btree_cash.c
+++ b/contrib/btree_gist/btree_cash.c
@@ -237,7 +237,6 @@ gbt_cash_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_cash_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_date.c b/contrib/btree_gist/btree_date.c
index 5e41f4574c5..74dccb9613b 100644
--- a/contrib/btree_gist/btree_date.c
+++ b/contrib/btree_gist/btree_date.c
@@ -273,7 +273,6 @@ gbt_date_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_date_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_float4.c b/contrib/btree_gist/btree_float4.c
index c076918fd48..b694a175836 100644
--- a/contrib/btree_gist/btree_float4.c
+++ b/contrib/btree_gist/btree_float4.c
@@ -226,7 +226,6 @@ gbt_float4_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_float4_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_float8.c b/contrib/btree_gist/btree_float8.c
index d7386e885a2..fb906a38610 100644
--- a/contrib/btree_gist/btree_float8.c
+++ b/contrib/btree_gist/btree_float8.c
@@ -234,7 +234,6 @@ gbt_float8_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_float8_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_inet.c b/contrib/btree_gist/btree_inet.c
index 9d04b92d3b8..9684283fa4c 100644
--- a/contrib/btree_gist/btree_inet.c
+++ b/contrib/btree_gist/btree_inet.c
@@ -204,7 +204,6 @@ gbt_inet_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_inet_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_interval.c b/contrib/btree_gist/btree_interval.c
index 6b81fa2b39b..f288d97ee09 100644
--- a/contrib/btree_gist/btree_interval.c
+++ b/contrib/btree_gist/btree_interval.c
@@ -315,7 +315,6 @@ gbt_intv_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_intv_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_macaddr.c b/contrib/btree_gist/btree_macaddr.c
index df7c0040011..140f1ad4135 100644
--- a/contrib/btree_gist/btree_macaddr.c
+++ b/contrib/btree_gist/btree_macaddr.c
@@ -211,7 +211,6 @@ gbt_macaddr_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_macaddr_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_macaddr8.c b/contrib/btree_gist/btree_macaddr8.c
index 3b0c9b81e85..8b2a01567b7 100644
--- a/contrib/btree_gist/btree_macaddr8.c
+++ b/contrib/btree_gist/btree_macaddr8.c
@@ -208,7 +208,6 @@ gbt_macad8_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_macaddr8_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_numeric.c b/contrib/btree_gist/btree_numeric.c
index dba04c3a1b3..716b46c27ba 100644
--- a/contrib/btree_gist/btree_numeric.c
+++ b/contrib/btree_gist/btree_numeric.c
@@ -246,7 +246,6 @@ gbt_numeric_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_numeric_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_oid.c b/contrib/btree_gist/btree_oid.c
index 3ddf2a993d4..70eb91d8781 100644
--- a/contrib/btree_gist/btree_oid.c
+++ b/contrib/btree_gist/btree_oid.c
@@ -236,7 +236,6 @@ gbt_oid_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_oid_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_text.c b/contrib/btree_gist/btree_text.c
index 2ac12f1cab2..903d80a42d4 100644
--- a/contrib/btree_gist/btree_text.c
+++ b/contrib/btree_gist/btree_text.c
@@ -313,7 +313,6 @@ gbt_text_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_text_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
@@ -346,7 +345,6 @@ gbt_bpchar_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_bpchar_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_time.c b/contrib/btree_gist/btree_time.c
index 9d23fb4b867..610cb90aa6f 100644
--- a/contrib/btree_gist/btree_time.c
+++ b/contrib/btree_gist/btree_time.c
@@ -341,7 +341,6 @@ gbt_time_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_timekey_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_ts.c b/contrib/btree_gist/btree_ts.c
index 0f88d5d72f4..32d77c622af 100644
--- a/contrib/btree_gist/btree_ts.c
+++ b/contrib/btree_gist/btree_ts.c
@@ -412,7 +412,6 @@ gbt_ts_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_ts_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/contrib/btree_gist/btree_uuid.c b/contrib/btree_gist/btree_uuid.c
index c891840fb25..a1345a8401f 100644
--- a/contrib/btree_gist/btree_uuid.c
+++ b/contrib/btree_gist/btree_uuid.c
@@ -251,7 +251,6 @@ gbt_uuid_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = gbt_uuid_ssup_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/src/backend/utils/adt/network.c b/src/backend/utils/adt/network.c
index 3a2002097dd..223672ec8b4 100644
--- a/src/backend/utils/adt/network.c
+++ b/src/backend/utils/adt/network.c
@@ -435,7 +435,6 @@ network_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = network_fast_cmp;
-	ssup->ssup_extra = NULL;
 
 	if (ssup->abbreviate)
 	{
diff --git a/src/backend/utils/adt/rangetypes.c b/src/backend/utils/adt/rangetypes.c
index 06cc3af4f4a..883c0e40cf3 100644
--- a/src/backend/utils/adt/rangetypes.c
+++ b/src/backend/utils/adt/rangetypes.c
@@ -1467,7 +1467,6 @@ range_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = range_fast_cmp;
-	ssup->ssup_extra = NULL;
 
 	PG_RETURN_VOID();
 }
diff --git a/src/backend/utils/adt/uuid.c b/src/backend/utils/adt/uuid.c
index 6ee3752ac78..64519d4ead6 100644
--- a/src/backend/utils/adt/uuid.c
+++ b/src/backend/utils/adt/uuid.c
@@ -279,7 +279,6 @@ uuid_sortsupport(PG_FUNCTION_ARGS)
 	SortSupport ssup = (SortSupport) PG_GETARG_POINTER(0);
 
 	ssup->comparator = uuid_fast_cmp;
-	ssup->ssup_extra = NULL;
 
 	if (ssup->abbreviate)
 	{
-- 
2.43.0

