postgres.git / summary / log / commit / refs
commit 3c28fd2281223580b88473e5145b752cc7cbadf9
Author: Michael Paquier <michael@paquier.xyz>
Date: Wed Jun 19 02:02:19 2019 +0000
First released in: 12.0, 11.5
Fix description of WAL record XLOG_BTREE_META_CLEANUP
This record uses one metadata buffer and registers some data associated
to the buffer, but when parsing the record for its description a direct
access to the record data was done, but there is none. This leads
usually to an incorrect description, but can also cause crashes like in
pg_waldump. Instead, fix things so as the parsing uses the data
associated to the metadata block.
This is an oversight from 3d92796, so backpatch down to 11.
Author: Michael Paquier
Description: https://postgr.es/m/20190617013059.GA3153@paquier.xyz
Backpatch-through: 11
src/backend/access/rmgrdesc/nbtdesc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/backend/access/rmgrdesc/nbtdesc.c b/src/backend/access/rmgrdesc/nbtdesc.c
index 989c85ac089..a14eb792ecd 100644
--- a/src/backend/access/rmgrdesc/nbtdesc.c
+++ b/src/backend/access/rmgrdesc/nbtdesc.c
@@ -97,8 +97,10 @@ btree_desc(StringInfo buf, XLogReaderState *record)
}
case XLOG_BTREE_META_CLEANUP:
{
- xl_btree_metadata *xlrec = (xl_btree_metadata *) rec;
+ xl_btree_metadata *xlrec;
+ xlrec = (xl_btree_metadata *) XLogRecGetBlockData(record, 0,
+ NULL);
appendStringInfo(buf, "oldest_btpo_xact %u; last_cleanup_num_heap_tuples: %f",
xlrec->oldest_btpo_xact,
xlrec->last_cleanup_num_heap_tuples);
[parent: 23224563d979]