Re: Fix bug in multixact Oldest*MXactId initialization and access - Mailing list pgsql-hackers

From Chao Li
Subject Re: Fix bug in multixact Oldest*MXactId initialization and access
Date
Msg-id A0249625-0EF4-4068-854F-0592139DFBC1@gmail.com
Whole thread Raw
In response to Re: Fix bug in multixact Oldest*MXactId initialization and access  (Sami Imseih <samimseih@gmail.com>)
Responses Re: Fix bug in multixact Oldest*MXactId initialization and access
List pgsql-hackers

> On Mar 2, 2026, at 10:34, Sami Imseih <samimseih@gmail.com> wrote:
>
>> New version attached.
>
> The comment here:
>
> +static inline MultiXactId *
> +PreparedXactOldestMemberMXactIdSlot(ProcNumber procno)
> +{
> +       /*
> +        * The entries with indexes >= MaxBackends in the OldestMemberMXactId
> +        * array are reserved for regular backends.
>
> should say "array are reserved for prepared transactions"
>

+1

And I saw the other code comment in multixact.c around line 162 needs an update because of this patch:
```
* Per-backend data starts here. We have two arrays stored in the area
* immediately following the MultiXactStateData struct. Each is indexed by
* ProcNumber.
```

It says “Each is indexed by ProcNumber”, but it’s no longer accurate for OldestMemberMXactId prepared-xact entries,
whichnow use index (procno - FIRST_PREPARED_XACT_PROC_NUMBER). 

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







pgsql-hackers by date:

Previous
From: Corey Huinker
Date:
Subject: Re: Add starelid, attnum to pg_stats and leverage this in pg_dump
Next
From: "David G. Johnston"
Date:
Subject: Re: pg_plan_advice