diff options
author | Bruce Momjian <bruce@momjian.us> | 1998-08-19 02:04:17 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1998-08-19 02:04:17 +0000 |
commit | 7971539020a344dce3a8b3b9b93ff4f10e2f823a (patch) | |
tree | 8dca0af0d3ac8d431bff8c0dec793fe9733a1ee9 /src/backend/storage/buffer/bufmgr.c | |
parent | 31de2c9461dff3284ad61084c73eba093fa3f68e (diff) |
heap_fetch requires buffer pointer, must be released; heap_getnext
no longer returns buffer pointer, can be gotten from scan;
descriptor; bootstrap can create multi-key indexes;
pg_procname index now is multi-key index; oidint2, oidint4, oidname
are gone (must be removed from regression tests); use System Cache
rather than sequential scan in many places; heap_modifytuple no
longer takes buffer parameter; remove unused buffer parameter in
a few other functions; oid8 is not index-able; remove some use of
single-character variable names; cleanup Buffer variables usage
and scan descriptor looping; cleaned up allocation and freeing of
tuples; 18k lines of diff;
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index cffe640e2c3..77efdf3538a 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.40 1998/08/01 15:26:12 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.41 1998/08/19 02:02:35 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -100,7 +100,7 @@ static void BufferSync(void); static int BufferReplace(BufferDesc *bufHdr, bool bufferLockHeld); /* not static but used by vacuum only ... */ -int BlowawayRelationBuffers(Relation rdesc, BlockNumber block); +int BlowawayRelationBuffers(Relation rel, BlockNumber block); /* --------------------------------------------------- * RelationGetBufferWithBuffer @@ -135,7 +135,7 @@ RelationGetBufferWithBuffer(Relation relation, else { bufHdr = &LocalBufferDescriptors[-buffer - 1]; - if (bufHdr->tag.relId.relId == relation->rd_id && + if (bufHdr->tag.relId.relId == RelationGetRelid(relation) && bufHdr->tag.blockNum == blockNumber) return (buffer); } @@ -416,7 +416,7 @@ BufferAlloc(Relation reln, } } #ifdef BMTRACE - _bm_trace((reln->rd_rel->relisshared ? 0 : MyDatabaseId), reln->rd_id, blockNum, BufferDescriptorGetBuffer(buf), BMT_ALLOCFND); + _bm_trace((reln->rd_rel->relisshared ? 0 : MyDatabaseId), RelationGetRelid(reln), blockNum, BufferDescriptorGetBuffer(buf), BMT_ALLOCFND); #endif /* BMTRACE */ SpinRelease(BufMgrLock); @@ -660,7 +660,7 @@ BufferAlloc(Relation reln, } #ifdef BMTRACE - _bm_trace((reln->rd_rel->relisshared ? 0 : MyDatabaseId), reln->rd_id, blockNum, BufferDescriptorGetBuffer(buf), BMT_ALLOCNOTFND); + _bm_trace((reln->rd_rel->relisshared ? 0 : MyDatabaseId), RelationGetRelid(reln), blockNum, BufferDescriptorGetBuffer(buf), BMT_ALLOCNOTFND); #endif /* BMTRACE */ SpinRelease(BufMgrLock); @@ -1389,19 +1389,19 @@ RelationGetNumberOfBlocks(Relation relation) * -------------------------------------------------------------------- */ void -ReleaseRelationBuffers(Relation rdesc) +ReleaseRelationBuffers(Relation rel) { int i; int holding = 0; BufferDesc *buf; - if (rdesc->rd_islocal) + if (rel->rd_islocal) { for (i = 0; i < NLocBuffer; i++) { buf = &LocalBufferDescriptors[i]; if ((buf->flags & BM_DIRTY) && - (buf->tag.relId.relId == rdesc->rd_id)) + (buf->tag.relId.relId == RelationGetRelid(rel))) buf->flags &= ~BM_DIRTY; } return; @@ -1417,7 +1417,7 @@ ReleaseRelationBuffers(Relation rdesc) } if ((buf->flags & BM_DIRTY) && (buf->tag.relId.dbId == MyDatabaseId) && - (buf->tag.relId.relId == rdesc->rd_id)) + (buf->tag.relId.relId == RelationGetRelid(rel))) { buf->flags &= ~BM_DIRTY; if (!(buf->flags & BM_FREE)) @@ -1559,29 +1559,29 @@ BufferPoolBlowaway() * -------------------------------------------------------------------- */ int -BlowawayRelationBuffers(Relation rdesc, BlockNumber block) +BlowawayRelationBuffers(Relation rel, BlockNumber block) { int i; BufferDesc *buf; - if (rdesc->rd_islocal) + if (rel->rd_islocal) { for (i = 0; i < NLocBuffer; i++) { buf = &LocalBufferDescriptors[i]; - if (buf->tag.relId.relId == rdesc->rd_id && + if (buf->tag.relId.relId == RelationGetRelid(rel) && buf->tag.blockNum >= block) { if (buf->flags & BM_DIRTY) { elog(NOTICE, "BlowawayRelationBuffers(%s (local), %u): block %u is dirty", - rdesc->rd_rel->relname.data, block, buf->tag.blockNum); + rel->rd_rel->relname.data, block, buf->tag.blockNum); return (-1); } if (LocalRefCount[i] > 0) { elog(NOTICE, "BlowawayRelationBuffers(%s (local), %u): block %u is referenced (%d)", - rdesc->rd_rel->relname.data, block, + rel->rd_rel->relname.data, block, buf->tag.blockNum, LocalRefCount[i]); return (-2); } @@ -1596,7 +1596,7 @@ BlowawayRelationBuffers(Relation rdesc, BlockNumber block) { buf = &BufferDescriptors[i]; if (buf->tag.relId.dbId == MyDatabaseId && - buf->tag.relId.relId == rdesc->rd_id && + buf->tag.relId.relId == RelationGetRelid(rel) && buf->tag.blockNum >= block) { if (buf->flags & BM_DIRTY) |