From b93f5a5673b4bb09e14eb80fe28aa21fc20a6271 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 23 Feb 2011 14:18:09 -0300 Subject: [PATCH] Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h This lets us stop including rel.h into execnodes.h, which is a widely used header. --- contrib/dblink/dblink.c | 1 + contrib/file_fdw/file_fdw.c | 1 + contrib/lo/lo.c | 7 +-- contrib/pageinspect/btreefuncs.c | 1 + contrib/pageinspect/rawpage.c | 1 + contrib/pgrowlocks/pgrowlocks.c | 1 + contrib/pgstattuple/pgstatindex.c | 1 + contrib/spi/autoinc.c | 1 + contrib/spi/insert_username.c | 1 + contrib/spi/moddatetime.c | 1 + contrib/spi/refint.c | 1 + contrib/spi/timetravel.c | 1 + src/backend/access/gin/ginfast.c | 1 + src/backend/access/gin/gininsert.c | 1 + src/backend/access/gist/gist.c | 1 + src/backend/access/gist/gistget.c | 1 + src/backend/access/hash/hash.c | 1 + src/backend/access/hash/hashutil.c | 1 + src/backend/access/nbtree/nbtutils.c | 1 + src/backend/bootstrap/bootstrap.c | 1 + src/backend/catalog/heap.c | 2 +- src/backend/catalog/indexing.c | 1 + src/backend/catalog/pg_proc.c | 1 + src/backend/catalog/toasting.c | 1 + src/backend/commands/alter.c | 1 + src/backend/commands/constraint.c | 1 + src/backend/commands/copy.c | 1 + src/backend/commands/explain.c | 3 +- src/backend/commands/extension.c | 1 + src/backend/commands/schemacmds.c | 1 + src/backend/commands/trigger.c | 1 + src/backend/commands/typecmds.c | 1 + src/backend/executor/execAmi.c | 1 + src/backend/executor/execCurrent.c | 1 + src/backend/executor/nodeBitmapHeapscan.c | 1 + src/backend/executor/nodeForeignscan.c | 1 + src/backend/executor/nodeIndexscan.c | 1 + src/backend/executor/nodeLockRows.c | 1 + src/backend/executor/nodeMergeAppend.c | 1 + src/backend/executor/nodeModifyTable.c | 1 + src/backend/executor/nodeSeqscan.c | 1 + src/backend/executor/nodeTidscan.c | 1 + src/backend/executor/spi.c | 1 + src/backend/optimizer/plan/planner.c | 1 + src/backend/optimizer/util/predtest.c | 1 + src/backend/parser/parse_relation.c | 1 + src/backend/parser/parse_target.c | 1 + src/backend/parser/parse_utilcmd.c | 2 +- src/backend/postmaster/autovacuum.c | 1 + src/backend/rewrite/rewriteHandler.c | 3 +- src/backend/utils/adt/ri_triggers.c | 1 + src/backend/utils/adt/ruleutils.c | 3 +- src/backend/utils/adt/selfuncs.c | 1 + src/backend/utils/adt/trigfuncs.c | 1 + src/backend/utils/adt/tsvector_op.c | 1 + src/backend/utils/adt/xml.c | 1 + src/backend/utils/cache/lsyscache.c | 1 + src/backend/utils/fmgr/funcapi.c | 1 + src/include/nodes/execnodes.h | 2 +- src/include/utils/rel.h | 55 +---------------- src/include/utils/reltrigger.h | 74 +++++++++++++++++++++++ src/pl/plperl/plperl.c | 1 + src/pl/plpgsql/src/pl_comp.c | 1 + src/pl/plpgsql/src/pl_exec.c | 1 + src/pl/plpython/plpython.c | 1 + src/pl/tcl/pltcl.c | 1 + src/test/regress/regress.c | 1 + 67 files changed, 144 insertions(+), 65 deletions(-) create mode 100644 src/include/utils/reltrigger.h diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c index b8d0342085d..76617e3f367 100644 --- a/contrib/dblink/dblink.c +++ b/contrib/dblink/dblink.c @@ -63,6 +63,7 @@ #include "utils/hsearch.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/contrib/file_fdw/file_fdw.c b/contrib/file_fdw/file_fdw.c index 466c015107d..f2d7f3a6a88 100644 --- a/contrib/file_fdw/file_fdw.c +++ b/contrib/file_fdw/file_fdw.c @@ -24,6 +24,7 @@ #include "foreign/foreign.h" #include "miscadmin.h" #include "optimizer/cost.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/contrib/lo/lo.c b/contrib/lo/lo.c index 0e3559c0201..6946150fed5 100644 --- a/contrib/lo/lo.c +++ b/contrib/lo/lo.c @@ -7,15 +7,12 @@ #include "postgres.h" -/* Required for SPI */ +#include "commands/trigger.h" #include "executor/spi.h" - -/* Required for largeobjects */ #include "libpq/be-fsstubs.h" #include "libpq/libpq-fs.h" +#include "utils/rel.h" -/* Required for triggers */ -#include "commands/trigger.h" PG_MODULE_MAGIC; diff --git a/contrib/pageinspect/btreefuncs.c b/contrib/pageinspect/btreefuncs.c index ef27cd4080c..514406a67a8 100644 --- a/contrib/pageinspect/btreefuncs.c +++ b/contrib/pageinspect/btreefuncs.c @@ -35,6 +35,7 @@ #include "miscadmin.h" #include "storage/bufmgr.h" #include "utils/builtins.h" +#include "utils/rel.h" extern Datum bt_metap(PG_FUNCTION_ARGS); diff --git a/contrib/pageinspect/rawpage.c b/contrib/pageinspect/rawpage.c index 2607576c378..8fc3a48d562 100644 --- a/contrib/pageinspect/rawpage.c +++ b/contrib/pageinspect/rawpage.c @@ -25,6 +25,7 @@ #include "miscadmin.h" #include "storage/bufmgr.h" #include "utils/builtins.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/contrib/pgrowlocks/pgrowlocks.c b/contrib/pgrowlocks/pgrowlocks.c index 302bb5c39c9..4a49ee342fe 100644 --- a/contrib/pgrowlocks/pgrowlocks.c +++ b/contrib/pgrowlocks/pgrowlocks.c @@ -35,6 +35,7 @@ #include "storage/procarray.h" #include "utils/acl.h" #include "utils/builtins.h" +#include "utils/rel.h" #include "utils/tqual.h" diff --git a/contrib/pgstattuple/pgstatindex.c b/contrib/pgstattuple/pgstatindex.c index fd2cc9246bc..f0d6341bd16 100644 --- a/contrib/pgstattuple/pgstatindex.c +++ b/contrib/pgstattuple/pgstatindex.c @@ -34,6 +34,7 @@ #include "miscadmin.h" #include "storage/bufmgr.h" #include "utils/builtins.h" +#include "utils/rel.h" extern Datum pgstatindex(PG_FUNCTION_ARGS); diff --git a/contrib/spi/autoinc.c b/contrib/spi/autoinc.c index 9b38493a332..54bbc4345c8 100644 --- a/contrib/spi/autoinc.c +++ b/contrib/spi/autoinc.c @@ -8,6 +8,7 @@ #include "commands/trigger.h" #include "executor/spi.h" #include "utils/builtins.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/contrib/spi/insert_username.c b/contrib/spi/insert_username.c index 18a13344cf1..3bc51c7f020 100644 --- a/contrib/spi/insert_username.c +++ b/contrib/spi/insert_username.c @@ -13,6 +13,7 @@ #include "executor/spi.h" #include "miscadmin.h" #include "utils/builtins.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/contrib/spi/moddatetime.c b/contrib/spi/moddatetime.c index d02560c2981..d0bc4078f9e 100644 --- a/contrib/spi/moddatetime.c +++ b/contrib/spi/moddatetime.c @@ -18,6 +18,7 @@ OH, me, I'm Terry Mackintosh #include "catalog/pg_type.h" #include "executor/spi.h" #include "commands/trigger.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c index 36f9ee421e7..ed7e00782b3 100644 --- a/contrib/spi/refint.c +++ b/contrib/spi/refint.c @@ -12,6 +12,7 @@ #include "commands/trigger.h" #include "executor/spi.h" #include "utils/builtins.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/contrib/spi/timetravel.c b/contrib/spi/timetravel.c index 3d05cc505ce..69ec6278685 100644 --- a/contrib/spi/timetravel.c +++ b/contrib/spi/timetravel.c @@ -17,6 +17,7 @@ #include "miscadmin.h" #include "utils/builtins.h" #include "utils/nabstime.h" +#include "utils/rel.h" PG_MODULE_MAGIC; diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index 82419e37acb..60a6d80a189 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -24,6 +24,7 @@ #include "miscadmin.h" #include "storage/bufmgr.h" #include "utils/memutils.h" +#include "utils/rel.h" #define GIN_PAGE_FREESIZE \ diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index 3e32af94a96..bea5f681fda 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -21,6 +21,7 @@ #include "storage/smgr.h" #include "storage/indexfsm.h" #include "utils/memutils.h" +#include "utils/rel.h" typedef struct diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index cdb0343d104..b756f6e0e30 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -22,6 +22,7 @@ #include "storage/bufmgr.h" #include "storage/indexfsm.h" #include "utils/memutils.h" +#include "utils/rel.h" /* Working state for gistbuild and its callback */ typedef struct diff --git a/src/backend/access/gist/gistget.c b/src/backend/access/gist/gistget.c index 1aba6868447..5d5fd5b738e 100644 --- a/src/backend/access/gist/gistget.c +++ b/src/backend/access/gist/gistget.c @@ -22,6 +22,7 @@ #include "storage/bufmgr.h" #include "utils/builtins.h" #include "utils/memutils.h" +#include "utils/rel.h" /* diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c index 4cb29b2bb45..bfb10897d20 100644 --- a/src/backend/access/hash/hash.c +++ b/src/backend/access/hash/hash.c @@ -25,6 +25,7 @@ #include "optimizer/cost.h" #include "optimizer/plancat.h" #include "storage/bufmgr.h" +#include "utils/rel.h" /* Working state for hashbuild and its callback */ diff --git a/src/backend/access/hash/hashutil.c b/src/backend/access/hash/hashutil.c index 6283f4a82b5..aa68be596ea 100644 --- a/src/backend/access/hash/hashutil.c +++ b/src/backend/access/hash/hashutil.c @@ -20,6 +20,7 @@ #include "executor/execdebug.h" #include "storage/bufmgr.h" #include "utils/lsyscache.h" +#include "utils/rel.h" /* diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c index f87eadcdec2..3996203a7ef 100644 --- a/src/backend/access/nbtree/nbtutils.c +++ b/src/backend/access/nbtree/nbtutils.c @@ -27,6 +27,7 @@ #include "storage/lwlock.h" #include "storage/shmem.h" #include "utils/lsyscache.h" +#include "utils/rel.h" static bool _bt_compare_scankey_args(IndexScanDesc scan, ScanKey op, diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index fc093ccc4b9..08ae863f549 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -43,6 +43,7 @@ #include "utils/fmgroids.h" #include "utils/memutils.h" #include "utils/ps_status.h" +#include "utils/rel.h" #include "utils/relmapper.h" #include "utils/tqual.h" diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 6b8eb53dd1b..a8c27006a75 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -70,7 +70,7 @@ #include "utils/fmgroids.h" #include "utils/inval.h" #include "utils/lsyscache.h" -#include "utils/relcache.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/catalog/indexing.c b/src/backend/catalog/indexing.c index 21f5cce69c8..351e6f63ac6 100644 --- a/src/backend/catalog/indexing.c +++ b/src/backend/catalog/indexing.c @@ -19,6 +19,7 @@ #include "catalog/index.h" #include "catalog/indexing.h" #include "executor/executor.h" +#include "utils/rel.h" /* diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 92be0a76dae..ec229810cac 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -35,6 +35,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/catalog/toasting.c b/src/backend/catalog/toasting.c index b059f9d784b..ce082fd2c25 100644 --- a/src/backend/catalog/toasting.c +++ b/src/backend/catalog/toasting.c @@ -29,6 +29,7 @@ #include "miscadmin.h" #include "nodes/makefuncs.h" #include "utils/builtins.h" +#include "utils/rel.h" #include "utils/syscache.h" /* Potentially set by contrib/pg_upgrade_support functions */ diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c index 215e21cae08..2373d52c0f2 100644 --- a/src/backend/commands/alter.c +++ b/src/backend/commands/alter.c @@ -38,6 +38,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/commands/constraint.c b/src/backend/commands/constraint.c index e8a19a9f03b..b76cdeeb639 100644 --- a/src/backend/commands/constraint.c +++ b/src/backend/commands/constraint.c @@ -17,6 +17,7 @@ #include "commands/trigger.h" #include "executor/executor.h" #include "utils/builtins.h" +#include "utils/rel.h" #include "utils/tqual.h" diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 57429035e89..528a3a1f539 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -42,6 +42,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/snapmgr.h" diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index a770daf88d9..fee829f9606 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -32,8 +32,9 @@ #include "utils/builtins.h" #include "utils/guc.h" #include "utils/lsyscache.h" -#include "utils/tuplesort.h" +#include "utils/rel.h" #include "utils/snapmgr.h" +#include "utils/tuplesort.h" #include "utils/xml.h" diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index 08fb3d5d360..a0385eb0a18 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -51,6 +51,7 @@ #include "utils/fmgroids.h" #include "utils/guc.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/tqual.h" diff --git a/src/backend/commands/schemacmds.c b/src/backend/commands/schemacmds.c index 82bbf8fa506..5dd5763a7bc 100644 --- a/src/backend/commands/schemacmds.c +++ b/src/backend/commands/schemacmds.c @@ -29,6 +29,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 798d8a85a4f..8072c776879 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -51,6 +51,7 @@ #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c index 2a2ff5387e5..7c27f85cdc6 100644 --- a/src/backend/commands/typecmds.c +++ b/src/backend/commands/typecmds.c @@ -63,6 +63,7 @@ #include "utils/fmgroids.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c index 01775ce4494..ffdcc966ee6 100644 --- a/src/backend/executor/execAmi.c +++ b/src/backend/executor/execAmi.c @@ -48,6 +48,7 @@ #include "executor/nodeWindowAgg.h" #include "executor/nodeWorktablescan.h" #include "nodes/nodeFuncs.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/executor/execCurrent.c b/src/backend/executor/execCurrent.c index 5312d9aeec0..61a5f471124 100644 --- a/src/backend/executor/execCurrent.c +++ b/src/backend/executor/execCurrent.c @@ -18,6 +18,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/portal.h" +#include "utils/rel.h" static char *fetch_cursor_param_value(ExprContext *econtext, int paramId); diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index 568035a481b..c9b540e0798 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -44,6 +44,7 @@ #include "storage/bufmgr.h" #include "storage/predicate.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/tqual.h" diff --git a/src/backend/executor/nodeForeignscan.c b/src/backend/executor/nodeForeignscan.c index d50489c7f4c..841ae6931b7 100644 --- a/src/backend/executor/nodeForeignscan.c +++ b/src/backend/executor/nodeForeignscan.c @@ -25,6 +25,7 @@ #include "executor/executor.h" #include "executor/nodeForeignscan.h" #include "foreign/fdwapi.h" +#include "utils/rel.h" static TupleTableSlot *ForeignNext(ForeignScanState *node); static bool ForeignRecheck(ForeignScanState *node, TupleTableSlot *slot); diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c index dbc1467d5be..263f3b946ba 100644 --- a/src/backend/executor/nodeIndexscan.c +++ b/src/backend/executor/nodeIndexscan.c @@ -33,6 +33,7 @@ #include "utils/array.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" static TupleTableSlot *IndexNext(IndexScanState *node); diff --git a/src/backend/executor/nodeLockRows.c b/src/backend/executor/nodeLockRows.c index d71278ebd72..0c48b6bcacf 100644 --- a/src/backend/executor/nodeLockRows.c +++ b/src/backend/executor/nodeLockRows.c @@ -25,6 +25,7 @@ #include "executor/executor.h" #include "executor/nodeLockRows.h" #include "storage/bufmgr.h" +#include "utils/rel.h" #include "utils/tqual.h" diff --git a/src/backend/executor/nodeMergeAppend.c b/src/backend/executor/nodeMergeAppend.c index 43059664b93..fa0ecc81769 100644 --- a/src/backend/executor/nodeMergeAppend.c +++ b/src/backend/executor/nodeMergeAppend.c @@ -42,6 +42,7 @@ #include "executor/execdebug.h" #include "executor/nodeMergeAppend.h" #include "utils/lsyscache.h" +#include "utils/rel.h" /* * It gets quite confusing having a heap array (indexed by integers) which diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index c0eab4bf0db..070f27c66c9 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -46,6 +46,7 @@ #include "storage/bufmgr.h" #include "utils/builtins.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/tqual.h" diff --git a/src/backend/executor/nodeSeqscan.c b/src/backend/executor/nodeSeqscan.c index 0f3438d0639..e2cea0eecb2 100644 --- a/src/backend/executor/nodeSeqscan.c +++ b/src/backend/executor/nodeSeqscan.c @@ -28,6 +28,7 @@ #include "access/relscan.h" #include "executor/execdebug.h" #include "executor/nodeSeqscan.h" +#include "utils/rel.h" static void InitScanRelation(SeqScanState *node, EState *estate); static TupleTableSlot *SeqNext(SeqScanState *node); diff --git a/src/backend/executor/nodeTidscan.c b/src/backend/executor/nodeTidscan.c index aae41bf60e3..28244a1a3d0 100644 --- a/src/backend/executor/nodeTidscan.c +++ b/src/backend/executor/nodeTidscan.c @@ -32,6 +32,7 @@ #include "optimizer/clauses.h" #include "storage/bufmgr.h" #include "utils/array.h" +#include "utils/rel.h" #define IsCTIDVar(node) \ diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index 6e723ca092b..d71ea60b317 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -28,6 +28,7 @@ #include "utils/datum.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 9aafc8adcc6..b31e3869d31 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -41,6 +41,7 @@ #include "parser/parse_oper.h" #include "parser/parsetree.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/optimizer/util/predtest.c b/src/backend/optimizer/util/predtest.c index a7e83729b1b..6c3dfb7eb58 100644 --- a/src/backend/optimizer/util/predtest.c +++ b/src/backend/optimizer/util/predtest.c @@ -15,6 +15,7 @@ */ #include "postgres.h" +#include "catalog/pg_am.h" #include "catalog/pg_amop.h" #include "catalog/pg_proc.h" #include "catalog/pg_type.h" diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c index edfb1f12e97..f2ccf0d7453 100644 --- a/src/backend/parser/parse_relation.c +++ b/src/backend/parser/parse_relation.c @@ -29,6 +29,7 @@ #include "parser/parse_type.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index e6f9e36bbca..9d4e580e476 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -29,6 +29,7 @@ #include "parser/parse_type.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/typcache.h" diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 1771fee6478..b64f837bf86 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -59,7 +59,7 @@ #include "utils/acl.h" #include "utils/builtins.h" #include "utils/lsyscache.h" -#include "utils/relcache.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index ca4e03590df..483a82951b0 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -93,6 +93,7 @@ #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/ps_status.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index 6ef20a5bb53..84b5037bb3c 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -16,6 +16,7 @@ #include "access/heapam.h" #include "access/sysattr.h" #include "catalog/pg_type.h" +#include "commands/trigger.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "parser/analyze.h" @@ -26,7 +27,7 @@ #include "rewrite/rewriteManip.h" #include "utils/builtins.h" #include "utils/lsyscache.h" -#include "commands/trigger.h" +#include "utils/rel.h" /* We use a list of these to detect recursion in RewriteQuery */ diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c index fa7b8e6e81a..4b85b9b4021 100644 --- a/src/backend/utils/adt/ri_triggers.c +++ b/src/backend/utils/adt/ri_triggers.c @@ -48,6 +48,7 @@ #include "utils/guc.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.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 00920f9edaa..49dc9c88d52 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -52,8 +52,9 @@ #include "utils/builtins.h" #include "utils/fmgroids.h" #include "utils/lsyscache.h" -#include "utils/tqual.h" +#include "utils/rel.h" #include "utils/syscache.h" +#include "utils/tqual.h" #include "utils/typcache.h" #include "utils/xml.h" diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 00ba19ec6c9..10b73fb9fb4 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -120,6 +120,7 @@ #include "utils/lsyscache.h" #include "utils/nabstime.h" #include "utils/pg_locale.h" +#include "utils/rel.h" #include "utils/selfuncs.h" #include "utils/spccache.h" #include "utils/syscache.h" diff --git a/src/backend/utils/adt/trigfuncs.c b/src/backend/utils/adt/trigfuncs.c index 86f81bb5bec..474878de7d9 100644 --- a/src/backend/utils/adt/trigfuncs.c +++ b/src/backend/utils/adt/trigfuncs.c @@ -16,6 +16,7 @@ #include "access/htup.h" #include "commands/trigger.h" #include "utils/builtins.h" +#include "utils/rel.h" /* diff --git a/src/backend/utils/adt/tsvector_op.c b/src/backend/utils/adt/tsvector_op.c index 66674917f0d..181bfee9e30 100644 --- a/src/backend/utils/adt/tsvector_op.c +++ b/src/backend/utils/adt/tsvector_op.c @@ -25,6 +25,7 @@ #include "tsearch/ts_utils.h" #include "utils/builtins.h" #include "utils/lsyscache.h" +#include "utils/rel.h" typedef struct diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index 702b9e3e9f4..de1eb2af369 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -74,6 +74,7 @@ #include "utils/datetime.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/xml.h" diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c index 28d18b0d32d..69ec5136341 100644 --- a/src/backend/utils/cache/lsyscache.c +++ b/src/backend/utils/cache/lsyscache.c @@ -35,6 +35,7 @@ #include "utils/datum.h" #include "utils/fmgroids.h" #include "utils/lsyscache.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/backend/utils/fmgr/funcapi.c b/src/backend/utils/fmgr/funcapi.c index aa249fabfe8..02ee92b7159 100644 --- a/src/backend/utils/fmgr/funcapi.c +++ b/src/backend/utils/fmgr/funcapi.c @@ -24,6 +24,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 16756616e52..a3a93100558 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -21,7 +21,7 @@ #include "nodes/plannodes.h" #include "nodes/tidbitmap.h" #include "utils/hsearch.h" -#include "utils/rel.h" +#include "utils/reltrigger.h" #include "utils/snapshot.h" #include "utils/tuplestore.h" diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h index e2c2fa9ae45..173dc16a253 100644 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -24,6 +24,7 @@ #include "storage/block.h" #include "storage/relfilenode.h" #include "utils/relcache.h" +#include "utils/reltrigger.h" /* @@ -44,60 +45,6 @@ typedef struct LockInfoData typedef LockInfoData *LockInfo; -/* - * Likewise, this struct really belongs to trigger.h, but for convenience - * we put it here. - */ -typedef struct Trigger -{ - Oid tgoid; /* OID of trigger (pg_trigger row) */ - /* Remaining fields are copied from pg_trigger, see pg_trigger.h */ - char *tgname; - Oid tgfoid; - int16 tgtype; - char tgenabled; - bool tgisinternal; - Oid tgconstrrelid; - Oid tgconstrindid; - Oid tgconstraint; - bool tgdeferrable; - bool tginitdeferred; - int16 tgnargs; - int16 tgnattr; - int16 *tgattr; - char **tgargs; - char *tgqual; -} Trigger; - -typedef struct TriggerDesc -{ - Trigger *triggers; /* array of Trigger structs */ - int numtriggers; /* number of array entries */ - - /* - * These flags indicate whether the array contains at least one of each - * type of trigger. We use these to skip searching the array if not. - */ - bool trig_insert_before_row; - bool trig_insert_after_row; - bool trig_insert_instead_row; - bool trig_insert_before_statement; - bool trig_insert_after_statement; - bool trig_update_before_row; - bool trig_update_after_row; - bool trig_update_instead_row; - bool trig_update_before_statement; - bool trig_update_after_statement; - bool trig_delete_before_row; - bool trig_delete_after_row; - bool trig_delete_instead_row; - bool trig_delete_before_statement; - bool trig_delete_after_statement; - /* there are no row-level truncate triggers */ - bool trig_truncate_before_statement; - bool trig_truncate_after_statement; -} TriggerDesc; - /* * Cached lookup information for the index access method functions defined diff --git a/src/include/utils/reltrigger.h b/src/include/utils/reltrigger.h new file mode 100644 index 00000000000..eaf5abd447e --- /dev/null +++ b/src/include/utils/reltrigger.h @@ -0,0 +1,74 @@ +/*------------------------------------------------------------------------- + * + * reltrigger.h + * POSTGRES relation trigger definitions. + * + * + * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/reltrigger.h + * + *------------------------------------------------------------------------- + */ +#ifndef RELTRIGGER_H +#define RELTRIGGER_H + + +/* + * These struct really belongs to trigger.h, but we put it separately so that + * it can be cleanly included in rel.h and other places. + */ + +typedef struct Trigger +{ + Oid tgoid; /* OID of trigger (pg_trigger row) */ + /* Remaining fields are copied from pg_trigger, see pg_trigger.h */ + char *tgname; + Oid tgfoid; + int16 tgtype; + char tgenabled; + bool tgisinternal; + Oid tgconstrrelid; + Oid tgconstrindid; + Oid tgconstraint; + bool tgdeferrable; + bool tginitdeferred; + int16 tgnargs; + int16 tgnattr; + int16 *tgattr; + char **tgargs; + char *tgqual; +} Trigger; + +typedef struct TriggerDesc +{ + Trigger *triggers; /* array of Trigger structs */ + int numtriggers; /* number of array entries */ + + /* + * These flags indicate whether the array contains at least one of each + * type of trigger. We use these to skip searching the array if not. + */ + bool trig_insert_before_row; + bool trig_insert_after_row; + bool trig_insert_instead_row; + bool trig_insert_before_statement; + bool trig_insert_after_statement; + bool trig_update_before_row; + bool trig_update_after_row; + bool trig_update_instead_row; + bool trig_update_before_statement; + bool trig_update_after_statement; + bool trig_delete_before_row; + bool trig_delete_after_row; + bool trig_delete_instead_row; + bool trig_delete_before_statement; + bool trig_delete_after_statement; + /* there are no row-level truncate triggers */ + bool trig_truncate_before_statement; + bool trig_truncate_after_statement; +} TriggerDesc; + + +#endif /* RELTRIGGER_H */ diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index 61252308cd8..8fd4cfb550b 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -34,6 +34,7 @@ #include "utils/hsearch.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index 75098ec6deb..afd20b4872d 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -32,6 +32,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 906a485853f..7f948d5f808 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -33,6 +33,7 @@ #include "utils/datum.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/typcache.h" diff --git a/src/pl/plpython/plpython.c b/src/pl/plpython/plpython.c index 9081cffb498..0227f1a1829 100644 --- a/src/pl/plpython/plpython.c +++ b/src/pl/plpython/plpython.c @@ -108,6 +108,7 @@ typedef int Py_ssize_t; #include "utils/hsearch.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c index f5171444987..be8fe7a0f21 100644 --- a/src/pl/tcl/pltcl.c +++ b/src/pl/tcl/pltcl.c @@ -31,6 +31,7 @@ #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/syscache.h" #include "utils/typcache.h" diff --git a/src/test/regress/regress.c b/src/test/regress/regress.c index 8e4286a643b..daee5af49e4 100644 --- a/src/test/regress/regress.c +++ b/src/test/regress/regress.c @@ -16,6 +16,7 @@ #include "executor/spi.h" #include "utils/builtins.h" #include "utils/geo_decls.h" +#include "utils/rel.h" #define P_MAXDIG 12 -- 2.39.5