From 4f9c95988f11c2876e87b3591ff044924ca5b626 Mon Sep 17 00:00:00 2001 From: wangxiaoran Date: Mon, 9 Jun 2025 17:35:33 +0800 Subject: [PATCH 2/2] Add a macro XLogRecGetRmgrInfo Since there are many instances of code like '(XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK)', we should add the macro 'XLogRecGetRmgrInfo' to encapsulate this operation. --- contrib/pg_walinspect/pg_walinspect.c | 4 ++-- src/backend/access/brin/brin_xlog.c | 2 +- src/backend/access/gin/ginxlog.c | 2 +- src/backend/access/gist/gistxlog.c | 2 +- src/backend/access/hash/hash_xlog.c | 2 +- src/backend/access/heap/heapam_xlog.c | 4 ++-- src/backend/access/nbtree/nbtxlog.c | 2 +- src/backend/access/rmgrdesc/brindesc.c | 2 +- src/backend/access/rmgrdesc/clogdesc.c | 2 +- src/backend/access/rmgrdesc/committsdesc.c | 2 +- src/backend/access/rmgrdesc/dbasedesc.c | 2 +- src/backend/access/rmgrdesc/gindesc.c | 2 +- src/backend/access/rmgrdesc/gistdesc.c | 2 +- src/backend/access/rmgrdesc/hashdesc.c | 2 +- src/backend/access/rmgrdesc/heapdesc.c | 4 ++-- src/backend/access/rmgrdesc/logicalmsgdesc.c | 2 +- src/backend/access/rmgrdesc/mxactdesc.c | 2 +- src/backend/access/rmgrdesc/nbtdesc.c | 2 +- src/backend/access/rmgrdesc/relmapdesc.c | 2 +- src/backend/access/rmgrdesc/replorigindesc.c | 2 +- src/backend/access/rmgrdesc/seqdesc.c | 2 +- src/backend/access/rmgrdesc/smgrdesc.c | 2 +- src/backend/access/rmgrdesc/spgdesc.c | 2 +- src/backend/access/rmgrdesc/standbydesc.c | 2 +- src/backend/access/rmgrdesc/tblspcdesc.c | 2 +- src/backend/access/rmgrdesc/xlogdesc.c | 2 +- src/backend/access/spgist/spgxlog.c | 2 +- src/backend/access/transam/clog.c | 2 +- src/backend/access/transam/commit_ts.c | 2 +- src/backend/access/transam/multixact.c | 2 +- src/backend/access/transam/xlog.c | 2 +- src/backend/access/transam/xlogrecovery.c | 6 +++--- src/backend/catalog/storage.c | 2 +- src/backend/commands/dbcommands.c | 2 +- src/backend/commands/sequence.c | 2 +- src/backend/commands/tablespace.c | 2 +- src/backend/postmaster/walsummarizer.c | 8 ++++---- src/backend/replication/logical/decode.c | 6 +++--- src/backend/replication/logical/message.c | 2 +- src/backend/replication/logical/origin.c | 2 +- src/backend/storage/ipc/standby.c | 2 +- src/backend/utils/cache/relmapper.c | 2 +- src/bin/pg_rewind/parsexlog.c | 2 +- src/include/access/xlogreader.h | 2 ++ src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c | 4 ++-- 45 files changed, 57 insertions(+), 55 deletions(-) diff --git a/contrib/pg_walinspect/pg_walinspect.c b/contrib/pg_walinspect/pg_walinspect.c index e07d0d6ce99..98930757827 100644 --- a/contrib/pg_walinspect/pg_walinspect.c +++ b/contrib/pg_walinspect/pg_walinspect.c @@ -203,7 +203,7 @@ GetWALRecordInfo(XLogReaderState *record, Datum *values, record_type = desc.rm_identify(XLogRecGetInfo(record)); if (record_type == NULL) - record_type = psprintf("UNKNOWN (%x)", XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK); + record_type = psprintf("UNKNOWN (%x)", XLogRecGetRmgrInfo(record)); initStringInfo(&rec_desc); desc.rm_desc(&rec_desc, record); @@ -266,7 +266,7 @@ GetWALBlockInfo(FunctionCallInfo fcinfo, XLogReaderState *record, if (record_type == NULL) record_type = psprintf("UNKNOWN (%x)", - XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK); + XLogRecGetRmgrInfo(record)); initStringInfo(&rec_desc); desc.rm_desc(&rec_desc, record); diff --git a/src/backend/access/brin/brin_xlog.c b/src/backend/access/brin/brin_xlog.c index c9b91a15b46..5a2cc38e0e0 100644 --- a/src/backend/access/brin/brin_xlog.c +++ b/src/backend/access/brin/brin_xlog.c @@ -308,7 +308,7 @@ brin_xlog_desummarize_page(XLogReaderState *record) void brin_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info & XLOG_BRIN_OPMASK) { diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index 7b2ec5a0429..1fd53a8679e 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -725,7 +725,7 @@ ginRedoDeleteListPages(XLogReaderState *record) void gin_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); MemoryContext oldCtx; /* diff --git a/src/backend/access/gist/gistxlog.c b/src/backend/access/gist/gistxlog.c index 1b382848a12..63f49fe887c 100644 --- a/src/backend/access/gist/gistxlog.c +++ b/src/backend/access/gist/gistxlog.c @@ -396,7 +396,7 @@ gistRedoPageReuse(XLogReaderState *record) void gist_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); MemoryContext oldCxt; /* diff --git a/src/backend/access/hash/hash_xlog.c b/src/backend/access/hash/hash_xlog.c index 9df486a564b..335f484a8b3 100644 --- a/src/backend/access/hash/hash_xlog.c +++ b/src/backend/access/hash/hash_xlog.c @@ -1066,7 +1066,7 @@ hash_xlog_vacuum_one_page(XLogReaderState *record) void hash_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/heap/heapam_xlog.c b/src/backend/access/heap/heapam_xlog.c index 29e87ccc8d8..0b1751a39a8 100644 --- a/src/backend/access/heap/heapam_xlog.c +++ b/src/backend/access/heap/heapam_xlog.c @@ -1181,7 +1181,7 @@ heap_xlog_inplace(XLogReaderState *record) void heap_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* * These operations don't overwrite MVCC data so no conflict processing is @@ -1227,7 +1227,7 @@ heap_redo(XLogReaderState *record) void heap2_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info & XLOG_HEAP_OPMASK) { diff --git a/src/backend/access/nbtree/nbtxlog.c b/src/backend/access/nbtree/nbtxlog.c index ccfc71954f9..441bf942f8b 100644 --- a/src/backend/access/nbtree/nbtxlog.c +++ b/src/backend/access/nbtree/nbtxlog.c @@ -1017,7 +1017,7 @@ btree_xlog_reuse_page(XLogReaderState *record) void btree_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); MemoryContext oldCtx; oldCtx = MemoryContextSwitchTo(opCtx); diff --git a/src/backend/access/rmgrdesc/brindesc.c b/src/backend/access/rmgrdesc/brindesc.c index 1be7c6dc927..27699e313b0 100644 --- a/src/backend/access/rmgrdesc/brindesc.c +++ b/src/backend/access/rmgrdesc/brindesc.c @@ -20,7 +20,7 @@ void brin_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); info &= XLOG_BRIN_OPMASK; if (info == XLOG_BRIN_CREATE_INDEX) diff --git a/src/backend/access/rmgrdesc/clogdesc.c b/src/backend/access/rmgrdesc/clogdesc.c index 11a4c38ca96..26c8ce27a7e 100644 --- a/src/backend/access/rmgrdesc/clogdesc.c +++ b/src/backend/access/rmgrdesc/clogdesc.c @@ -21,7 +21,7 @@ void clog_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == CLOG_ZEROPAGE) { diff --git a/src/backend/access/rmgrdesc/committsdesc.c b/src/backend/access/rmgrdesc/committsdesc.c index 9204a9aea6c..329f4e3613f 100644 --- a/src/backend/access/rmgrdesc/committsdesc.c +++ b/src/backend/access/rmgrdesc/committsdesc.c @@ -21,7 +21,7 @@ void commit_ts_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == COMMIT_TS_ZEROPAGE) { diff --git a/src/backend/access/rmgrdesc/dbasedesc.c b/src/backend/access/rmgrdesc/dbasedesc.c index 9be3cd873e5..2e0ad6478fe 100644 --- a/src/backend/access/rmgrdesc/dbasedesc.c +++ b/src/backend/access/rmgrdesc/dbasedesc.c @@ -22,7 +22,7 @@ void dbase_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_DBASE_CREATE_FILE_COPY) { diff --git a/src/backend/access/rmgrdesc/gindesc.c b/src/backend/access/rmgrdesc/gindesc.c index 1a54956d96d..e2095f231dd 100644 --- a/src/backend/access/rmgrdesc/gindesc.c +++ b/src/backend/access/rmgrdesc/gindesc.c @@ -72,7 +72,7 @@ void gin_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/rmgrdesc/gistdesc.c b/src/backend/access/rmgrdesc/gistdesc.c index be67717ffe3..ff463ffdbef 100644 --- a/src/backend/access/rmgrdesc/gistdesc.c +++ b/src/backend/access/rmgrdesc/gistdesc.c @@ -61,7 +61,7 @@ void gist_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/rmgrdesc/hashdesc.c b/src/backend/access/rmgrdesc/hashdesc.c index 6547b4619e5..32b80a2fc5a 100644 --- a/src/backend/access/rmgrdesc/hashdesc.c +++ b/src/backend/access/rmgrdesc/hashdesc.c @@ -20,7 +20,7 @@ void hash_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/rmgrdesc/heapdesc.c b/src/backend/access/rmgrdesc/heapdesc.c index 12a30099d95..0e920e838af 100644 --- a/src/backend/access/rmgrdesc/heapdesc.c +++ b/src/backend/access/rmgrdesc/heapdesc.c @@ -184,7 +184,7 @@ void heap_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); info &= XLOG_HEAP_OPMASK; if (info == XLOG_HEAP_INSERT) @@ -264,7 +264,7 @@ void heap2_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); info &= XLOG_HEAP_OPMASK; if (info == XLOG_HEAP2_PRUNE_ON_ACCESS || diff --git a/src/backend/access/rmgrdesc/logicalmsgdesc.c b/src/backend/access/rmgrdesc/logicalmsgdesc.c index d2112e02d2b..527f02592e4 100644 --- a/src/backend/access/rmgrdesc/logicalmsgdesc.c +++ b/src/backend/access/rmgrdesc/logicalmsgdesc.c @@ -19,7 +19,7 @@ void logicalmsg_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_LOGICAL_MESSAGE) { diff --git a/src/backend/access/rmgrdesc/mxactdesc.c b/src/backend/access/rmgrdesc/mxactdesc.c index d5a5ec4534c..fa3a4b0e737 100644 --- a/src/backend/access/rmgrdesc/mxactdesc.c +++ b/src/backend/access/rmgrdesc/mxactdesc.c @@ -50,7 +50,7 @@ void multixact_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_MULTIXACT_ZERO_OFF_PAGE || info == XLOG_MULTIXACT_ZERO_MEM_PAGE) diff --git a/src/backend/access/rmgrdesc/nbtdesc.c b/src/backend/access/rmgrdesc/nbtdesc.c index 5cbf9473d5a..1f5905f7e3c 100644 --- a/src/backend/access/rmgrdesc/nbtdesc.c +++ b/src/backend/access/rmgrdesc/nbtdesc.c @@ -24,7 +24,7 @@ void btree_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/rmgrdesc/relmapdesc.c b/src/backend/access/rmgrdesc/relmapdesc.c index 0ad32eb90f1..56f108ecd2d 100644 --- a/src/backend/access/rmgrdesc/relmapdesc.c +++ b/src/backend/access/rmgrdesc/relmapdesc.c @@ -20,7 +20,7 @@ void relmap_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_RELMAP_UPDATE) { diff --git a/src/backend/access/rmgrdesc/replorigindesc.c b/src/backend/access/rmgrdesc/replorigindesc.c index 9cf67673fe0..2abea74849e 100644 --- a/src/backend/access/rmgrdesc/replorigindesc.c +++ b/src/backend/access/rmgrdesc/replorigindesc.c @@ -19,7 +19,7 @@ void replorigin_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/rmgrdesc/seqdesc.c b/src/backend/access/rmgrdesc/seqdesc.c index 6ba16f94f46..dbf7559c04e 100644 --- a/src/backend/access/rmgrdesc/seqdesc.c +++ b/src/backend/access/rmgrdesc/seqdesc.c @@ -21,7 +21,7 @@ void seq_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); xl_seq_rec *xlrec = (xl_seq_rec *) rec; if (info == XLOG_SEQ_LOG) diff --git a/src/backend/access/rmgrdesc/smgrdesc.c b/src/backend/access/rmgrdesc/smgrdesc.c index a66415b4cab..9b6f58a592b 100644 --- a/src/backend/access/rmgrdesc/smgrdesc.c +++ b/src/backend/access/rmgrdesc/smgrdesc.c @@ -21,7 +21,7 @@ void smgr_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_SMGR_CREATE) { diff --git a/src/backend/access/rmgrdesc/spgdesc.c b/src/backend/access/rmgrdesc/spgdesc.c index 21d7ba63a4f..3acbff6e2e8 100644 --- a/src/backend/access/rmgrdesc/spgdesc.c +++ b/src/backend/access/rmgrdesc/spgdesc.c @@ -20,7 +20,7 @@ void spg_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/access/rmgrdesc/standbydesc.c b/src/backend/access/rmgrdesc/standbydesc.c index 588b0dec7ab..b30e66e003c 100644 --- a/src/backend/access/rmgrdesc/standbydesc.c +++ b/src/backend/access/rmgrdesc/standbydesc.c @@ -47,7 +47,7 @@ void standby_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_STANDBY_LOCK) { diff --git a/src/backend/access/rmgrdesc/tblspcdesc.c b/src/backend/access/rmgrdesc/tblspcdesc.c index 2066d8588ca..9e86a8a7ce1 100644 --- a/src/backend/access/rmgrdesc/tblspcdesc.c +++ b/src/backend/access/rmgrdesc/tblspcdesc.c @@ -21,7 +21,7 @@ void tblspc_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_TBLSPC_CREATE) { diff --git a/src/backend/access/rmgrdesc/xlogdesc.c b/src/backend/access/rmgrdesc/xlogdesc.c index 77cc7b0e644..6d2753d92ac 100644 --- a/src/backend/access/rmgrdesc/xlogdesc.c +++ b/src/backend/access/rmgrdesc/xlogdesc.c @@ -58,7 +58,7 @@ void xlog_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_CHECKPOINT_SHUTDOWN || info == XLOG_CHECKPOINT_ONLINE) diff --git a/src/backend/access/spgist/spgxlog.c b/src/backend/access/spgist/spgxlog.c index 6767f7598d5..8a4fdcf2a68 100644 --- a/src/backend/access/spgist/spgxlog.c +++ b/src/backend/access/spgist/spgxlog.c @@ -934,7 +934,7 @@ spgRedoVacuumRedirect(XLogReaderState *record) void spg_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); MemoryContext oldCxt; oldCxt = MemoryContextSwitchTo(opCtx); diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c index 680052d58e2..717c7885f53 100644 --- a/src/backend/access/transam/clog.c +++ b/src/backend/access/transam/clog.c @@ -1106,7 +1106,7 @@ WriteTruncateXlogRec(int64 pageno, TransactionId oldestXact, Oid oldestXactDb) void clog_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in clog records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/access/transam/commit_ts.c b/src/backend/access/transam/commit_ts.c index a278d0a0b8b..26918d21337 100644 --- a/src/backend/access/transam/commit_ts.c +++ b/src/backend/access/transam/commit_ts.c @@ -1015,7 +1015,7 @@ WriteTruncateXlogRec(int64 pageno, TransactionId oldestXid) void commit_ts_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in commit_ts records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index 0560a414ff5..98f31a609ed 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -3393,7 +3393,7 @@ WriteMTruncateXlogRec(Oid oldestMultiDB, void multixact_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in multixact records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 3165845ae12..5ae6fae49c4 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -8422,7 +8422,7 @@ UpdateFullPageWrites(void) void xlog_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); XLogRecPtr lsn = record->EndRecPtr; /* diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index 724e4704c76..c7be958dd55 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -2080,7 +2080,7 @@ ApplyWalRecord(XLogReaderState *xlogreader, XLogRecord *record, TimeLineID *repl static void xlogrecovery_redo(XLogReaderState *record, TimeLineID replayTLI) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); XLogRecPtr lsn = record->EndRecPtr; Assert(XLogRecGetRmid(record) == RM_XLOG_ID); @@ -2436,7 +2436,7 @@ checkTimeLineSwitch(XLogRecPtr lsn, TimeLineID newTLI, TimeLineID prevTLI, static bool getRecordTimestamp(XLogReaderState *record, TimestampTz *recordXtime) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); uint8 xact_info = info & XLOG_XACT_OPMASK; uint8 rmid = XLogRecGetRmid(record); @@ -2748,7 +2748,7 @@ recoveryStopsAfter(XLogReaderState *record) if (!ArchiveRecoveryRequested) return false; - info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + info = XLogRecGetRmgrInfo(record); rmid = XLogRecGetRmid(record); /* diff --git a/src/backend/catalog/storage.c b/src/backend/catalog/storage.c index 9ce4da7f32a..0ba97b2ba31 100644 --- a/src/backend/catalog/storage.c +++ b/src/backend/catalog/storage.c @@ -981,7 +981,7 @@ void smgr_redo(XLogReaderState *record) { XLogRecPtr lsn = record->EndRecPtr; - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in smgr records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 02797ed87a5..e1313c01ab1 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -3283,7 +3283,7 @@ recovery_create_dbdir(char *path, bool only_tblspc) void dbase_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in dbase records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index c81a5c18cd0..80e952f15b1 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -1890,7 +1890,7 @@ void seq_redo(XLogReaderState *record) { XLogRecPtr lsn = record->EndRecPtr; - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); Buffer buffer; Page page; Page localpage; diff --git a/src/backend/commands/tablespace.c b/src/backend/commands/tablespace.c index 52600f155c9..56b226ad03e 100644 --- a/src/backend/commands/tablespace.c +++ b/src/backend/commands/tablespace.c @@ -1510,7 +1510,7 @@ get_tablespace_name(Oid spc_oid) void tblspc_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in tblspc records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/postmaster/walsummarizer.c b/src/backend/postmaster/walsummarizer.c index 6dec1050a8a..d8aff2b8db1 100644 --- a/src/backend/postmaster/walsummarizer.c +++ b/src/backend/postmaster/walsummarizer.c @@ -1248,7 +1248,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact, static void SummarizeDbaseRecord(XLogReaderState *xlogreader, BlockRefTable *brtab) { - uint8 info = XLogRecGetInfo(xlogreader) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(xlogreader); /* * We use relfilenode zero for a given database OID and tablespace OID to @@ -1317,7 +1317,7 @@ SummarizeDbaseRecord(XLogReaderState *xlogreader, BlockRefTable *brtab) static void SummarizeSmgrRecord(XLogReaderState *xlogreader, BlockRefTable *brtab) { - uint8 info = XLogRecGetInfo(xlogreader) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(xlogreader); if (info == XLOG_SMGR_CREATE) { @@ -1366,7 +1366,7 @@ SummarizeSmgrRecord(XLogReaderState *xlogreader, BlockRefTable *brtab) static void SummarizeXactRecord(XLogReaderState *xlogreader, BlockRefTable *brtab) { - uint8 info = XLogRecGetInfo(xlogreader) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(xlogreader); uint8 xact_info = info & XLOG_XACT_OPMASK; if (xact_info == XLOG_XACT_COMMIT || @@ -1426,7 +1426,7 @@ SummarizeXactRecord(XLogReaderState *xlogreader, BlockRefTable *brtab) static bool SummarizeXlogRecord(XLogReaderState *xlogreader, bool *new_fast_forward) { - uint8 info = XLogRecGetInfo(xlogreader) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(xlogreader); int record_wal_level; if (info == XLOG_CHECKPOINT_REDO) diff --git a/src/backend/replication/logical/decode.c b/src/backend/replication/logical/decode.c index c87fb8f8c97..93b69c3c530 100644 --- a/src/backend/replication/logical/decode.c +++ b/src/backend/replication/logical/decode.c @@ -129,7 +129,7 @@ void xlog_decode(LogicalDecodingContext *ctx, XLogRecordBuffer *buf) { SnapBuild *builder = ctx->snapshot_builder; - uint8 info = XLogRecGetInfo(buf->record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(buf->record); ReorderBufferProcessXid(ctx->reorder, XLogRecGetXid(buf->record), buf->origptr); @@ -360,7 +360,7 @@ standby_decode(LogicalDecodingContext *ctx, XLogRecordBuffer *buf) { SnapBuild *builder = ctx->snapshot_builder; XLogReaderState *r = buf->record; - uint8 info = XLogRecGetInfo(r) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(r); ReorderBufferProcessXid(ctx->reorder, XLogRecGetXid(r), buf->origptr); @@ -597,7 +597,7 @@ logicalmsg_decode(LogicalDecodingContext *ctx, XLogRecordBuffer *buf) SnapBuild *builder = ctx->snapshot_builder; XLogReaderState *r = buf->record; TransactionId xid = XLogRecGetXid(r); - uint8 info = XLogRecGetInfo(r) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(r); RepOriginId origin_id = XLogRecGetOrigin(r); Snapshot snapshot = NULL; xl_logical_message *message; diff --git a/src/backend/replication/logical/message.c b/src/backend/replication/logical/message.c index 10d60880195..31f5bec0e3d 100644 --- a/src/backend/replication/logical/message.c +++ b/src/backend/replication/logical/message.c @@ -86,7 +86,7 @@ LogLogicalMessage(const char *prefix, const char *message, size_t size, void logicalmsg_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info != XLOG_LOGICAL_MESSAGE) elog(PANIC, "logicalmsg_redo: unknown op code %u", info); diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c index 4a8fa5abc3e..2c61da04a52 100644 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@ -849,7 +849,7 @@ StartupReplicationOrigin(void) void replorigin_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); switch (info) { diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 5e4f914f4f0..388f6882f2c 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -1162,7 +1162,7 @@ StandbyReleaseOldLocks(TransactionId oldxid) void standby_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in standby records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/backend/utils/cache/relmapper.c b/src/backend/utils/cache/relmapper.c index 0e35ab8b57c..116d314eb9b 100644 --- a/src/backend/utils/cache/relmapper.c +++ b/src/backend/utils/cache/relmapper.c @@ -1095,7 +1095,7 @@ perform_relmap_update(bool shared, const RelMapFile *updates) void relmap_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); /* Backup blocks are not used in relmap records */ Assert(!XLogRecHasAnyBlockRefs(record)); diff --git a/src/bin/pg_rewind/parsexlog.c b/src/bin/pg_rewind/parsexlog.c index 9bfd6ea325b..b0b2fdfafdd 100644 --- a/src/bin/pg_rewind/parsexlog.c +++ b/src/bin/pg_rewind/parsexlog.c @@ -243,7 +243,7 @@ findLastCheckpoint(const char *datadir, XLogRecPtr forkptr, int tliIndex, * be the latest checkpoint before WAL forked and not the checkpoint * where the primary has been stopped to be rewound. */ - info = XLogRecGetInfo(xlogreader) & XLR_RMGR_INFO_MASK; + info = XLogRecGetRmgrInfo(xlogreader); if (searchptr < forkptr && XLogRecGetRmid(xlogreader) == RM_XLOG_ID && (info == XLOG_CHECKPOINT_SHUTDOWN || diff --git a/src/include/access/xlogreader.h b/src/include/access/xlogreader.h index 9738462d3c9..0522854f434 100644 --- a/src/include/access/xlogreader.h +++ b/src/include/access/xlogreader.h @@ -408,6 +408,8 @@ extern bool DecodeXLogRecord(XLogReaderState *state, #define XLogRecGetTotalLen(decoder) ((decoder)->record->header.xl_tot_len) #define XLogRecGetPrev(decoder) ((decoder)->record->header.xl_prev) #define XLogRecGetInfo(decoder) ((decoder)->record->header.xl_info) +#define XLogRecGetRmgrInfo(decoder) ((decoder)->record->header.xl_info \ + & XLR_RMGR_INFO_MASK) #define XLogRecGetRmid(decoder) ((decoder)->record->header.xl_rmid) #define XLogRecGetXid(decoder) ((decoder)->record->header.xl_xid) #define XLogRecGetOrigin(decoder) ((decoder)->record->record_origin) diff --git a/src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c b/src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c index 5ecb4970be7..6d8a3f88017 100644 --- a/src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c +++ b/src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c @@ -81,7 +81,7 @@ _PG_init(void) void testcustomrmgrs_redo(XLogReaderState *record) { - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info != XLOG_TEST_CUSTOM_RMGRS_MESSAGE) elog(PANIC, "testcustomrmgrs_redo: unknown op code %u", info); @@ -91,7 +91,7 @@ void testcustomrmgrs_desc(StringInfo buf, XLogReaderState *record) { char *rec = XLogRecGetData(record); - uint8 info = XLogRecGetInfo(record) & XLR_RMGR_INFO_MASK; + uint8 info = XLogRecGetRmgrInfo(record); if (info == XLOG_TEST_CUSTOM_RMGRS_MESSAGE) { -- 2.39.5 (Apple Git-154)