v3-0006-Expand-xact-SLRU-IO-error-to-show-epoch.patch

application/octet-stream

Filename: v3-0006-Expand-xact-SLRU-IO-error-to-show-epoch.patch
Type: application/octet-stream
Part: 5
Message: Rework SLRU I/O errors handle

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v3-0006
Subject: Expand xact SLRU IO-error to show epoch
File+
src/include/access/slru.h 10 2
From 0929999480cbcf901681c34bf3d7c18ae1c82acc Mon Sep 17 00:00:00 2001
From: Maxim Orlov <orlovmg@gmail.com>
Date: Thu, 26 Feb 2026 16:55:45 +0300
Subject: [PATCH v3 6/6] Expand xact SLRU IO-error to show epoch

---
 src/include/access/slru.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/include/access/slru.h b/src/include/access/slru.h
index 78ee36c05a6..3ca2e4e92f4 100644
--- a/src/include/access/slru.h
+++ b/src/include/access/slru.h
@@ -167,8 +167,16 @@ static inline int
 xact_errmsg_for_io_error(const void *opaque_data)
 {
 	if (opaque_data)
-		return errmsg("could not access status of transaction %u",
-					  *(TransactionId *) opaque_data);
+	{
+		FullTransactionId	fxid;
+
+		fxid = FullTransactionIdFromAllowableAt(ReadNextFullTransactionId(),
+												*(TransactionId *) opaque_data);
+
+		return errmsg("could not access status of transaction %u:%u",
+					  EpochFromFullTransactionId(fxid),
+					  XidFromFullTransactionId(fxid));
+	}
 
 	return errmsg("could not access slru entry");	/* InvalidTransactionId */
 }
-- 
2.43.0