Re: Refactor function pg_get_multixact_stats (src/backend/utils/adt/multixactfuncs.c)
Ranier Vilela <ranier.vf@gmail.com>
From: Ranier Vilela <ranier.vf@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2026-07-01T10:44:59Z
Lists: pgsql-hackers
Hi Michael. Em qua., 1 de jul. de 2026 às 00:18, Michael Paquier <michael@paquier.xyz> escreveu: > On Tue, Jun 30, 2026 at 09:23:20AM -0300, Ranier Vilela wrote: > > Move the GetMultiXactInfo() call and the resulting computations > > into the branch where the values are actually consumed, narrowing > > the scope of the related local variables to that branch. This > > matches the usual pattern for privileged stats functions, which > > skip the underlying work entirely for callers who can't see the > > result, and avoids touching shared MultiXact state when there is no > > caller around to observe it. > > That's indeed wasteful, so applied as it is my business. > Thanks for the commit. > > > While here, size the memset() that NULLs the output row off > > sizeof(nulls) rather than *sizeof(bool) * tupdesc->natts*. > > The two are equivalent today, since nulls is a fixed 4-element array > > matching the function's declared return type, but relying the > > memset() with *natts* is an unnecessary dependency. > > If a column were ever added to the function's SQL definition without a > > matching update to this array, the old code would silently write > > past the end of nulls. > > But I left this one out. It's really impossible to miss. > I can send a separate patch. What do you think? best regards, Ranier Vilela
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid useless calls in pg_get_multixact_stats()
- 9a2c07cbde97 19 (unreleased) landed
- b542d5566705 master landed