]> granicus.if.org Git - postgresql/commit
Bring plpgsql into line with header inclusion policy.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 8 Mar 2017 22:21:08 +0000 (17:21 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 8 Mar 2017 22:21:08 +0000 (17:21 -0500)
commit08da52859a1fadeac10aab621c6c793791ec1f2c
tree2e7e6dd95f4d5a0f8b58fe5d7f16b43faff04927
parentd6b059ec740a6affce9a069f1210d161068317e3
Bring plpgsql into line with header inclusion policy.

We have a project policy that every .c file should start by including
postgres.h, postgres_fe.h, or c.h as appropriate; and then there is no
need for any .h file to explicitly include any of these.  (The core
reason for this policy is to make it easy to verify that pg_config_os.h
is included before any system headers such as <stdio.h>; without that,
we have portability issues on some platforms due to variation in largefile
options across different modules in the backend.  Also, if .h files were
responsible for choosing which of these key headers to include, .h files
that need to be includable in either frontend or backend compiles would be
in trouble.)

plpgsql was blithely ignoring this policy, so whack it upside the head
until it complies.  I also chose to standardize on including plpgsql's
own .h files after all core-system headers that it pulls in.  That
could've been done either way, but this way seems saner.

Discussion: https://postgr.es/m/CAEepm=2zCoeq3QxVwhS5DFeUh=yU6z81pbWMgfOB8OzyiBwxzw@mail.gmail.com
Discussion: https://postgr.es/m/11634.1488932128@sss.pgh.pa.us
src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/pl_funcs.c
src/pl/plpgsql/src/pl_gram.y
src/pl/plpgsql/src/pl_handler.c
src/pl/plpgsql/src/pl_scanner.c
src/pl/plpgsql/src/plpgsql.h