diff --git a/src/backend/access/rmgrdesc/heapdesc.c b/src/backend/access/rmgrdesc/heapdesc.c index 1c0fbb3e8cc..d73248abddf 100644 --- a/src/backend/access/rmgrdesc/heapdesc.c +++ b/src/backend/access/rmgrdesc/heapdesc.c @@ -184,7 +184,7 @@ heap2_desc(StringInfo buf, XLogReaderState *record) xlrec->nredirected, xlrec->ndead); - if (!XLogRecHasBlockImage(record, 0)) + if (XLogRecHasBlockData(record, 0)) { OffsetNumber *end; OffsetNumber *redirected; @@ -223,7 +223,7 @@ heap2_desc(StringInfo buf, XLogReaderState *record) appendStringInfo(buf, "nunused: %u", xlrec->nunused); - if (!XLogRecHasBlockImage(record, 0)) + if (XLogRecHasBlockData(record, 0)) { OffsetNumber *nowunused; @@ -241,7 +241,7 @@ heap2_desc(StringInfo buf, XLogReaderState *record) appendStringInfo(buf, "snapshotConflictHorizon: %u, nplans: %u", xlrec->snapshotConflictHorizon, xlrec->nplans); - if (!XLogRecHasBlockImage(record, 0)) + if (XLogRecHasBlockData(record, 0)) { xl_heap_freeze_plan *plans; OffsetNumber *offsets; @@ -270,7 +270,7 @@ heap2_desc(StringInfo buf, XLogReaderState *record) appendStringInfo(buf, "ntuples: %d, flags: 0x%02X", xlrec->ntuples, xlrec->flags); - if (!XLogRecHasBlockImage(record, 0) && !isinit) + if (XLogRecHasBlockData(record, 0) && !isinit) { appendStringInfoString(buf, ", offsets:"); array_desc(buf, xlrec->offsets, sizeof(OffsetNumber), diff --git a/src/backend/access/rmgrdesc/nbtdesc.c b/src/backend/access/rmgrdesc/nbtdesc.c index c50d5547de8..281a015f563 100644 --- a/src/backend/access/rmgrdesc/nbtdesc.c +++ b/src/backend/access/rmgrdesc/nbtdesc.c @@ -62,7 +62,7 @@ btree_desc(StringInfo buf, XLogReaderState *record) appendStringInfo(buf, "ndeleted: %u, nupdated: %u", xlrec->ndeleted, xlrec->nupdated); - if (!XLogRecHasBlockImage(record, 0)) + if (XLogRecHasBlockData(record, 0)) delvacuum_desc(buf, XLogRecGetBlockData(record, 0, NULL), xlrec->ndeleted, xlrec->nupdated); break; @@ -75,7 +75,7 @@ btree_desc(StringInfo buf, XLogReaderState *record) xlrec->snapshotConflictHorizon, xlrec->ndeleted, xlrec->nupdated); - if (!XLogRecHasBlockImage(record, 0)) + if (XLogRecHasBlockData(record, 0)) delvacuum_desc(buf, XLogRecGetBlockData(record, 0, NULL), xlrec->ndeleted, xlrec->nupdated); break; diff --git a/src/include/access/xlogreader.h b/src/include/access/xlogreader.h index d77bb2ab9bc..30d20c323e6 100644 --- a/src/include/access/xlogreader.h +++ b/src/include/access/xlogreader.h @@ -423,6 +423,8 @@ extern bool DecodeXLogRecord(XLogReaderState *state, ((decoder)->record->blocks[block_id].has_image) #define XLogRecBlockImageApply(decoder, block_id) \ ((decoder)->record->blocks[block_id].apply_image) +#define XLogRecHasBlockData(decoder, block_id) \ + ((decoder)->record->blocks[block_id].has_data) #ifndef FRONTEND extern FullTransactionId XLogRecGetFullXid(XLogReaderState *record);