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-2024, 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 */
31 extern void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer);
32 
33 /* support for IO-in-progress management */
37 
38 /* support for local lock management */
39 extern void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock);
40 extern void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock);
41 
42 /* support for catcache refcount management */
45  HeapTuple tuple);
47  HeapTuple tuple);
50  CatCList *list);
52  CatCList *list);
53 
54 /* support for relcache refcount management */
57  Relation rel);
59  Relation rel);
60 
61 /* support for plancache refcount management */
64  CachedPlan *plan);
66  CachedPlan *plan);
67 
68 /* support for tupledesc refcount management */
71  TupleDesc tupdesc);
73  TupleDesc tupdesc);
74 
75 /* support for snapshot refcount management */
78  Snapshot snapshot);
80  Snapshot snapshot);
81 
82 /* support for temporary file management */
85  File file);
87  File file);
88 
89 /* support for dynamic shared memory management */
92  dsm_segment *);
94  dsm_segment *);
95 
96 /* support for JITContext management */
99  Datum handle);
101  Datum handle);
102 
103 /* support for cryptohash context management */
106  Datum handle);
108  Datum handle);
109 
110 /* support for HMAC context management */
113  Datum handle);
115  Datum handle);
116 
117 #endif /* RESOWNER_PRIVATE_H */
int Buffer
Definition: buf.h:23
int File
Definition: fd.h:51
#define plan(x)
Definition: pg_regress.c:162
uintptr_t Datum
Definition: postgres.h:64
void ResourceOwnerRememberDSM(ResourceOwner owner, dsm_segment *)
void ResourceOwnerForgetBufferIO(ResourceOwner owner, Buffer buffer)
void ResourceOwnerEnlargeJIT(ResourceOwner owner)
void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock)
Definition: resowner.c:1045
void ResourceOwnerEnlargeFiles(ResourceOwner owner)
void ResourceOwnerRememberCatCacheRef(ResourceOwner owner, HeapTuple tuple)
void ResourceOwnerForgetFile(ResourceOwner owner, File file)
void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer)
void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner, CachedPlan *plan)
void ResourceOwnerEnlargeHMAC(ResourceOwner owner)
void ResourceOwnerRememberCryptoHash(ResourceOwner owner, Datum handle)
void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner)
void ResourceOwnerForgetJIT(ResourceOwner owner, Datum handle)
void ResourceOwnerForgetTupleDesc(ResourceOwner owner, TupleDesc tupdesc)
void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner)
void ResourceOwnerForgetDSM(ResourceOwner owner, dsm_segment *)
void ResourceOwnerRememberFile(ResourceOwner owner, File file)
void ResourceOwnerRememberRelationRef(ResourceOwner owner, Relation rel)
void ResourceOwnerRememberTupleDesc(ResourceOwner owner, TupleDesc tupdesc)
void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner)
void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner, CachedPlan *plan)
void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner, CatCList *list)
void ResourceOwnerEnlargeBuffers(ResourceOwner owner)
void ResourceOwnerRememberHMAC(ResourceOwner owner, Datum handle)
void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner)
void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer)
void ResourceOwnerForgetHMAC(ResourceOwner owner, Datum handle)
void ResourceOwnerRememberBufferIO(ResourceOwner owner, Buffer buffer)
void ResourceOwnerEnlargeDSMs(ResourceOwner owner)
void ResourceOwnerRememberSnapshot(ResourceOwner owner, Snapshot snapshot)
void ResourceOwnerForgetSnapshot(ResourceOwner owner, Snapshot snapshot)
void ResourceOwnerForgetRelationRef(ResourceOwner owner, Relation rel)
void ResourceOwnerForgetCatCacheRef(ResourceOwner owner, HeapTuple tuple)
void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner)
void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock)
Definition: resowner.c:1065
void ResourceOwnerEnlargeCryptoHash(ResourceOwner owner)
void ResourceOwnerForgetCryptoHash(ResourceOwner owner, Datum handle)
void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner, CatCList *list)
void ResourceOwnerRememberJIT(ResourceOwner owner, Datum handle)
void ResourceOwnerEnlargeBufferIOs(ResourceOwner owner)
void ResourceOwnerEnlargeSnapshots(ResourceOwner owner)