1 /*-------------------------------------------------------------------------
4 * POSTGRES resource owner private definitions.
6 * See utils/resowner/README for more info.
9 * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
10 * Portions Copyright (c) 1994, Regents of the University of California
12 * src/include/utils/resowner_private.h
14 *-------------------------------------------------------------------------
16 #ifndef RESOWNER_PRIVATE_H
17 #define RESOWNER_PRIVATE_H
19 #include "storage/dsm.h"
20 #include "storage/fd.h"
21 #include "storage/lock.h"
22 #include "utils/catcache.h"
23 #include "utils/plancache.h"
24 #include "utils/resowner.h"
25 #include "utils/snapshot.h"
28 /* support for buffer refcount management */
29 extern void ResourceOwnerEnlargeBuffers(ResourceOwner owner);
30 extern void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer);
31 extern void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer);
33 /* support for local lock management */
34 extern void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock);
35 extern void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock);
37 /* support for catcache refcount management */
38 extern void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner);
39 extern void ResourceOwnerRememberCatCacheRef(ResourceOwner owner,
41 extern void ResourceOwnerForgetCatCacheRef(ResourceOwner owner,
43 extern void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner);
44 extern void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner,
46 extern void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner,
49 /* support for relcache refcount management */
50 extern void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner);
51 extern void ResourceOwnerRememberRelationRef(ResourceOwner owner,
53 extern void ResourceOwnerForgetRelationRef(ResourceOwner owner,
56 /* support for plancache refcount management */
57 extern void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner);
58 extern void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner,
60 extern void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner,
63 /* support for tupledesc refcount management */
64 extern void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner);
65 extern void ResourceOwnerRememberTupleDesc(ResourceOwner owner,
67 extern void ResourceOwnerForgetTupleDesc(ResourceOwner owner,
70 /* support for snapshot refcount management */
71 extern void ResourceOwnerEnlargeSnapshots(ResourceOwner owner);
72 extern void ResourceOwnerRememberSnapshot(ResourceOwner owner,
74 extern void ResourceOwnerForgetSnapshot(ResourceOwner owner,
77 /* support for temporary file management */
78 extern void ResourceOwnerEnlargeFiles(ResourceOwner owner);
79 extern void ResourceOwnerRememberFile(ResourceOwner owner,
81 extern void ResourceOwnerForgetFile(ResourceOwner owner,
84 /* support for dynamic shared memory management */
85 extern void ResourceOwnerEnlargeDSMs(ResourceOwner owner);
86 extern void ResourceOwnerRememberDSM(ResourceOwner owner,
88 extern void ResourceOwnerForgetDSM(ResourceOwner owner,
91 #endif /* RESOWNER_PRIVATE_H */