On 15/10/2025 02:54, Michael Paquier wrote:
> On Tue, Oct 14, 2025 at 03:20:16PM +0300, Heikki Linnakangas wrote:
>> I'm not sure I agree with the premise that we should try to get rid of
>> RM_HEAP2_ID. There's nothing wrong with that scheme as such. As an
>> alternative, we could easily teach e.g pg_waldump to treat RM_HEAP_ID and
>> RM_HEAP2_ID the same for statistics purposes.
>
> Yeah, I'd rather keep heap2 as well. As long as there is more room
> for the record IDs, we're still going to need it in the long run.
IMO if we do expand xl_info so that we have a full byte for
RMGR-specific info, then it does make sense to get rid of RM_HEAP2_ID
like this patch does. But if that was the only reason for changing the
WAL record header format, I don't think it's worth it.
>> This patch consumes one of the padding bytes. That's not entirely free, as
>> there is an opportunity cost: we could squeeze out the padding bytes and
>> save 2 bytes on every WAL record instead.
>
> Do you recall an alternative where it would have been possible to save
> 2 bytes for each record by removing the padding, and still have the
> full byte of xl_info be usable freely by each RMGR? I cannot recall
> any magic based on how XLogRecord is designed now, but perhaps I
> have missed an argument.
I don't know how to do that. My point was that if we *don't* consume a
full byte for RMGR-specific info, we could remove the two padding bytes
instead and make every WAL record 2 bytes smaller.
- Heikki