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