From 1961b1c131e4211f3dc86ff2be971e430ab2a23d Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Fri, 7 Nov 2014 21:14:35 +0200
Subject: [PATCH] Fix generation of SP-GiST vacuum WAL records.

I broke these in 8776faa81cb651322b8993422bdd4633f1f6a487. Backpatch to
9.4, where that was done.
---
 src/backend/access/spgist/spgvacuum.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c
index a028cf1f42..2e05d22b74 100644
--- a/src/backend/access/spgist/spgvacuum.c
+++ b/src/backend/access/spgist/spgvacuum.c
@@ -452,7 +452,7 @@ vacuumLeafRoot(spgBulkDeleteState *bds, Relation index, Buffer buffer)
 	xlrec.node = index->rd_node;
 	STORE_STATE(&bds->spgstate, xlrec.stateSrc);
 
-	ACCEPT_RDATA_DATA(&xlrec, sizeof(xlrec), 0);
+	ACCEPT_RDATA_DATA(&xlrec, SizeOfSpgxlogVacuumRoot, 0);
 	/* sizeof(xlrec) should be a multiple of sizeof(OffsetNumber) */
 	ACCEPT_RDATA_DATA(toDelete, sizeof(OffsetNumber) * xlrec.nDelete, 1);
 	ACCEPT_RDATA_BUFFER(buffer, 2);
@@ -585,7 +585,7 @@ vacuumRedirectAndPlaceholder(Relation index, Buffer buffer)
 	{
 		XLogRecPtr	recptr;
 
-		ACCEPT_RDATA_DATA(&xlrec, sizeof(xlrec), 0);
+		ACCEPT_RDATA_DATA(&xlrec, SizeOfSpgxlogVacuumRedirect, 0);
 		ACCEPT_RDATA_DATA(itemToPlaceholder, sizeof(OffsetNumber) * xlrec.nToPlaceholder, 1);
 		ACCEPT_RDATA_BUFFER(buffer, 2);
 
-- 
2.49.0