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

Поиск
Список
Период
Сортировка
От Bertrand Drouvot
Тема Re: pgsql: Move SQL-callable code related to multixacts into its own file
Дата
Msg-id aKSD0MN0mq74p22z@ip-10-97-1-34.eu-west-3.compute.internal
обсуждение исходный текст
Ответ на Re: pgsql: Move SQL-callable code related to multixacts into its own file  (Álvaro Herrera <alvherre@kurilemu.de>)
Ответы Re: pgsql: Move SQL-callable code related to multixacts into its own file
Список pgsql-committers
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

Вложения

В списке pgsql-committers по дате отправления: