Re: pgsql: Move SQL-callable code related to multixacts into its own file
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael@paquier.xyz>, pgsql-committers@lists.postgresql.org
Date: 2025-08-19T14:01:52Z
Lists: pgsql-hackers
Attachments
- v1-0001-Add-test-modules-to-src-Makefile.txt (text/plain)
Hi, On Tue, Aug 19, 2025 at 12:31:14PM +0200, Álvaro Herrera wrote: > On 2025-Aug-18, Tom Lane wrote: > > > Michael Paquier <michael@paquier.xyz> writes: > > > On Mon, Aug 18, 2025 at 09:47:14AM -0400, Tom Lane wrote: > > >> Couldn't this have removed some #include-s from multixact.c? > > > > > Right. funcapi.h and fmgrprotos.h are direct dependencies, but > > > looking closer it is also possible to remove four more of them. > > > > Sounds good! > > Hmm, don't you find strange that dbcommands.h is still included there? > I wondered about that and found out that we have get_database_name() > declared there. It sort-of makes sense, because it was originally done > by scanning pg_database, but since commit cb98e6fb8fd4 introduced a > syscache for it, we can have this routine in lsyscache.c/h instead, > where it feels more at home. That makes sense to me. > It also seems more sensible to declare > get_database_oid() in pg_database.h. Yes. > 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. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
-
Avoid including commands/dbcommands.h in so many places
- 325fc0ab14d1 19 (unreleased) landed
-
Remove unneeded header declarations in multixact.c
- 24e71d53f88e 19 (unreleased) landed
-
Move SQL-callable code related to multixacts into its own file
- df9133fa6384 19 (unreleased) cited
-
Create a syscache for pg_database-indexed-by-oid, and make use of it
- cb98e6fb8fd4 8.2.0 cited