pgsql: Document intentional violations of header inclusion policy.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Document intentional violations of header inclusion policy.
Date: 2017-03-08 22:01:24
Message-ID: E1clje8-0001Y3-FV@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Document intentional violations of header inclusion policy.

Although there are good reasons for our policy of including postgres.h
as the first #include in every .c file, never from .h files, there are
two places where it seems expedient to violate the policy because the
alternative is to modify externally-supplied .c files. (In the case
of the regexp library, the idea that it's externally-supplied is kind
of at odds with reality, but I haven't entirely given up hope that it
will become a standalone project some day.) Add some comments to make
it explicit that this is a policy violation and provide the reasoning.

In passing, move #include "miscadmin.h" out of regcomp.c and into
regcustom.h, which is where it should be if we're taking this reasoning
seriously at all.

Discussion: https://postgr.es/m/CAEepm=2zCoeq3QxVwhS5DFeUh=yU6z81pbWMgfOB8OzyiBwxzw@mail.gmail.com
Discussion: https://postgr.es/m/11634.1488932128@sss.pgh.pa.us

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d6b059ec740a6affce9a069f1210d161068317e3

Modified Files
--------------
src/backend/regex/regcomp.c | 2 --
src/include/regex/regcustom.h | 9 +++++++++
src/include/snowball/header.h | 5 +++++
3 files changed, 14 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2017-03-08 22:21:13 pgsql: Bring plpgsql into line with header inclusion policy.
Previous Message Tom Lane 2017-03-08 21:19:45 pgsql: Suppress compiler warning in slab.c.