diff options
author | Jan Wieck <JanWieck@Yahoo.com> | 2003-11-13 05:34:58 +0000 |
---|---|---|
committer | Jan Wieck <JanWieck@Yahoo.com> | 2003-11-13 05:34:58 +0000 |
commit | 923e994d7901d7c0268725e219002af3b2d40dfc (patch) | |
tree | 74346d015a246ecb57b4bb4f4c25974f571b3265 /src/include/storage/buf_internals.h | |
parent | 256d2f09b58c45ad8ddda8f46d22915a8eaa5600 (diff) |
ARC strategy backed out ... sorry
Jan
Diffstat (limited to 'src/include/storage/buf_internals.h')
-rw-r--r-- | src/include/storage/buf_internals.h | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/src/include/storage/buf_internals.h b/src/include/storage/buf_internals.h index deafa0b8cec..7b797513392 100644 --- a/src/include/storage/buf_internals.h +++ b/src/include/storage/buf_internals.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: buf_internals.h,v 1.62 2003/11/13 00:40:02 wieck Exp $ + * $Id: buf_internals.h,v 1.63 2003/11/13 05:34:58 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -72,29 +72,17 @@ typedef struct buftag (a)->rnode = (xx_reln)->rd_node \ ) -#define BUFFERTAG_EQUALS(a,xx_reln,xx_blockNum) \ -( \ - (a)->rnode.tblNode == (xx_reln)->rd_node.tblNode && \ - (a)->rnode.relNode == (xx_reln)->rd_node.relNode && \ - (a)->blockNum == (xx_blockNum) \ -) -#define BUFFERTAGS_EQUAL(a,b) \ -( \ - (a)->rnode.tblNode == (b)->rnode.tblNode && \ - (a)->rnode.relNode == (b)->rnode.relNode && \ - (a)->blockNum == (b)->blockNum \ -) - /* * BufferDesc -- shared buffer cache metadata for a single * shared buffer descriptor. */ typedef struct sbufdesc { - Buffer bufNext; /* link in freelist chain */ + Buffer freeNext; /* links for freelist chain */ + Buffer freePrev; SHMEM_OFFSET data; /* pointer to data in buf pool */ - /* tag and id must be together for table lookup */ + /* tag and id must be together for table lookup (still true?) */ BufferTag tag; /* file/block identifier */ int buf_id; /* buffer's index number (from 0) */ @@ -119,7 +107,6 @@ typedef struct sbufdesc #define BufferDescriptorGetBuffer(bdesc) ((bdesc)->buf_id + 1) - /* * Each backend has its own BufferLocks[] array holding flag bits * showing what locks it has set on each buffer. @@ -180,19 +167,14 @@ extern long int LocalBufferFlushCount; /*freelist.c*/ extern void PinBuffer(BufferDesc *buf); extern void UnpinBuffer(BufferDesc *buf); -extern BufferDesc *StrategyBufferLookup(BufferTag *tagPtr, bool recheck); -extern BufferDesc *StrategyGetBuffer(void); -extern void StrategyReplaceBuffer(BufferDesc *buf, Relation rnode, BlockNumber blockNum); -extern void StrategyInvalidateBuffer(BufferDesc *buf); -extern void StrategyHintVacuum(bool vacuum_active); -extern int StrategyDirtyBufferList(int *buffer_dirty, int max_buffers); -extern void StrategyInitialize(bool init); +extern BufferDesc *GetFreeBuffer(void); +extern void InitFreeList(bool init); /* buf_table.c */ -extern void InitBufTable(int size); -extern int BufTableLookup(BufferTag *tagPtr); -extern bool BufTableInsert(BufferTag *tagPtr, Buffer buf_id); -extern bool BufTableDelete(BufferTag *tagPtr); +extern void InitBufTable(void); +extern BufferDesc *BufTableLookup(BufferTag *tagPtr); +extern bool BufTableDelete(BufferDesc *buf); +extern bool BufTableInsert(BufferDesc *buf); /* bufmgr.c */ extern BufferDesc *BufferDescriptors; |