Re: Removing #include "postgres.h" from a couple of headers
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-03-08T14:33:55Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Wed, Mar 8, 2017 at 3:55 AM, Thomas Munro > <thomas.munro@enterprisedb.com> wrote: >> There are also instances in regcustom.h and snowball's header.h -- are >> those special cases? > I will leave this question to someone wiser (or more self-assured) than I. I'm pretty sure I'm to blame for both of those special cases. The genesis of both is that we are including these headers from externally-generated .c files, and it seemed like modifying the .c files would be a bigger problem than violating the policy. I am not sure if I hold that position anymore for the regexp library; our copy has diverged substantially from Tcl's anyway. It's still an issue for Snowball, because those .c files are actually machine-generated by a Snowball-to-C compiler. We haven't modified them and probably shouldn't. If we don't change the code layout, we should probably at least add comments near these postgres.h inclusions explaining why they're violating policy. regards, tom lane
Commits
-
Fix inclusions of c.h from .h files.
- a72f0365db41 10.0 landed
-
Fix inclusions of postgres_fe.h from .h files.
- 9722bb5757c5 10.0 landed
-
Bring plpgsql into line with header inclusion policy.
- 08da52859a1f 10.0 landed
-
Document intentional violations of header inclusion policy.
- d6b059ec740a 10.0 landed
-
Remove inclusion of postgres.h from a few header files.
- d9528604ccb0 10.0 landed