mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +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: bufmgr.h,v 1.52 2001/06/09 18:16:59 tgl Exp $
|
||||
* $Id: bufmgr.h,v 1.53 2001/06/29 21:08:25 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -155,10 +155,11 @@ extern long *LocalRefCount;
|
||||
* prototypes for functions in bufmgr.c
|
||||
*/
|
||||
extern Buffer ReadBuffer(Relation reln, BlockNumber blockNum);
|
||||
extern int ReleaseBuffer(Buffer buffer);
|
||||
extern int WriteBuffer(Buffer buffer);
|
||||
extern int WriteNoReleaseBuffer(Buffer buffer);
|
||||
extern Buffer ReleaseAndReadBuffer(Buffer buffer, Relation relation,
|
||||
BlockNumber blockNum, bool isExtend);
|
||||
BlockNumber blockNum);
|
||||
extern int FlushBuffer(Buffer buffer, bool sync, bool release);
|
||||
|
||||
extern void InitBufferPool(void);
|
||||
@@ -176,7 +177,6 @@ extern void DropRelFileNodeBuffers(RelFileNode rnode);
|
||||
extern void DropBuffers(Oid dbid);
|
||||
extern void PrintPinnedBufs(void);
|
||||
extern int BufferShmemSize(void);
|
||||
extern int ReleaseBuffer(Buffer buffer);
|
||||
extern RelFileNode BufferGetFileNode(Buffer buffer);
|
||||
|
||||
extern void SetBufferCommitInfoNeedsSave(Buffer buffer);
|
||||
|
Reference in New Issue
Block a user