mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Further work on connecting the free space map (which is still just a
stub) into the rest of the system. Adopt a cleaner approach to preventing deadlock in concurrent heap_updates: allow RelationGetBufferForTuple to select any page of the rel, and put the onus on it to lock both buffers in a consistent order. Remove no-longer-needed isExtend hack from API of ReleaseAndReadBuffer.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: relcache.h,v 1.24 2001/01/24 19:43:29 momjian Exp $
|
||||
* $Id: relcache.h,v 1.25 2001/06/29 21:08:25 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -27,7 +27,6 @@ extern Relation RelationNodeCacheGetRelation(RelFileNode rnode);
|
||||
extern Relation RelationIdCacheGetRelation(Oid relationId);
|
||||
|
||||
extern void RelationClose(Relation relation);
|
||||
extern void RelationForgetRelation(Oid rid);
|
||||
|
||||
/*
|
||||
* Routines to compute/retrieve additional cached information
|
||||
@@ -40,14 +39,23 @@ extern List *RelationGetIndexList(Relation relation);
|
||||
extern void RelationCacheInitialize(void);
|
||||
extern void RelationCacheInitializePhase2(void);
|
||||
|
||||
/*
|
||||
* Routine to create a relcache entry for an about-to-be-created relation
|
||||
*/
|
||||
extern Relation RelationBuildLocalRelation(const char *relname,
|
||||
TupleDesc tupDesc,
|
||||
Oid relid, Oid dbid,
|
||||
bool nailit);
|
||||
|
||||
/*
|
||||
* Routines for flushing/rebuilding relcache entries in various scenarios
|
||||
*/
|
||||
extern void RelationForgetRelation(Oid rid);
|
||||
|
||||
extern void RelationIdInvalidateRelationCacheByRelationId(Oid relationId);
|
||||
|
||||
extern void RelationCacheInvalidate(void);
|
||||
|
||||
extern void RelationRegisterRelation(Relation relation);
|
||||
extern void RelationPurgeLocalRelation(bool xactComitted);
|
||||
|
||||
extern void RelationCacheAbort(void);
|
||||
|
||||
Reference in New Issue
Block a user