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

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael@paquier.xyz>, pgsql-committers@lists.postgresql.org
Date: 2025-08-19T14:28:29Z
Lists: pgsql-hackers
Hi,

On 2025-08-19 14:01:52 +0000, Bertrand Drouvot wrote:
> On Tue, Aug 19, 2025 at 12:31:14PM +0200, Álvaro Herrera wrote:
> > After these two changes, a lot of
> > files can stop including dbcommands.h.  This seems a nice cleanup to me,
> > and passes headerscheck.
> 
> meson does report:
> 
> ../src/test/modules/worker_spi/worker_spi.c: In function ‘worker_spi_launch’:
> ../src/test/modules/worker_spi/worker_spi.c:455:25: error: implicit declaration of function ‘get_database_oid’ [-Wimplicit-function-declaration]
>   455 |                 dboid = get_database_oid(worker_spi_database, false);
> 
> It looks like pg_database.h include is missing in worker_spi.c.
> 
> That said, autoconf does not report the issue, and that's because test/modules
> is missing in src/Makefile. Is there any reasons for that? If not, the attached
> fix it.

That can't be the reason - it's reached from src/test/Makefile

> SUBDIRS = perl postmaster regress isolation modules authentication recovery subscription


Greetings,

Andres Freund



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