summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2009-01-07 13:44:37 +0000
committerTom Lane2009-01-07 13:44:37 +0000
commitb256a495a61f11653d2c3ec33cc04340927ee757 (patch)
treef733aca9c565fd1897bd347cdd6e636d3daee9ba
parentf0f00307f4b2b526e4741490a44037e2802e2b6a (diff)
Fix executor/spi.h to follow our usual conventions for include files, ie,
not include postgres.h nor anything else it doesn't directly need. Add #includes to calling files as needed to compensate. Per my proposal of yesterday. This should be noted as a source code change in the 8.4 release notes, since it's likely to require changes in add-on modules.
-rw-r--r--contrib/spi/autoinc.c11
-rw-r--r--contrib/spi/insert_username.c9
-rw-r--r--contrib/spi/moddatetime.c6
-rw-r--r--contrib/spi/refint.c9
-rw-r--r--contrib/spi/timetravel.c19
-rw-r--r--contrib/tablefunc/tablefunc.c1
-rw-r--r--contrib/xml2/xpath.c12
-rw-r--r--contrib/xml2/xslt_proc.c13
-rw-r--r--doc/src/sgml/spi.sgml3
-rw-r--r--src/backend/executor/spi.c8
-rw-r--r--src/backend/utils/adt/ri_triggers.c5
-rw-r--r--src/backend/utils/adt/ruleutils.c6
-rw-r--r--src/backend/utils/adt/tsquery_rewrite.c4
-rw-r--r--src/backend/utils/adt/tsvector_op.c1
-rw-r--r--src/backend/utils/adt/xml.c1
-rw-r--r--src/include/executor/spi.h31
-rw-r--r--src/pl/plperl/plperl.c8
-rw-r--r--src/pl/plpgsql/src/gram.y1
-rw-r--r--src/pl/plpgsql/src/pl_exec.c1
-rw-r--r--src/pl/plpgsql/src/plpgsql.h1
-rw-r--r--src/pl/tcl/pltcl.c3
-rw-r--r--src/test/regress/regress.c17
22 files changed, 101 insertions, 69 deletions
diff --git a/contrib/spi/autoinc.c b/contrib/spi/autoinc.c
index cd34a9ac24..42d52bd2a4 100644
--- a/contrib/spi/autoinc.c
+++ b/contrib/spi/autoinc.c
@@ -1,10 +1,13 @@
/*
- * $PostgreSQL:$
+ * $PostgreSQL$
*/
+#include "postgres.h"
-#include "executor/spi.h" /* this is what you need to work with SPI */
-#include "commands/trigger.h" /* -"- and triggers */
-#include "commands/sequence.h" /* for nextval() */
+#include "catalog/pg_type.h"
+#include "commands/sequence.h"
+#include "commands/trigger.h"
+#include "executor/spi.h"
+#include "utils/builtins.h"
PG_MODULE_MAGIC;
diff --git a/contrib/spi/insert_username.c b/contrib/spi/insert_username.c
index 133131d74c..01c0ad2afb 100644
--- a/contrib/spi/insert_username.c
+++ b/contrib/spi/insert_username.c
@@ -6,10 +6,13 @@
* insert user name in response to a trigger
* usage: insert_username (column_name)
*/
+#include "postgres.h"
-#include "executor/spi.h" /* this is what you need to work with SPI */
-#include "commands/trigger.h" /* -"- and triggers */
-#include "miscadmin.h" /* for GetUserName() */
+#include "catalog/pg_type.h"
+#include "commands/trigger.h"
+#include "executor/spi.h"
+#include "miscadmin.h"
+#include "utils/builtins.h"
PG_MODULE_MAGIC;
diff --git a/contrib/spi/moddatetime.c b/contrib/spi/moddatetime.c
index b42dcaa48c..1466c2a9c2 100644
--- a/contrib/spi/moddatetime.c
+++ b/contrib/spi/moddatetime.c
@@ -13,9 +13,11 @@ not really know what I am doing. I also had help from
Jan Wieck <[email protected]> who told me about the timestamp_in("now") function.
OH, me, I'm Terry Mackintosh <[email protected]>
*/
+#include "postgres.h"
-#include "executor/spi.h" /* this is what you need to work with SPI */
-#include "commands/trigger.h" /* -"- and triggers */
+#include "catalog/pg_type.h"
+#include "executor/spi.h"
+#include "commands/trigger.h"
PG_MODULE_MAGIC;
diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c
index b30687a15b..dee48f0708 100644
--- a/contrib/spi/refint.c
+++ b/contrib/spi/refint.c
@@ -1,16 +1,17 @@
/*
- * $PostgreSQL:$
+ * $PostgreSQL$
*
*
* refint.c -- set of functions to define referential integrity
* constraints using general triggers.
*/
+#include "postgres.h"
-#include "executor/spi.h" /* this is what you need to work with SPI */
-
-#include "commands/trigger.h" /* -"- and triggers */
#include <ctype.h>
+#include "commands/trigger.h"
+#include "executor/spi.h"
+#include "utils/builtins.h"
PG_MODULE_MAGIC;
diff --git a/contrib/spi/timetravel.c b/contrib/spi/timetravel.c
index dc900d182d..f163bdfa30 100644
--- a/contrib/spi/timetravel.c
+++ b/contrib/spi/timetravel.c
@@ -1,22 +1,23 @@
/*
- * $PostgreSQL:$
+ * $PostgreSQL$
*
*
* timetravel.c -- function to get time travel feature
* using general triggers.
+ *
+ * Modified by B�JTHE Zolt�n, Hungary, mailto:[email protected]
*/
+#include "postgres.h"
-/* Modified by B�JTHE Zolt�n, Hungary, mailto:[email protected] */
+#include <ctype.h>
-#include "executor/spi.h" /* this is what you need to work with SPI */
-#include "commands/trigger.h" /* -"- and triggers */
-#include "miscadmin.h" /* for GetPgUserName() */
+#include "catalog/pg_type.h"
+#include "commands/trigger.h"
+#include "executor/spi.h"
+#include "miscadmin.h"
+#include "utils/builtins.h"
#include "utils/nabstime.h"
-#include <ctype.h> /* tolower () */
-
-#define ABSTIMEOID 702 /* it should be in pg_type.h */
-
PG_MODULE_MAGIC;
/* AbsoluteTime currabstime(void); */
diff --git a/contrib/tablefunc/tablefunc.c b/contrib/tablefunc/tablefunc.c
index 9d17352de6..3e5e90fe81 100644
--- a/contrib/tablefunc/tablefunc.c
+++ b/contrib/tablefunc/tablefunc.c
@@ -34,6 +34,7 @@
#include <math.h>
+#include "catalog/pg_type.h"
#include "fmgr.h"
#include "funcapi.h"
#include "executor/spi.h"
diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c
index 6a7c64afbd..01fa91bf00 100644
--- a/contrib/xml2/xpath.c
+++ b/contrib/xml2/xpath.c
@@ -1,15 +1,17 @@
/*
- * $PostgreSQL$
+ * $PostgreSQL$
*
* Parser interface for DOM-based parser (libxml) rather than
- stream-based SAX-type parser */
-
+ * stream-based SAX-type parser
+ */
#include "postgres.h"
-#include "fmgr.h"
+
#include "executor/spi.h"
+#include "fmgr.h"
#include "funcapi.h"
-#include "miscadmin.h"
#include "lib/stringinfo.h"
+#include "miscadmin.h"
+#include "utils/builtins.h"
/* libxml includes */
diff --git a/contrib/xml2/xslt_proc.c b/contrib/xml2/xslt_proc.c
index c653c642c6..4f96164ff5 100644
--- a/contrib/xml2/xslt_proc.c
+++ b/contrib/xml2/xslt_proc.c
@@ -1,14 +1,17 @@
/*
- * $PostgreSQL:$
+ * $PostgreSQL$
*
- * XSLT processing functions (requiring libxslt) */
-/* John Gray, for Torchbox 2003-04-01 */
-
+ * XSLT processing functions (requiring libxslt)
+ *
+ * John Gray, for Torchbox 2003-04-01
+ */
#include "postgres.h"
-#include "fmgr.h"
+
#include "executor/spi.h"
+#include "fmgr.h"
#include "funcapi.h"
#include "miscadmin.h"
+#include "utils/builtins.h"
/* libxml includes */
diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml
index f027d15988..248564f92b 100644
--- a/doc/src/sgml/spi.sgml
+++ b/doc/src/sgml/spi.sgml
@@ -3617,7 +3617,10 @@ INSERT INTO a SELECT * FROM a;
</para>
<programlisting>
+#include "postgres.h"
+
#include "executor/spi.h"
+#include "utils/builtins.h"
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c
index 4bb12b28e7..3a3fd5962f 100644
--- a/src/backend/executor/spi.c
+++ b/src/backend/executor/spi.c
@@ -16,12 +16,20 @@
#include "access/printtup.h"
#include "access/sysattr.h"
+#include "access/xact.h"
#include "catalog/heap.h"
+#include "catalog/pg_type.h"
#include "commands/trigger.h"
+#include "executor/executor.h"
#include "executor/spi_priv.h"
+#include "tcop/pquery.h"
+#include "tcop/utility.h"
+#include "utils/builtins.h"
+#include "utils/datum.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
#include "utils/snapmgr.h"
+#include "utils/syscache.h"
#include "utils/typcache.h"
diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c
index fa8b889a53..76a12f5cf9 100644
--- a/src/backend/utils/adt/ri_triggers.c
+++ b/src/backend/utils/adt/ri_triggers.c
@@ -30,18 +30,23 @@
#include "postgres.h"
+#include "access/xact.h"
#include "catalog/pg_constraint.h"
#include "catalog/pg_operator.h"
+#include "catalog/pg_type.h"
#include "commands/trigger.h"
#include "executor/spi.h"
#include "parser/parse_coerce.h"
#include "parser/parse_relation.h"
#include "miscadmin.h"
#include "utils/acl.h"
+#include "utils/builtins.h"
#include "utils/fmgroids.h"
+#include "utils/guc.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
#include "utils/snapmgr.h"
+#include "utils/syscache.h"
#include "utils/tqual.h"
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 7a9f8280af..35de972918 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -25,9 +25,12 @@
#include "catalog/pg_authid.h"
#include "catalog/pg_constraint.h"
#include "catalog/pg_depend.h"
+#include "catalog/pg_language.h"
#include "catalog/pg_opclass.h"
#include "catalog/pg_operator.h"
+#include "catalog/pg_proc.h"
#include "catalog/pg_trigger.h"
+#include "catalog/pg_type.h"
#include "commands/defrem.h"
#include "commands/tablespace.h"
#include "executor/spi.h"
@@ -44,9 +47,12 @@
#include "rewrite/rewriteHandler.h"
#include "rewrite/rewriteManip.h"
#include "rewrite/rewriteSupport.h"
+#include "utils/array.h"
+#include "utils/builtins.h"
#include "utils/fmgroids.h"
#include "utils/lsyscache.h"
#include "utils/tqual.h"
+#include "utils/syscache.h"
#include "utils/typcache.h"
#include "utils/xml.h"
diff --git a/src/backend/utils/adt/tsquery_rewrite.c b/src/backend/utils/adt/tsquery_rewrite.c
index 01509b5535..3df9eca646 100644
--- a/src/backend/utils/adt/tsquery_rewrite.c
+++ b/src/backend/utils/adt/tsquery_rewrite.c
@@ -14,10 +14,12 @@
#include "postgres.h"
+#include "catalog/pg_type.h"
#include "executor/spi.h"
+#include "miscadmin.h"
#include "tsearch/ts_type.h"
#include "tsearch/ts_utils.h"
-#include "miscadmin.h"
+#include "utils/builtins.h"
static int
diff --git a/src/backend/utils/adt/tsvector_op.c b/src/backend/utils/adt/tsvector_op.c
index 015a036d83..4534175fcd 100644
--- a/src/backend/utils/adt/tsvector_op.c
+++ b/src/backend/utils/adt/tsvector_op.c
@@ -15,6 +15,7 @@
#include "postgres.h"
#include "catalog/namespace.h"
+#include "catalog/pg_type.h"
#include "commands/trigger.h"
#include "executor/spi.h"
#include "funcapi.h"
diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c
index c71cff95f6..5fa5f0b928 100644
--- a/src/backend/utils/adt/xml.c
+++ b/src/backend/utils/adt/xml.c
@@ -81,6 +81,7 @@
#include "utils/datetime.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
+#include "utils/syscache.h"
#include "utils/xml.h"
diff --git a/src/include/executor/spi.h b/src/include/executor/spi.h
index a79171aa11..cf331d5147 100644
--- a/src/include/executor/spi.h
+++ b/src/include/executor/spi.h
@@ -13,37 +13,10 @@
#ifndef SPI_H
#define SPI_H
-/*
- * This file may be used by client modules that haven't already
- * included postgres.h
- */
-#include "postgres.h"
-
-/*
- * Most of these are not needed by this file, but may be used by
- * user-written code that uses SPI
- */
-#include "access/heapam.h"
-#include "access/xact.h"
-#include "catalog/pg_language.h"
-#include "catalog/pg_proc.h"
-#include "catalog/pg_type.h"
-#include "executor/execdefs.h"
-#include "executor/executor.h"
-#include "nodes/execnodes.h"
-#include "nodes/params.h"
#include "nodes/parsenodes.h"
-#include "nodes/plannodes.h"
-#include "nodes/primnodes.h"
-#include "nodes/relation.h"
-#include "tcop/dest.h"
-#include "tcop/pquery.h"
-#include "tcop/tcopprot.h"
-#include "tcop/utility.h"
-#include "utils/builtins.h"
-#include "utils/datum.h"
#include "utils/portal.h"
-#include "utils/syscache.h"
+#include "utils/relcache.h"
+#include "utils/snapshot.h"
typedef struct SPITupleTable
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 20bd969aea..5f33ca6e47 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -16,6 +16,10 @@
#include <locale.h>
/* postgreSQL stuff */
+#include "access/xact.h"
+#include "catalog/pg_language.h"
+#include "catalog/pg_proc.h"
+#include "catalog/pg_type.h"
#include "commands/trigger.h"
#include "executor/spi.h"
#include "funcapi.h"
@@ -23,12 +27,14 @@
#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "parser/parse_type.h"
+#include "utils/builtins.h"
#include "utils/fmgroids.h"
#include "utils/guc.h"
+#include "utils/hsearch.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
+#include "utils/syscache.h"
#include "utils/typcache.h"
-#include "utils/hsearch.h"
/* define our text domain for translations */
#undef TEXTDOMAIN
diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y
index 85b8749246..0fec4e1dd7 100644
--- a/src/pl/plpgsql/src/gram.y
+++ b/src/pl/plpgsql/src/gram.y
@@ -16,6 +16,7 @@
#include "plpgsql.h"
+#include "catalog/pg_type.h"
#include "parser/parser.h"
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index a82321a30a..13099e6ba8 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -27,6 +27,7 @@
#include "tcop/tcopprot.h"
#include "utils/array.h"
#include "utils/builtins.h"
+#include "utils/datum.h"
#include "utils/lsyscache.h"
#include "utils/memutils.h"
#include "utils/snapmgr.h"
diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h
index 1b13da2499..6360393362 100644
--- a/src/pl/plpgsql/src/plpgsql.h
+++ b/src/pl/plpgsql/src/plpgsql.h
@@ -18,6 +18,7 @@
#include "postgres.h"
+#include "access/xact.h"
#include "fmgr.h"
#include "miscadmin.h"
#include "commands/trigger.h"
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c
index fc586539fe..fb67f41e8b 100644
--- a/src/pl/tcl/pltcl.c
+++ b/src/pl/tcl/pltcl.c
@@ -18,8 +18,10 @@
#define CONST84
#endif
+#include "access/xact.h"
#include "catalog/pg_language.h"
#include "catalog/pg_proc.h"
+#include "catalog/pg_type.h"
#include "commands/trigger.h"
#include "executor/spi.h"
#include "fmgr.h"
@@ -33,6 +35,7 @@
#include "utils/syscache.h"
#include "utils/typcache.h"
+
#define HAVE_TCL_VERSION(maj,min) \
((TCL_MAJOR_VERSION > maj) || \
(TCL_MAJOR_VERSION == maj && TCL_MINOR_VERSION >= min))
diff --git a/src/test/regress/regress.c b/src/test/regress/regress.c
index 601c687a4f..0e94e681b2 100644
--- a/src/test/regress/regress.c
+++ b/src/test/regress/regress.c
@@ -4,12 +4,19 @@
#include "postgres.h"
-#include <float.h> /* faked on sunos */
+#include <float.h>
+#include <math.h>
#include "access/transam.h"
-#include "utils/geo_decls.h" /* includes <math.h> */
-#include "executor/executor.h" /* For GetAttributeByName */
-#include "commands/sequence.h" /* for nextval() */
+#include "access/xact.h"
+#include "catalog/pg_type.h"
+#include "commands/sequence.h"
+#include "commands/trigger.h"
+#include "executor/executor.h"
+#include "executor/spi.h"
+#include "utils/builtins.h"
+#include "utils/geo_decls.h"
+
#define P_MAXDIG 12
#define LDELIM '('
@@ -325,8 +332,6 @@ oldstyle_length(int n, text *t)
return n + len;
}
-#include "executor/spi.h" /* this is what you need to work with SPI */
-#include "commands/trigger.h" /* -"- and triggers */
static TransactionId fd17b_xid = InvalidTransactionId;
static TransactionId fd17a_xid = InvalidTransactionId;