Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2017-03-08 22:01:13 +0000
committerTom Lane2017-03-08 22:01:13 +0000
commitd6b059ec740a6affce9a069f1210d161068317e3 (patch)
tree12b31459dcf728e09bcef55e1e7fac40f2d15fbd /src/include/regex
parent2f899e7d37ece937740c99164dd846c4b6f884eb (diff)
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
Diffstat (limited to 'src/include/regex')
-rw-r--r--src/include/regex/regcustom.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/include/regex/regcustom.h b/src/include/regex/regcustom.h
index 04a1893c806..82c9e2fad81 100644
--- a/src/include/regex/regcustom.h
+++ b/src/include/regex/regcustom.h
@@ -29,6 +29,13 @@
*/
/* headers if any */
+
+/*
+ * It's against Postgres coding conventions to include postgres.h in a
+ * header file, but we allow the violation here because the regexp library
+ * files specifically intend this file to supply application-dependent
+ * headers, and are careful to include this file before anything else.
+ */
#include "postgres.h"
#include <ctype.h>
@@ -47,6 +54,8 @@
#include "mb/pg_wchar.h"
+#include "miscadmin.h" /* needed by rcancelrequested/rstacktoodeep */
+
/* overrides for regguts.h definitions, if any */
#define FUNCPTR(name, args) (*name) args