| /*------------------------------------------------------------------------- |
| * |
| * resowner_private.h |
| * POSTGRES resource owner private definitions. |
| * |
| * See utils/resowner/README for more info. |
| * |
| * |
| * Portions Copyright (c) 1996-2023, 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/dsm.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 IO-in-progress management */ |
| extern void ResourceOwnerEnlargeBufferIOs(ResourceOwner owner); |
| extern void ResourceOwnerRememberBufferIO(ResourceOwner owner, Buffer buffer); |
| extern void ResourceOwnerForgetBufferIO(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); |
| |
| /* support for dynamic shared memory management */ |
| extern void ResourceOwnerEnlargeDSMs(ResourceOwner owner); |
| extern void ResourceOwnerRememberDSM(ResourceOwner owner, |
| dsm_segment *); |
| extern void ResourceOwnerForgetDSM(ResourceOwner owner, |
| dsm_segment *); |
| |
| /* support for JITContext management */ |
| extern void ResourceOwnerEnlargeJIT(ResourceOwner owner); |
| extern void ResourceOwnerRememberJIT(ResourceOwner owner, |
| Datum handle); |
| extern void ResourceOwnerForgetJIT(ResourceOwner owner, |
| Datum handle); |
| |
| /* support for cryptohash context management */ |
| extern void ResourceOwnerEnlargeCryptoHash(ResourceOwner owner); |
| extern void ResourceOwnerRememberCryptoHash(ResourceOwner owner, |
| Datum handle); |
| extern void ResourceOwnerForgetCryptoHash(ResourceOwner owner, |
| Datum handle); |
| |
| /* support for HMAC context management */ |
| extern void ResourceOwnerEnlargeHMAC(ResourceOwner owner); |
| extern void ResourceOwnerRememberHMAC(ResourceOwner owner, |
| Datum handle); |
| extern void ResourceOwnerForgetHMAC(ResourceOwner owner, |
| Datum handle); |
| |
| #endif /* RESOWNER_PRIVATE_H */ |