pgsql: Move SQL-callable code related to multixacts into its own file

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: pgsql-committers@lists.postgresql.org
Date: 2025-08-18T06:14:05Z
Lists: pgsql-hackers
Move SQL-callable code related to multixacts into its own file

A patch is under discussion to add more SQL capabilities related to
multixacts, and this move avoids bloating the file more than necessary.
This affects pg_get_multixact_members().  A side effect of this move is
the requirement to add mxstatus_to_string() to multixact.h.

Extracted from a larger patch by the same author, tweaked by me.

Author: Naga Appani <nagnrik@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Discussion: https://postgr.es/m/CA+QeY+AAsYK6WvBW4qYzHz4bahHycDAY_q5ECmHkEV_eB9ckzg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/df9133fa63843627fb3579c89d892dc3d9ea2b95

Modified Files
--------------
src/backend/access/transam/multixact.c | 66 +-------------------------
src/backend/utils/adt/Makefile         |  1 +
src/backend/utils/adt/meson.build      |  1 +
src/backend/utils/adt/multixactfuncs.c | 87 ++++++++++++++++++++++++++++++++++
src/include/access/multixact.h         |  1 +
5 files changed, 91 insertions(+), 65 deletions(-)

Commits

  1. Avoid including commands/dbcommands.h in so many places

  2. Remove unneeded header declarations in multixact.c

  3. Move SQL-callable code related to multixacts into its own file

  4. Create a syscache for pg_database-indexed-by-oid, and make use of it