From 31e73f04ef9e81e551175f95db12bebde368fbd4 Mon Sep 17 00:00:00 2001
From: jcoleman <jtc331@gmail.com>
Date: Tue, 3 Oct 2023 19:53:41 -0400
Subject: [PATCH v2 2/6] log when pruning

---
 src/backend/access/heap/pruneheap.c | 8 ++++++++
 src/include/storage/bufpage.h       | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/src/backend/access/heap/pruneheap.c b/src/backend/access/heap/pruneheap.c
index fa8f5c1dfb..80eaacbc6c 100644
--- a/src/backend/access/heap/pruneheap.c
+++ b/src/backend/access/heap/pruneheap.c
@@ -92,6 +92,8 @@ heap_page_prune_opt(Relation relation, Buffer buffer, bool already_locked)
 	GlobalVisState *vistest;
 	Size		minfree;
 
+	if (relation->rd_id > 16384)
+		elog(WARNING, "in heap_page_prune_opt");
 	/*
 	 * We can't write WAL in recovery mode, so there's no point trying to
 	 * clean the page. The primary will likely issue a cleaning WAL record
@@ -216,6 +218,8 @@ heap_page_prune(Relation relation, Buffer buffer,
 	PruneState	prstate;
 	HeapTupleData tup;
 
+	if (relation->rd_id > 16384)
+	  elog(WARNING, "in heap_page_prune");
 	/*
 	 * Our strategy is to scan the page and make lists of items to change,
 	 * then apply the changes within a critical section.  This keeps as much
@@ -342,6 +346,8 @@ heap_page_prune(Relation relation, Buffer buffer,
 		 * Update the page's pd_prune_xid field to either zero, or the lowest
 		 * XID of any soon-prunable tuple.
 		 */
+		if (relation->rd_id > 16384)
+			elog(WARNING, "setting pd_prune_xid=%u", prstate.new_prune_xid);
 		((PageHeader) page)->pd_prune_xid = prstate.new_prune_xid;
 
 		/*
@@ -408,6 +414,8 @@ heap_page_prune(Relation relation, Buffer buffer,
 		if (((PageHeader) page)->pd_prune_xid != prstate.new_prune_xid ||
 			PageIsFull(page))
 		{
+			if (relation->rd_id > 16384)
+				elog(WARNING, "setting pd_prune_xid=%u", prstate.new_prune_xid);
 			((PageHeader) page)->pd_prune_xid = prstate.new_prune_xid;
 			PageClearFull(page);
 			MarkBufferDirtyHint(buffer, true);
diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h
index 424ecba028..78b44cbb62 100644
--- a/src/include/storage/bufpage.h
+++ b/src/include/storage/bufpage.h
@@ -447,7 +447,10 @@ do { \
 	Assert(TransactionIdIsNormal(xid)); \
 	if (!TransactionIdIsValid(((PageHeader) (page))->pd_prune_xid) || \
 		TransactionIdPrecedes(xid, ((PageHeader) (page))->pd_prune_xid)) \
+	{ \
+		elog(WARNING, "PageSetPrunable setting pd_prune_xid=%u", xid); \
 		((PageHeader) (page))->pd_prune_xid = (xid); \
+	} \
 } while (0)
 #define PageClearPrunable(page) \
 	(((PageHeader) (page))->pd_prune_xid = InvalidTransactionId)
-- 
2.39.3 (Apple Git-145)

