diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 7778dde3e5..b7dbe386c6 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -1933,7 +1933,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, * This needs to happen before we extend the relation, because as soon as * we do, other backends can start to read in those pages. */ - for (int i = 0; i < extend_by; i++) + for (uint32 i = 0; i < extend_by; i++) { Buffer victim_buf = buffers[i]; BufferDesc *victim_buf_hdr = GetBufferDescriptor(victim_buf - 1); @@ -2065,7 +2065,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, io_start, extend_by); /* Set BM_VALID, terminate IO, and wake up any waiters */ - for (int i = 0; i < extend_by; i++) + for (uint32 i = 0; i < extend_by; i++) { Buffer buf = buffers[i]; BufferDesc *buf_hdr = GetBufferDescriptor(buf - 1); diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c index f684862d98..576ae54646 100644 --- a/src/backend/storage/buffer/localbuf.c +++ b/src/backend/storage/buffer/localbuf.c @@ -118,9 +118,8 @@ LocalBufferAlloc(SMgrRelation smgr, ForkNumber forkNum, BlockNumber blockNum, bool *foundPtr) { BufferTag newTag; /* identity of requested block */ - LocalBufferLookupEnt *hresult; BufferDesc *bufHdr; - Buffer victim_buffer; + LocalBufferLookupEnt *hresult; int bufid; bool found; @@ -145,6 +144,7 @@ LocalBufferAlloc(SMgrRelation smgr, ForkNumber forkNum, BlockNumber blockNum, else { uint32 buf_state; + Buffer victim_buffer; victim_buffer = GetLocalVictimBuffer(); bufid = -victim_buffer - 1; @@ -360,7 +360,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, relpath(eb.smgr->smgr_rlocator, fork), MaxBlockNumber))); - for (int i = 0; i < extend_by; i++) + for (uint32 i = 0; i < extend_by; i++) { int victim_buf_id; BufferDesc *victim_buf_hdr; @@ -377,7 +377,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, hash_search(LocalBufHash, (void *) &tag, HASH_ENTER, &found); if (found) { - BufferDesc *existing_hdr = GetLocalBufferDescriptor(hresult->id); + BufferDesc *existing_hdr; uint32 buf_state; UnpinLocalBuffer(BufferDescriptorGetBuffer(victim_buf_hdr)); @@ -416,7 +416,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, pgstat_count_io_op_time(IOOBJECT_TEMP_RELATION, IOCONTEXT_NORMAL, IOOP_EXTEND, io_start, extend_by); - for (int i = 0; i < extend_by; i++) + for (uint32 i = 0; i < extend_by; i++) { Buffer buf = buffers[i]; BufferDesc *buf_hdr; @@ -489,7 +489,6 @@ DropRelationLocalBuffers(RelFileLocator rlocator, ForkNumber forkNum, for (i = 0; i < NLocBuffer; i++) { BufferDesc *bufHdr = GetLocalBufferDescriptor(i); - LocalBufferLookupEnt *hresult; uint32 buf_state; buf_state = pg_atomic_read_u32(&bufHdr->state); @@ -499,6 +498,8 @@ DropRelationLocalBuffers(RelFileLocator rlocator, ForkNumber forkNum, BufTagGetForkNum(&bufHdr->tag) == forkNum && bufHdr->tag.blockNum >= firstDelBlock) { + LocalBufferLookupEnt *hresult; + if (LocalRefCount[i] != 0) elog(ERROR, "block %u of %s is still referenced (local %u)", bufHdr->tag.blockNum, @@ -536,7 +537,6 @@ DropRelationAllLocalBuffers(RelFileLocator rlocator) for (i = 0; i < NLocBuffer; i++) { BufferDesc *bufHdr = GetLocalBufferDescriptor(i); - LocalBufferLookupEnt *hresult; uint32 buf_state; buf_state = pg_atomic_read_u32(&bufHdr->state); @@ -544,6 +544,8 @@ DropRelationAllLocalBuffers(RelFileLocator rlocator) if ((buf_state & BM_TAG_VALID) && BufTagMatchesRelFileLocator(&bufHdr->tag, &rlocator)) { + LocalBufferLookupEnt *hresult; + if (LocalRefCount[i] != 0) elog(ERROR, "block %u of %s is still referenced (local %u)", bufHdr->tag.blockNum, diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index 70d0d570b1..b7b1fac40a 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -52,7 +52,7 @@ typedef struct f_smgr void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, const void *buffer, bool skipFsync); void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks, bool skipFsync); + BlockNumber blocknum, uint32 nblocks, bool skipFsync); bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum); void (*smgr_read) (SMgrRelation reln, ForkNumber forknum, @@ -520,7 +520,7 @@ smgrextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, */ void smgrzeroextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, - int nblocks, bool skipFsync) + uint32 nblocks, bool skipFsync) { smgrsw[reln->smgr_which].smgr_zeroextend(reln, forknum, blocknum, nblocks, skipFsync); diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h index 17fba6f91a..b12951a142 100644 --- a/src/include/storage/smgr.h +++ b/src/include/storage/smgr.h @@ -94,7 +94,7 @@ extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo); extern void smgrextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, const void *buffer, bool skipFsync); extern void smgrzeroextend(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks, bool skipFsync); + BlockNumber blocknum, uint32 nblocks, bool skipFsync); extern bool smgrprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum); extern void smgrread(SMgrRelation reln, ForkNumber forknum,