diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2012-08-28 18:02:07 -0400 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2012-08-28 18:02:07 -0400 |
commit | 45326c5a11530cff5db99c6d4b393439cc901f26 (patch) | |
tree | fc6d5ba32796fce5eeca193d0b86ba8aa651f705 /src | |
parent | 0a664ec27f3937c0ce428c07a41b6d8c7526ec57 (diff) | |
download | postgresql-45326c5a11530cff5db99c6d4b393439cc901f26.tar.gz postgresql-45326c5a11530cff5db99c6d4b393439cc901f26.zip |
Split resowner.h
This lets files that are mere users of ResourceOwner not automatically
include the headers for stuff that is managed by the resowner mechanism.
Diffstat (limited to 'src')
23 files changed, 106 insertions, 69 deletions
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c index aa1ce800d40..99d0d1802ce 100644 --- a/src/backend/access/common/tupdesc.c +++ b/src/backend/access/common/tupdesc.c @@ -24,7 +24,7 @@ #include "parser/parse_type.h" #include "utils/acl.h" #include "utils/builtins.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" #include "utils/syscache.h" diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index e787ae75459..e7a6606ec3b 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -38,12 +38,14 @@ #include "pgstat.h" #include "replication/walsender.h" #include "replication/syncrep.h" +#include "storage/fd.h" #include "storage/lmgr.h" #include "storage/predicate.h" #include "storage/proc.h" #include "storage/procarray.h" #include "storage/sinvaladt.h" #include "storage/smgr.h" +#include "utils/catcache.h" #include "utils/combocid.h" #include "utils/guc.h" #include "utils/inval.h" diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index c9b80ad8232..21925731738 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -45,6 +45,7 @@ #include "pgstat.h" #include "postmaster/bgwriter.h" #include "storage/copydir.h" +#include "storage/fd.h" #include "storage/lmgr.h" #include "storage/ipc.h" #include "storage/procarray.h" diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index 8512cdbe317..0901601fb7e 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -45,6 +45,7 @@ #include "funcapi.h" #include "mb/pg_wchar.h" #include "miscadmin.h" +#include "storage/fd.h" #include "tcop/utility.h" #include "utils/builtins.h" #include "utils/fmgroids.h" diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 7c946804a5f..dd8690577cb 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -76,6 +76,7 @@ #include "catalog/pg_database.h" #include "commands/dbcommands.h" #include "commands/vacuum.h" +#include "lib/dllist.h" #include "libpq/pqsignal.h" #include "miscadmin.h" #include "pgstat.h" diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index f98f138e9a6..748fd85edb0 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -46,6 +46,7 @@ #include "postmaster/bgwriter.h" #include "storage/bufmgr.h" #include "storage/buf_internals.h" +#include "storage/fd.h" #include "storage/ipc.h" #include "storage/lwlock.h" #include "storage/proc.h" diff --git a/src/backend/postmaster/checkpointer.c b/src/backend/postmaster/checkpointer.c index a516856226f..c5f32059a79 100644 --- a/src/backend/postmaster/checkpointer.c +++ b/src/backend/postmaster/checkpointer.c @@ -48,6 +48,7 @@ #include "postmaster/bgwriter.h" #include "replication/syncrep.h" #include "storage/bufmgr.h" +#include "storage/fd.h" #include "storage/ipc.h" #include "storage/lwlock.h" #include "storage/proc.h" diff --git a/src/backend/postmaster/walwriter.c b/src/backend/postmaster/walwriter.c index 8a794955810..43139017c27 100644 --- a/src/backend/postmaster/walwriter.c +++ b/src/backend/postmaster/walwriter.c @@ -51,6 +51,7 @@ #include "miscadmin.h" #include "postmaster/walwriter.h" #include "storage/bufmgr.h" +#include "storage/fd.h" #include "storage/ipc.h" #include "storage/lwlock.h" #include "storage/proc.h" diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index a3bf9a4d44e..dba19ebc6d3 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -46,7 +46,7 @@ #include "storage/smgr.h" #include "storage/standby.h" #include "utils/rel.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" #include "utils/timestamp.h" diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c index 46eeaf742d8..c18a04de71b 100644 --- a/src/backend/storage/buffer/localbuf.c +++ b/src/backend/storage/buffer/localbuf.c @@ -21,7 +21,7 @@ #include "storage/bufmgr.h" #include "utils/guc.h" #include "utils/memutils.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" /*#define LBDEBUG*/ diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 1e54715056c..fed25fd7e7c 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -57,7 +57,7 @@ #include "storage/fd.h" #include "storage/ipc.h" #include "utils/guc.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" /* diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 891dfa9e7bd..32cc229c864 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -44,7 +44,7 @@ #include "storage/standby.h" #include "utils/memutils.h" #include "utils/ps_status.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" /* This configuration variable is used to set the lock table size */ diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index 0307b9652d4..d6f6b1c0de4 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -33,7 +33,7 @@ #include "utils/inval.h" #include "utils/memutils.h" #include "utils/rel.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/utils/cache/evtcache.c b/src/backend/utils/cache/evtcache.c index 258b5001ee3..6707ea1f822 100644 --- a/src/backend/utils/cache/evtcache.c +++ b/src/backend/utils/cache/evtcache.c @@ -21,6 +21,7 @@ #include "commands/trigger.h" #include "utils/array.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/evtcache.h" #include "utils/inval.h" #include "utils/memutils.h" diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c index c42765c25a7..8c0391ffcbd 100644 --- a/src/backend/utils/cache/plancache.c +++ b/src/backend/utils/cache/plancache.c @@ -61,6 +61,7 @@ #include "tcop/utility.h" #include "utils/inval.h" #include "utils/memutils.h" +#include "utils/resowner_private.h" #include "utils/snapmgr.h" #include "utils/syscache.h" diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 2e6776e78f7..0f26b34bc4d 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -69,7 +69,7 @@ #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/relmapper.h" -#include "utils/resowner.h" +#include "utils/resowner_private.h" #include "utils/syscache.h" #include "utils/tqual.h" diff --git a/src/backend/utils/cache/typcache.c b/src/backend/utils/cache/typcache.c index e6f66df9a13..9af5e868559 100644 --- a/src/backend/utils/cache/typcache.c +++ b/src/backend/utils/cache/typcache.c @@ -55,6 +55,7 @@ #include "catalog/pg_type.h" #include "commands/defrem.h" #include "utils/builtins.h" +#include "utils/catcache.h" #include "utils/fmgroids.h" #include "utils/inval.h" #include "utils/lsyscache.h" diff --git a/src/backend/utils/resowner/resowner.c b/src/backend/utils/resowner/resowner.c index 3ded469d1e8..42396fe5101 100644 --- a/src/backend/utils/resowner/resowner.c +++ b/src/backend/utils/resowner/resowner.c @@ -25,6 +25,7 @@ #include "storage/proc.h" #include "utils/memutils.h" #include "utils/rel.h" +#include "utils/resowner_private.h" #include "utils/snapmgr.h" /* diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 6281c45721e..fa514f6b48f 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -48,6 +48,7 @@ #include "storage/procarray.h" #include "utils/builtins.h" #include "utils/memutils.h" +#include "utils/resowner_private.h" #include "utils/snapmgr.h" #include "utils/tqual.h" diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index 48339426549..daafd0e15e3 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -48,6 +48,7 @@ #include "datatype/timestamp.h" #include "executor/execdesc.h" +#include "utils/plancache.h" #include "utils/resowner.h" /* diff --git a/src/include/utils/resowner.h b/src/include/utils/resowner.h index e1c992e75e2..97e5922b587 100644 --- a/src/include/utils/resowner.h +++ b/src/include/utils/resowner.h @@ -19,12 +19,6 @@ #ifndef RESOWNER_H #define RESOWNER_H -#include "storage/fd.h" -#include "storage/lock.h" -#include "utils/catcache.h" -#include "utils/plancache.h" -#include "utils/snapshot.h" - /* * ResourceOwner objects are an opaque data structure known only within @@ -85,60 +79,4 @@ extern void RegisterResourceReleaseCallback(ResourceReleaseCallback callback, extern void UnregisterResourceReleaseCallback(ResourceReleaseCallback callback, void *arg); -/* support for buffer refcount management */ -extern void ResourceOwnerEnlargeBuffers(ResourceOwner owner); -extern void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer); -extern void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer); - -/* support for local lock management */ -extern void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock); -extern void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock); - -/* support for catcache refcount management */ -extern void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner); -extern void ResourceOwnerRememberCatCacheRef(ResourceOwner owner, - HeapTuple tuple); -extern void ResourceOwnerForgetCatCacheRef(ResourceOwner owner, - HeapTuple tuple); -extern void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner); -extern void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner, - CatCList *list); -extern void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner, - CatCList *list); - -/* support for relcache refcount management */ -extern void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner); -extern void ResourceOwnerRememberRelationRef(ResourceOwner owner, - Relation rel); -extern void ResourceOwnerForgetRelationRef(ResourceOwner owner, - Relation rel); - -/* support for plancache refcount management */ -extern void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner); -extern void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner, - CachedPlan *plan); -extern void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner, - CachedPlan *plan); - -/* support for tupledesc refcount management */ -extern void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner); -extern void ResourceOwnerRememberTupleDesc(ResourceOwner owner, - TupleDesc tupdesc); -extern void ResourceOwnerForgetTupleDesc(ResourceOwner owner, - TupleDesc tupdesc); - -/* support for snapshot refcount management */ -extern void ResourceOwnerEnlargeSnapshots(ResourceOwner owner); -extern void ResourceOwnerRememberSnapshot(ResourceOwner owner, - Snapshot snapshot); -extern void ResourceOwnerForgetSnapshot(ResourceOwner owner, - Snapshot snapshot); - -/* support for temporary file management */ -extern void ResourceOwnerEnlargeFiles(ResourceOwner owner); -extern void ResourceOwnerRememberFile(ResourceOwner owner, - File file); -extern void ResourceOwnerForgetFile(ResourceOwner owner, - File file); - #endif /* RESOWNER_H */ diff --git a/src/include/utils/resowner_private.h b/src/include/utils/resowner_private.h new file mode 100644 index 00000000000..fc6e4640d45 --- /dev/null +++ b/src/include/utils/resowner_private.h @@ -0,0 +1,83 @@ +/*------------------------------------------------------------------------- + * + * resowner_private.h + * POSTGRES resource owner private definitions. + * + * See utils/resowner/README for more info. + * + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/resowner_private.h + * + *------------------------------------------------------------------------- + */ +#ifndef RESOWNER_PRIVATE_H +#define RESOWNER_PRIVATE_H + +#include "storage/fd.h" +#include "storage/lock.h" +#include "utils/catcache.h" +#include "utils/plancache.h" +#include "utils/resowner.h" +#include "utils/snapshot.h" + + +/* support for buffer refcount management */ +extern void ResourceOwnerEnlargeBuffers(ResourceOwner owner); +extern void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer); +extern void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer); + +/* support for local lock management */ +extern void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock); +extern void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock); + +/* support for catcache refcount management */ +extern void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner); +extern void ResourceOwnerRememberCatCacheRef(ResourceOwner owner, + HeapTuple tuple); +extern void ResourceOwnerForgetCatCacheRef(ResourceOwner owner, + HeapTuple tuple); +extern void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner); +extern void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner, + CatCList *list); +extern void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner, + CatCList *list); + +/* support for relcache refcount management */ +extern void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner); +extern void ResourceOwnerRememberRelationRef(ResourceOwner owner, + Relation rel); +extern void ResourceOwnerForgetRelationRef(ResourceOwner owner, + Relation rel); + +/* support for plancache refcount management */ +extern void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner); +extern void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner, + CachedPlan *plan); +extern void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner, + CachedPlan *plan); + +/* support for tupledesc refcount management */ +extern void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner); +extern void ResourceOwnerRememberTupleDesc(ResourceOwner owner, + TupleDesc tupdesc); +extern void ResourceOwnerForgetTupleDesc(ResourceOwner owner, + TupleDesc tupdesc); + +/* support for snapshot refcount management */ +extern void ResourceOwnerEnlargeSnapshots(ResourceOwner owner); +extern void ResourceOwnerRememberSnapshot(ResourceOwner owner, + Snapshot snapshot); +extern void ResourceOwnerForgetSnapshot(ResourceOwner owner, + Snapshot snapshot); + +/* support for temporary file management */ +extern void ResourceOwnerEnlargeFiles(ResourceOwner owner); +extern void ResourceOwnerRememberFile(ResourceOwner owner, + File file); +extern void ResourceOwnerForgetFile(ResourceOwner owner, + File file); + +#endif /* RESOWNER_PRIVATE_H */ diff --git a/src/include/utils/snapmgr.h b/src/include/utils/snapmgr.h index f1959817712..6b2ef80d067 100644 --- a/src/include/utils/snapmgr.h +++ b/src/include/utils/snapmgr.h @@ -13,7 +13,9 @@ #ifndef SNAPMGR_H #define SNAPMGR_H +#include "fmgr.h" #include "utils/resowner.h" +#include "utils/snapshot.h" extern bool FirstSnapshotSet; |