]> granicus.if.org Git - postgresql/commitdiff
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)
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

index b25b3f1de0f5830243093e950e32a3959ebe9283..bed343ea0c0979a1aafd04a96520221580d65b4d 100644 (file)
@@ -13,7 +13,7 @@
  *-------------------------------------------------------------------------
  */
 
-#include "plpgsql.h"
+#include "postgres.h"
 
 #include <ctype.h>
 
@@ -33,6 +33,8 @@
 #include "utils/rel.h"
 #include "utils/syscache.h"
 
+#include "plpgsql.h"
+
 
 /* ----------
  * Our own local and global variables
index 6fc3db07fe64d7ca46245e28fa759856d7a954ee..196e518e0df48c257407cb1d60e891b424e5e6db 100644 (file)
@@ -13,7 +13,7 @@
  *-------------------------------------------------------------------------
  */
 
-#include "plpgsql.h"
+#include "postgres.h"
 
 #include <ctype.h>
 
@@ -41,6 +41,8 @@
 #include "utils/snapmgr.h"
 #include "utils/typcache.h"
 
+#include "plpgsql.h"
+
 
 typedef struct
 {
index 906fe0148d103635e3541f3b96b933b808feb9a9..93f89814b34fe2b82b5736b7e72e9285c9abcd9d 100644 (file)
  *-------------------------------------------------------------------------
  */
 
-#include "plpgsql.h"
+#include "postgres.h"
 
 #include "utils/memutils.h"
 
+#include "plpgsql.h"
+
 
 /* ----------
  * Local variables for namespace handling
index 4a4cd6ae26fdacb2720eb3e29856df9eeb989abc..29729df550ea98b8be7133c044920fdbe66def5d 100644 (file)
@@ -13,7 +13,7 @@
  *-------------------------------------------------------------------------
  */
 
-#include "plpgsql.h"
+#include "postgres.h"
 
 #include "catalog/namespace.h"
 #include "catalog/pg_type.h"
@@ -23,6 +23,8 @@
 #include "parser/scansup.h"
 #include "utils/builtins.h"
 
+#include "plpgsql.h"
+
 
 /* Location tracking support --- simpler than bison's default */
 #define YYLLOC_DEFAULT(Current, Rhs, N) \
index 92d15810d7f6cc283d6cb8ceac090afa19161110..83ec4530dbac41c269a7e6cfd0e6a27091533ef1 100644 (file)
@@ -13,7 +13,7 @@
  *-------------------------------------------------------------------------
  */
 
-#include "plpgsql.h"
+#include "postgres.h"
 
 #include "access/htup_details.h"
 #include "catalog/pg_proc.h"
@@ -26,6 +26,8 @@
 #include "utils/syscache.h"
 #include "utils/varlena.h"
 
+#include "plpgsql.h"
+
 
 static bool plpgsql_extra_checks_check_hook(char **newvalue, void **extra, GucSource source);
 static void plpgsql_extra_warnings_assign_hook(const char *newvalue, void *extra);
index c40121308beb6b94922cab7fc755c52844f8a854..553be8c93c7ba9b392454b7b910a8f55155a8063 100644 (file)
  *
  *-------------------------------------------------------------------------
  */
-#include "plpgsql.h"
+#include "postgres.h"
 
 #include "mb/pg_wchar.h"
 #include "parser/scanner.h"
 
+#include "plpgsql.h"
 #include "pl_gram.h"                   /* must be after parser/scanner.h */
 
+
 #define PG_KEYWORD(a,b,c) {a,b,c},
 
 
index 3421eed74fc5c84ea529f1c24e576c087da78416..b7e103b514388b387b5c5e4d1688c45cf48c7a8c 100644 (file)
@@ -16,8 +16,6 @@
 #ifndef PLPGSQL_H
 #define PLPGSQL_H
 
-#include "postgres.h"
-
 #include "access/xact.h"
 #include "commands/event_trigger.h"
 #include "commands/trigger.h"