2012-08-29 00:02:07 +02:00
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* resowner_private.h
|
|
|
|
* POSTGRES resource owner private definitions.
|
|
|
|
*
|
|
|
|
* See utils/resowner/README for more info.
|
|
|
|
*
|
|
|
|
*
|
2016-01-02 19:33:40 +01:00
|
|
|
* Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
|
2012-08-29 00:02:07 +02:00
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
|
|
*
|
|
|
|
* src/include/utils/resowner_private.h
|
|
|
|
*
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
#ifndef RESOWNER_PRIVATE_H
|
|
|
|
#define RESOWNER_PRIVATE_H
|
|
|
|
|
2013-10-10 03:05:02 +02:00
|
|
|
#include "storage/dsm.h"
|
2012-08-29 00:02:07 +02:00
|
|
|
#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 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);
|
|
|
|
|
2013-10-10 03:05:02 +02:00
|
|
|
/* support for dynamic shared memory management */
|
|
|
|
extern void ResourceOwnerEnlargeDSMs(ResourceOwner owner);
|
|
|
|
extern void ResourceOwnerRememberDSM(ResourceOwner owner,
|
2014-05-06 18:12:18 +02:00
|
|
|
dsm_segment *);
|
2013-10-10 03:05:02 +02:00
|
|
|
extern void ResourceOwnerForgetDSM(ResourceOwner owner,
|
2014-05-06 18:12:18 +02:00
|
|
|
dsm_segment *);
|
2013-10-10 03:05:02 +02:00
|
|
|
|
2012-08-29 00:02:07 +02:00
|
|
|
#endif /* RESOWNER_PRIVATE_H */
|