diff options
author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1996-12-31 06:47:30 +0000 |
---|---|---|
committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1996-12-31 06:47:30 +0000 |
commit | ae753b86b58a9c7d9d88ef1c0270bdf01aa16cb0 (patch) | |
tree | f2eebad8baafd06e5bccdd0be296eaf823c81b80 | |
parent | 9b94bcea216acd7f75545d9703361682100a084e (diff) | |
download | postgresql-ae753b86b58a9c7d9d88ef1c0270bdf01aa16cb0.tar.gz postgresql-ae753b86b58a9c7d9d88ef1c0270bdf01aa16cb0.zip |
ReleaseTmpRelBuffers () releases buffers in LOCAL buffer pool now
(if rd_islocal is true).
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 007f7275ba2..1499659aef0 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.5 1996/11/08 05:58:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.6 1996/12/31 06:47:30 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -1243,6 +1243,24 @@ ReleaseTmpRelBuffers(Relation tempreldesc) int holding = 0; BufferDesc *buf; + /* + * Is tempreldesc->rd_islocal == FALSE possible at all ? + * But I don't want to mess something now. - vadim 12/31/96 + */ + if ( tempreldesc->rd_islocal ) + { + for (i = 0; i < NLocBuffer; i++) + { + buf = &LocalBufferDescriptors[i]; + if ((buf->flags & BM_DIRTY) && + (buf->tag.relId.relId == tempreldesc->rd_id)) + { + buf->flags &= ~BM_DIRTY; + } + } + return; + } + for (i=1; i<=NBuffers; i++) { buf = &BufferDescriptors[i-1]; if (!holding) { |