From c98d5da9801e899c6fd2d1f1a61c87ed38f5d4ce Mon Sep 17 00:00:00 2001
From: reshke <reshke@double.cloud>
Date: Thu, 9 Oct 2025 12:27:37 +0000
Subject: [PATCH v1] Remove all fields from ginxlogSplit except flags

---
 src/backend/access/gin/ginbtree.c     | 10 ----------
 src/backend/access/rmgrdesc/gindesc.c |  3 ---
 src/include/access/ginxlog.h          |  5 -----
 3 files changed, 18 deletions(-)

diff --git a/src/backend/access/gin/ginbtree.c b/src/backend/access/gin/ginbtree.c
index 644d484ea53..0150de8d492 100644
--- a/src/backend/access/gin/ginbtree.c
+++ b/src/backend/access/gin/ginbtree.c
@@ -476,15 +476,7 @@ ginPlaceToPage(GinBtree btree, GinBtreeStack *stack,
 		savedRightLink = GinPageGetOpaque(page)->rightlink;
 
 		/* Begin setting up WAL record */
-		data.locator = btree->index->rd_locator;
 		data.flags = xlflags;
-		if (BufferIsValid(childbuf))
-		{
-			data.leftChildBlkno = BufferGetBlockNumber(childbuf);
-			data.rightChildBlkno = GinPageGetOpaque(childpage)->rightlink;
-		}
-		else
-			data.leftChildBlkno = data.rightChildBlkno = InvalidBlockNumber;
 
 		if (stack->parent == NULL)
 		{
@@ -503,7 +495,6 @@ ginPlaceToPage(GinBtree btree, GinBtreeStack *stack,
 					buildStats->nEntryPages++;
 			}
 
-			data.rrlink = InvalidBlockNumber;
 			data.flags |= GIN_SPLIT_ROOT;
 
 			GinPageGetOpaque(newrpage)->rightlink = InvalidBlockNumber;
@@ -537,7 +528,6 @@ ginPlaceToPage(GinBtree btree, GinBtreeStack *stack,
 		else
 		{
 			/* splitting a non-root page */
-			data.rrlink = savedRightLink;
 
 			GinPageGetOpaque(newrpage)->rightlink = savedRightLink;
 			GinPageGetOpaque(newlpage)->flags |= GIN_INCOMPLETE_SPLIT;
diff --git a/src/backend/access/rmgrdesc/gindesc.c b/src/backend/access/rmgrdesc/gindesc.c
index 075c4a0ae93..acbc04027c3 100644
--- a/src/backend/access/rmgrdesc/gindesc.c
+++ b/src/backend/access/rmgrdesc/gindesc.c
@@ -130,9 +130,6 @@ gin_desc(StringInfo buf, XLogReaderState *record)
 				appendStringInfo(buf, " isdata: %c isleaf: %c",
 								 (xlrec->flags & GIN_INSERT_ISDATA) ? 'T' : 'F',
 								 (xlrec->flags & GIN_INSERT_ISLEAF) ? 'T' : 'F');
-				if (xlrec->leftChildBlkno != InvalidBlockNumber)
-					appendStringInfo(buf, " children: %u/%u",
-									 xlrec->leftChildBlkno, xlrec->rightChildBlkno);
 			}
 			break;
 		case XLOG_GIN_VACUUM_PAGE:
diff --git a/src/include/access/ginxlog.h b/src/include/access/ginxlog.h
index 98760bf6ee4..b4bc6d8107f 100644
--- a/src/include/access/ginxlog.h
+++ b/src/include/access/ginxlog.h
@@ -110,11 +110,6 @@ typedef struct
 
 typedef struct ginxlogSplit
 {
-	RelFileLocator locator;
-	BlockNumber rrlink;			/* right link, or root's blocknumber if root
-								 * split */
-	BlockNumber leftChildBlkno; /* valid on a non-leaf split */
-	BlockNumber rightChildBlkno;
 	uint16		flags;			/* see below */
 } ginxlogSplit;
 
-- 
2.43.0

