LGTM. I have no more comments. Regards, Steven
Xiaoran Wang <fanfuxiao...@gmail.com> 于2025年6月9日周一 18:31写道: > Just upload all the patches together. > > Xiaoran Wang <fanfuxiao...@gmail.com> 于2025年6月9日周一 18:25写道: > >> >> >> Steven Niu <niush...@gmail.com> 于2025年6月9日周一 14:46写道: >> >>> Hi, >>> >>> I like the idea of your change as it saves me out of >>> converting-in-my-mind. >>> >>> And I suggest to create a macro to do this job. >>> #define getRmgrInfo(info) (info & XLR_RMGR_INFO_MASK) >>> >>> Then the code can become: >>> XLogRecGetInfo(record) & ~XLR_INFO_MASK; >>> --> >>> getRmgrInfo(XLogRecGetInfo(record)); >>> >> >> Good idea, found lots of 'XLogRecGetInfo(record) & ~XLR_INFO_MASK;' >> in the code. >> >> I add a macro XLogRecRmgrGetInfo(record) in patch 0002. >> >>> >>> Thanks, >>> Steven >>> >>> >>> 在 2025/6/9 14:23, Xiaoran Wang 写道: >>> > Hi, >>> > I refactored the code of extracting XLogRecord info. >>> > In XLogRecord, the high 4 bits in xl_info is used by rmgr. >>> > >>> > typedef struct XLogRecord >>> > { >>> > uint32 xl_tot_len; /* total len of entire record */ >>> > TransactionId xl_xid; /* xact id */ >>> > XLogRecPtr xl_prev; /* ptr to previous record in log */ >>> > uint8 xl_info; /* flag bits, see below */ >>> > RmgrId xl_rmid; /* resource manager for this record */ >>> > /* 2 bytes of padding here, initialize to zero */ >>> > pg_crc32c xl_crc; /* CRC for this record */ >>> > >>> > /* XLogRecordBlockHeaders and XLogRecordDataHeader follow, no >>> > padding */ >>> > >>> > } XLogRecord; >>> > >>> > I found lots of the code to get the info as below >>> > >>> > XLogRecGetInfo(record) & ~XLR_INFO_MASK >>> > >>> > Actually, we can directly use XLR_RMGR_INFO_MASK(0xF0) >>> > instead of XLR_INFO_MASK(0x0F), which is easier to understand. >>> > Remove XLR_INFO_MASK as it is not used any more. >>> > >>> > >>> > -- >>> > Best regards ! >>> > Xiaoran Wang >>> >>> >>> >>> >> >> -- >> Best regards ! >> Xiaoran Wang >> > > > -- > Best regards ! > Xiaoran Wang >