Re: pgsql: Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers.
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-04-09T01:00:31Z
Lists: pgsql-hackers
On Sun, Apr 08, 2018 at 06:35:39PM +0000, Tom Lane wrote:
> Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers.
>
> Traditionally, include/catalog/pg_foo.h contains extern declarations
> for functions in backend/catalog/pg_foo.c, in addition to its function
> as the authoritative definition of the pg_foo catalog's rowtype.
> In some cases, we'd been forced to split out those extern declarations
> into separate pg_foo_fn.h headers so that the catalog definitions
> could be #include'd by frontend code. That problem is gone as of
> commit 9c0a0de4c, so let's undo the splits to make things less
> confusing.
This patch or one of its relatives has visibly broken parallel builds
for me. "make -j 4 install" directly called after a configure complains:
In file included from ../../src/include/catalog/catalog.h:22:0,
from relpath.c:21:
../../src/include/catalog/pg_class.h:22:10: fatal error: catalog/pg_class_d.h: No such file or directory
#include "catalog/pg_class_d.h"
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
I did not take the time to look into the problem, that's just a head's
up. I am on HEAD at b3b7f789 so it is not like I lack any fixes.
Please note that "make -j 4" directly called works.
--
Michael
Commits
-
Fix pgxs.mk to not try to build generated headers in external builds.
- 1a40485af6e4 11.0 landed
-
Fix partial-build problems introduced by having more generated headers.
- 3b8f6e75f3c8 11.0 landed
-
Further cleanup of client dependencies on src/include/catalog headers.
- af1a949109d8 11.0 landed
-
Merge catalog/pg_foo_fn.h headers back into pg_foo.h headers.
- cefa3871534d 11.0 cited
-
Switch client-side code to include catalog/pg_foo_d.h not pg_foo.h.
- 9c0a0de4c91b 11.0 cited