codekingpro/portable-devtools
114k
1/*-------------------------------------------------------------------------2 *3 * resowner_private.h4 * POSTGRES resource owner private definitions.5 *6 * See utils/resowner/README for more info.7 *8 *9 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group10 * Portions Copyright (c) 1994, Regents of the University of California11 *12 * src/include/utils/resowner_private.h13 *14 *-------------------------------------------------------------------------15 */16#ifndef RESOWNER_PRIVATE_H17#define RESOWNER_PRIVATE_H18 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 */29extern void ResourceOwnerEnlargeBuffers(ResourceOwner owner);30extern void ResourceOwnerRememberBuffer(ResourceOwner owner, Buffer buffer);31extern void ResourceOwnerForgetBuffer(ResourceOwner owner, Buffer buffer);32 33/* support for IO-in-progress management */34extern void ResourceOwnerEnlargeBufferIOs(ResourceOwner owner);35extern void ResourceOwnerRememberBufferIO(ResourceOwner owner, Buffer buffer);36extern void ResourceOwnerForgetBufferIO(ResourceOwner owner, Buffer buffer);37 38/* support for local lock management */39extern void ResourceOwnerRememberLock(ResourceOwner owner, LOCALLOCK *locallock);40extern void ResourceOwnerForgetLock(ResourceOwner owner, LOCALLOCK *locallock);41 42/* support for catcache refcount management */43extern void ResourceOwnerEnlargeCatCacheRefs(ResourceOwner owner);44extern void ResourceOwnerRememberCatCacheRef(ResourceOwner owner,45 HeapTuple tuple);46extern void ResourceOwnerForgetCatCacheRef(ResourceOwner owner,47 HeapTuple tuple);48extern void ResourceOwnerEnlargeCatCacheListRefs(ResourceOwner owner);49extern void ResourceOwnerRememberCatCacheListRef(ResourceOwner owner,50 CatCList *list);51extern void ResourceOwnerForgetCatCacheListRef(ResourceOwner owner,52 CatCList *list);53 54/* support for relcache refcount management */55extern void ResourceOwnerEnlargeRelationRefs(ResourceOwner owner);56extern void ResourceOwnerRememberRelationRef(ResourceOwner owner,57 Relation rel);58extern void ResourceOwnerForgetRelationRef(ResourceOwner owner,59 Relation rel);60 61/* support for plancache refcount management */62extern void ResourceOwnerEnlargePlanCacheRefs(ResourceOwner owner);63extern void ResourceOwnerRememberPlanCacheRef(ResourceOwner owner,64 CachedPlan *plan);65extern void ResourceOwnerForgetPlanCacheRef(ResourceOwner owner,66 CachedPlan *plan);67 68/* support for tupledesc refcount management */69extern void ResourceOwnerEnlargeTupleDescs(ResourceOwner owner);70extern void ResourceOwnerRememberTupleDesc(ResourceOwner owner,71 TupleDesc tupdesc);72extern void ResourceOwnerForgetTupleDesc(ResourceOwner owner,73 TupleDesc tupdesc);74 75/* support for snapshot refcount management */76extern void ResourceOwnerEnlargeSnapshots(ResourceOwner owner);77extern void ResourceOwnerRememberSnapshot(ResourceOwner owner,78 Snapshot snapshot);79extern void ResourceOwnerForgetSnapshot(ResourceOwner owner,80 Snapshot snapshot);81 82/* support for temporary file management */83extern void ResourceOwnerEnlargeFiles(ResourceOwner owner);84extern void ResourceOwnerRememberFile(ResourceOwner owner,85 File file);86extern void ResourceOwnerForgetFile(ResourceOwner owner,87 File file);88 89/* support for dynamic shared memory management */90extern void ResourceOwnerEnlargeDSMs(ResourceOwner owner);91extern void ResourceOwnerRememberDSM(ResourceOwner owner,92 dsm_segment *);93extern void ResourceOwnerForgetDSM(ResourceOwner owner,94 dsm_segment *);95 96/* support for JITContext management */97extern void ResourceOwnerEnlargeJIT(ResourceOwner owner);98extern void ResourceOwnerRememberJIT(ResourceOwner owner,99 Datum handle);100extern void ResourceOwnerForgetJIT(ResourceOwner owner,101 Datum handle);102 103/* support for cryptohash context management */104extern void ResourceOwnerEnlargeCryptoHash(ResourceOwner owner);105extern void ResourceOwnerRememberCryptoHash(ResourceOwner owner,106 Datum handle);107extern void ResourceOwnerForgetCryptoHash(ResourceOwner owner,108 Datum handle);109 110/* support for HMAC context management */111extern void ResourceOwnerEnlargeHMAC(ResourceOwner owner);112extern void ResourceOwnerRememberHMAC(ResourceOwner owner,113 Datum handle);114extern void ResourceOwnerForgetHMAC(ResourceOwner owner,115 Datum handle);116 117#endif /* RESOWNER_PRIVATE_H */118 