PostgreSQL Source Code  git master
resowner_private.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * resowner_private.h
4  * POSTGRES resource owner private definitions.
5  *
6  * See utils/resowner/README for more info.
7  *
8  *
9  * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
10  * Portions Copyright (c) 1994, Regents of the University of California
11  *
12  * src/include/utils/resowner_private.h
13  *
14  *-------------------------------------------------------------------------
15  */
16 #ifndef RESOWNER_PRIVATE_H
17 #define RESOWNER_PRIVATE_H
18 
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"
26 
27 
28 /* support for buffer refcount management */
30 extern void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer);
31 extern void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer);
32 
33 /* support for local lock management */
34 extern void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock);
35 extern void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock);
36 
37 /* support for catcache refcount management */
40  HeapTuple tuple);
42  HeapTuple tuple);
45  CatCList *list);
47  CatCList *list);
48 
49 /* support for relcache refcount management */
52  Relation rel);
54  Relation rel);
55 
56 /* support for plancache refcount management */
59  CachedPlan *plan);
61  CachedPlan *plan);
62 
63 /* support for tupledesc refcount management */
66  TupleDesc tupdesc);
68  TupleDesc tupdesc);
69 
70 /* support for snapshot refcount management */
73  Snapshot snapshot);
75  Snapshot snapshot);
76 
77 /* support for temporary file management */
78 extern void ResourceOwnerEnlargeFiles(ResourceOwner owner);
80  File file);
81 extern void ResourceOwnerForgetFile(ResourceOwner owner,
82  File file);
83 
84 /* support for dynamic shared memory management */
85 extern void ResourceOwnerEnlargeDSMs(ResourceOwner owner);
86 extern void ResourceOwnerRememberDSM(ResourceOwner owner,
87  dsm_segment *);
88 extern void ResourceOwnerForgetDSM(ResourceOwner owner,
89  dsm_segment *);
90 
91 /* support for JITContext management */
92 extern void ResourceOwnerEnlargeJIT(ResourceOwner owner);
93 extern void ResourceOwnerRememberJIT(ResourceOwner owner,
94  Datum handle);
95 extern void ResourceOwnerForgetJIT(ResourceOwner owner,
96  Datum handle);
97 
98 /* support for cryptohash context management */
101  Datum handle);
103  Datum handle);
104 
105 #endif /* RESOWNER_PRIVATE_H */
void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock)
Definition: resowner.c:990
void ResourceOwnerForgetFile(ResourceOwner owner, File file)
Definition: resowner.c:1290
void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner)
Definition: resowner.c:1089
void ResourceOwnerRememberCatCacheRef(ResourceOwner owner, HeapTuple tuple)
Definition: resowner.c:1030
void ResourceOwnerForgetRelationRef(ResourceOwner owner, Relation rel)
Definition: resowner.c:1109
void ResourceOwnerRememberJIT(ResourceOwner owner, Datum handle)
Definition: resowner.c:1371
void ResourceOwnerForgetTupleDesc(ResourceOwner owner, TupleDesc tupdesc)
Definition: resowner.c:1198
void ResourceOwnerEnlargeDSMs(ResourceOwner owner)
Definition: resowner.c:1315
void ResourceOwnerRememberFile(ResourceOwner owner, File file)
Definition: resowner.c:1281
void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock)
Definition: resowner.c:970
void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner)
Definition: resowner.c:1019
void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner)
Definition: resowner.c:1178
void ResourceOwnerEnlargeBuffers(ResourceOwner owner)
Definition: resowner.c:930
void ResourceOwnerEnlargeJIT(ResourceOwner owner)
Definition: resowner.c:1360
void ResourceOwnerRememberCryptoHash(ResourceOwner owner, Datum handle)
Definition: resowner.c:1406
void ResourceOwnerEnlargeCryptoHash(ResourceOwner owner)
Definition: resowner.c:1395
void ResourceOwnerForgetCatCacheRef(ResourceOwner owner, HeapTuple tuple)
Definition: resowner.c:1039
void ResourceOwnerRememberRelationRef(ResourceOwner owner, Relation rel)
Definition: resowner.c:1100
void ResourceOwnerForgetJIT(ResourceOwner owner, Datum handle)
Definition: resowner.c:1380
void ResourceOwnerForgetSnapshot(ResourceOwner owner, Snapshot snapshot)
Definition: resowner.c:1244
void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer)
Definition: resowner.c:943
void ResourceOwnerRememberTupleDesc(ResourceOwner owner, TupleDesc tupdesc)
Definition: resowner.c:1189
void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner)
Definition: resowner.c:1054
uintptr_t Datum
Definition: postgres.h:367
void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer)
Definition: resowner.c:952
void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner, CachedPlan *plan)
Definition: resowner.c:1154
void ResourceOwnerRememberSnapshot(ResourceOwner owner, Snapshot snapshot)
Definition: resowner.c:1235
void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner)
Definition: resowner.c:1134
void ResourceOwnerForgetDSM(ResourceOwner owner, dsm_segment *)
Definition: resowner.c:1335
void ResourceOwnerEnlargeFiles(ResourceOwner owner)
Definition: resowner.c:1270
void ResourceOwnerRememberDSM(ResourceOwner owner, dsm_segment *)
Definition: resowner.c:1326
void ResourceOwnerEnlargeSnapshots(ResourceOwner owner)
Definition: resowner.c:1224
void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner, CatCList *list)
Definition: resowner.c:1065
void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner, CachedPlan *plan)
Definition: resowner.c:1145
int Buffer
Definition: buf.h:23
int File
Definition: fd.h:48
void ResourceOwnerForgetCryptoHash(ResourceOwner owner, Datum handle)
Definition: resowner.c:1415
void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner, CatCList *list)
Definition: resowner.c:1074