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-2019, 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 #endif /* RESOWNER_PRIVATE_H */
void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock)
Definition: resowner.c:953
void ResourceOwnerForgetFile(ResourceOwner owner, File file)
Definition: resowner.c:1253
void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner)
Definition: resowner.c:1052
void ResourceOwnerRememberCatCacheRef(ResourceOwner owner, HeapTuple tuple)
Definition: resowner.c:993
void ResourceOwnerForgetRelationRef(ResourceOwner owner, Relation rel)
Definition: resowner.c:1072
void ResourceOwnerRememberJIT(ResourceOwner owner, Datum handle)
Definition: resowner.c:1334
void ResourceOwnerForgetTupleDesc(ResourceOwner owner, TupleDesc tupdesc)
Definition: resowner.c:1161
void ResourceOwnerEnlargeDSMs(ResourceOwner owner)
Definition: resowner.c:1278
void ResourceOwnerRememberFile(ResourceOwner owner, File file)
Definition: resowner.c:1244
void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock)
Definition: resowner.c:933
void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner)
Definition: resowner.c:982
void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner)
Definition: resowner.c:1141
void ResourceOwnerEnlargeBuffers(ResourceOwner owner)
Definition: resowner.c:893
void ResourceOwnerEnlargeJIT(ResourceOwner owner)
Definition: resowner.c:1323
void ResourceOwnerForgetCatCacheRef(ResourceOwner owner, HeapTuple tuple)
Definition: resowner.c:1002
void ResourceOwnerRememberRelationRef(ResourceOwner owner, Relation rel)
Definition: resowner.c:1063
void ResourceOwnerForgetJIT(ResourceOwner owner, Datum handle)
Definition: resowner.c:1343
void ResourceOwnerForgetSnapshot(ResourceOwner owner, Snapshot snapshot)
Definition: resowner.c:1207
void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer)
Definition: resowner.c:906
void ResourceOwnerRememberTupleDesc(ResourceOwner owner, TupleDesc tupdesc)
Definition: resowner.c:1152
void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner)
Definition: resowner.c:1017
uintptr_t Datum
Definition: postgres.h:367
void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer)
Definition: resowner.c:915
void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner, CachedPlan *plan)
Definition: resowner.c:1117
void ResourceOwnerRememberSnapshot(ResourceOwner owner, Snapshot snapshot)
Definition: resowner.c:1198
void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner)
Definition: resowner.c:1097
void ResourceOwnerForgetDSM(ResourceOwner owner, dsm_segment *)
Definition: resowner.c:1298
void ResourceOwnerEnlargeFiles(ResourceOwner owner)
Definition: resowner.c:1233
void ResourceOwnerRememberDSM(ResourceOwner owner, dsm_segment *)
Definition: resowner.c:1289
void ResourceOwnerEnlargeSnapshots(ResourceOwner owner)
Definition: resowner.c:1187
void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner, CatCList *list)
Definition: resowner.c:1028
void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner, CachedPlan *plan)
Definition: resowner.c:1108
int Buffer
Definition: buf.h:23
int File
Definition: fd.h:45
void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner, CatCList *list)
Definition: resowner.c:1037