mirror of
https://github.com/postgres/postgres.git
synced 2025-10-31 10:30:33 +03:00
Remove unneeded casts of BufferGetPage() result
BufferGetPage() already returns type Page, so casting it to Page doesn't achieve anything. A sizable number of call sites does this casting; remove that. This was already done inconsistently in the code in the first import in 1996 (but didn't exist in the pre-1995 code), and it was then apparently just copied around. Author: Kirill Reshke <reshkekirill@gmail.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Richard Guo <guofenglinux@gmail.com> Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de> Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://www.postgresql.org/message-id/flat/CALdSSPgFhc5=vLqHdk-zCcnztC0zEY3EU_Q6a9vPEaw7FkE9Vw@mail.gmail.com
This commit is contained in:
@@ -174,7 +174,7 @@ gin_check_posting_tree_parent_keys_consistency(Relation rel, BlockNumber posting
|
|||||||
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, stack->blkno,
|
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, stack->blkno,
|
||||||
RBM_NORMAL, strategy);
|
RBM_NORMAL, strategy);
|
||||||
LockBuffer(buffer, GIN_SHARE);
|
LockBuffer(buffer, GIN_SHARE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
Assert(GinPageIsData(page));
|
Assert(GinPageIsData(page));
|
||||||
|
|
||||||
@@ -434,7 +434,7 @@ gin_check_parent_keys_consistency(Relation rel,
|
|||||||
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, stack->blkno,
|
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, stack->blkno,
|
||||||
RBM_NORMAL, strategy);
|
RBM_NORMAL, strategy);
|
||||||
LockBuffer(buffer, GIN_SHARE);
|
LockBuffer(buffer, GIN_SHARE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
maxoff = PageGetMaxOffsetNumber(page);
|
maxoff = PageGetMaxOffsetNumber(page);
|
||||||
rightlink = GinPageGetOpaque(page)->rightlink;
|
rightlink = GinPageGetOpaque(page)->rightlink;
|
||||||
|
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ blvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
|
|||||||
buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno,
|
buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno,
|
||||||
RBM_NORMAL, info->strategy);
|
RBM_NORMAL, info->strategy);
|
||||||
LockBuffer(buffer, BUFFER_LOCK_SHARE);
|
LockBuffer(buffer, BUFFER_LOCK_SHARE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (PageIsNew(page) || BloomPageIsDeleted(page))
|
if (PageIsNew(page) || BloomPageIsDeleted(page))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -647,7 +647,7 @@ pgstathashindex(PG_FUNCTION_ARGS)
|
|||||||
buf = ReadBufferExtended(rel, MAIN_FORKNUM, blkno, RBM_NORMAL,
|
buf = ReadBufferExtended(rel, MAIN_FORKNUM, blkno, RBM_NORMAL,
|
||||||
bstrategy);
|
bstrategy);
|
||||||
LockBuffer(buf, BUFFER_LOCK_SHARE);
|
LockBuffer(buf, BUFFER_LOCK_SHARE);
|
||||||
page = (Page) BufferGetPage(buf);
|
page = BufferGetPage(buf);
|
||||||
|
|
||||||
if (PageIsNew(page))
|
if (PageIsNew(page))
|
||||||
stats.unused_pages++;
|
stats.unused_pages++;
|
||||||
|
|||||||
@@ -378,7 +378,7 @@ pgstat_heap(Relation rel, FunctionCallInfo fcinfo)
|
|||||||
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, block,
|
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, block,
|
||||||
RBM_NORMAL, hscan->rs_strategy);
|
RBM_NORMAL, hscan->rs_strategy);
|
||||||
LockBuffer(buffer, BUFFER_LOCK_SHARE);
|
LockBuffer(buffer, BUFFER_LOCK_SHARE);
|
||||||
stat.free_space += PageGetExactFreeSpace((Page) BufferGetPage(buffer));
|
stat.free_space += PageGetExactFreeSpace(BufferGetPage(buffer));
|
||||||
UnlockReleaseBuffer(buffer);
|
UnlockReleaseBuffer(buffer);
|
||||||
block++;
|
block++;
|
||||||
}
|
}
|
||||||
@@ -391,7 +391,7 @@ pgstat_heap(Relation rel, FunctionCallInfo fcinfo)
|
|||||||
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, block,
|
buffer = ReadBufferExtended(rel, MAIN_FORKNUM, block,
|
||||||
RBM_NORMAL, hscan->rs_strategy);
|
RBM_NORMAL, hscan->rs_strategy);
|
||||||
LockBuffer(buffer, BUFFER_LOCK_SHARE);
|
LockBuffer(buffer, BUFFER_LOCK_SHARE);
|
||||||
stat.free_space += PageGetExactFreeSpace((Page) BufferGetPage(buffer));
|
stat.free_space += PageGetExactFreeSpace(BufferGetPage(buffer));
|
||||||
UnlockReleaseBuffer(buffer);
|
UnlockReleaseBuffer(buffer);
|
||||||
block++;
|
block++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ brin_xlog_createidx(XLogReaderState *record)
|
|||||||
/* create the index' metapage */
|
/* create the index' metapage */
|
||||||
buf = XLogInitBufferForRedo(record, 0);
|
buf = XLogInitBufferForRedo(record, 0);
|
||||||
Assert(BufferIsValid(buf));
|
Assert(BufferIsValid(buf));
|
||||||
page = (Page) BufferGetPage(buf);
|
page = BufferGetPage(buf);
|
||||||
brin_metapage_init(page, xlrec->pagesPerRange, xlrec->version);
|
brin_metapage_init(page, xlrec->pagesPerRange, xlrec->version);
|
||||||
PageSetLSN(page, lsn);
|
PageSetLSN(page, lsn);
|
||||||
MarkBufferDirty(buf);
|
MarkBufferDirty(buf);
|
||||||
@@ -82,7 +82,7 @@ brin_xlog_insert_update(XLogReaderState *record,
|
|||||||
|
|
||||||
Assert(tuple->bt_blkno == xlrec->heapBlk);
|
Assert(tuple->bt_blkno == xlrec->heapBlk);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
offnum = xlrec->offnum;
|
offnum = xlrec->offnum;
|
||||||
if (PageGetMaxOffsetNumber(page) + 1 < offnum)
|
if (PageGetMaxOffsetNumber(page) + 1 < offnum)
|
||||||
elog(PANIC, "brin_xlog_insert_update: invalid max offset number");
|
elog(PANIC, "brin_xlog_insert_update: invalid max offset number");
|
||||||
@@ -104,7 +104,7 @@ brin_xlog_insert_update(XLogReaderState *record,
|
|||||||
ItemPointerData tid;
|
ItemPointerData tid;
|
||||||
|
|
||||||
ItemPointerSet(&tid, regpgno, xlrec->offnum);
|
ItemPointerSet(&tid, regpgno, xlrec->offnum);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
brinSetHeapBlockItemptr(buffer, xlrec->pagesPerRange, xlrec->heapBlk,
|
brinSetHeapBlockItemptr(buffer, xlrec->pagesPerRange, xlrec->heapBlk,
|
||||||
tid);
|
tid);
|
||||||
@@ -146,7 +146,7 @@ brin_xlog_update(XLogReaderState *record)
|
|||||||
Page page;
|
Page page;
|
||||||
OffsetNumber offnum;
|
OffsetNumber offnum;
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
offnum = xlrec->oldOffnum;
|
offnum = xlrec->oldOffnum;
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ brin_xlog_samepage_update(XLogReaderState *record)
|
|||||||
|
|
||||||
brintuple = (BrinTuple *) XLogRecGetBlockData(record, 0, &tuplen);
|
brintuple = (BrinTuple *) XLogRecGetBlockData(record, 0, &tuplen);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
offnum = xlrec->offnum;
|
offnum = xlrec->offnum;
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@ brin_xlog_revmap_extend(XLogReaderState *record)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
buf = XLogInitBufferForRedo(record, 1);
|
buf = XLogInitBufferForRedo(record, 1);
|
||||||
page = (Page) BufferGetPage(buf);
|
page = BufferGetPage(buf);
|
||||||
brin_page_init(page, BRIN_PAGETYPE_REVMAP);
|
brin_page_init(page, BRIN_PAGETYPE_REVMAP);
|
||||||
|
|
||||||
PageSetLSN(page, lsn);
|
PageSetLSN(page, lsn);
|
||||||
|
|||||||
@@ -753,7 +753,7 @@ ginvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
|
|||||||
buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno,
|
buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno,
|
||||||
RBM_NORMAL, info->strategy);
|
RBM_NORMAL, info->strategy);
|
||||||
LockBuffer(buffer, GIN_SHARE);
|
LockBuffer(buffer, GIN_SHARE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (GinPageIsRecyclable(page))
|
if (GinPageIsRecyclable(page))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ ginRedoClearIncompleteSplit(XLogReaderState *record, uint8 block_id)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, block_id, &buffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, block_id, &buffer) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
GinPageGetOpaque(page)->flags &= ~GIN_INCOMPLETE_SPLIT;
|
GinPageGetOpaque(page)->flags &= ~GIN_INCOMPLETE_SPLIT;
|
||||||
|
|
||||||
PageSetLSN(page, lsn);
|
PageSetLSN(page, lsn);
|
||||||
@@ -50,7 +50,7 @@ ginRedoCreatePTree(XLogReaderState *record)
|
|||||||
Page page;
|
Page page;
|
||||||
|
|
||||||
buffer = XLogInitBufferForRedo(record, 0);
|
buffer = XLogInitBufferForRedo(record, 0);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
GinInitBuffer(buffer, GIN_DATA | GIN_LEAF | GIN_COMPRESSED);
|
GinInitBuffer(buffer, GIN_DATA | GIN_LEAF | GIN_COMPRESSED);
|
||||||
|
|
||||||
|
|||||||
@@ -696,7 +696,7 @@ gistdoinsert(Relation r, IndexTuple itup, Size freespace,
|
|||||||
gistcheckpage(state.r, stack->buffer);
|
gistcheckpage(state.r, stack->buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
stack->page = (Page) BufferGetPage(stack->buffer);
|
stack->page = BufferGetPage(stack->buffer);
|
||||||
stack->lsn = xlocked ?
|
stack->lsn = xlocked ?
|
||||||
PageGetLSN(stack->page) : BufferGetLSNAtomic(stack->buffer);
|
PageGetLSN(stack->page) : BufferGetLSNAtomic(stack->buffer);
|
||||||
Assert(!RelationNeedsWAL(state.r) || !XLogRecPtrIsInvalid(stack->lsn));
|
Assert(!RelationNeedsWAL(state.r) || !XLogRecPtrIsInvalid(stack->lsn));
|
||||||
@@ -783,7 +783,7 @@ gistdoinsert(Relation r, IndexTuple itup, Size freespace,
|
|||||||
LockBuffer(stack->buffer, GIST_UNLOCK);
|
LockBuffer(stack->buffer, GIST_UNLOCK);
|
||||||
LockBuffer(stack->buffer, GIST_EXCLUSIVE);
|
LockBuffer(stack->buffer, GIST_EXCLUSIVE);
|
||||||
xlocked = true;
|
xlocked = true;
|
||||||
stack->page = (Page) BufferGetPage(stack->buffer);
|
stack->page = BufferGetPage(stack->buffer);
|
||||||
|
|
||||||
if (PageGetLSN(stack->page) != stack->lsn)
|
if (PageGetLSN(stack->page) != stack->lsn)
|
||||||
{
|
{
|
||||||
@@ -847,7 +847,7 @@ gistdoinsert(Relation r, IndexTuple itup, Size freespace,
|
|||||||
LockBuffer(stack->buffer, GIST_UNLOCK);
|
LockBuffer(stack->buffer, GIST_UNLOCK);
|
||||||
LockBuffer(stack->buffer, GIST_EXCLUSIVE);
|
LockBuffer(stack->buffer, GIST_EXCLUSIVE);
|
||||||
xlocked = true;
|
xlocked = true;
|
||||||
stack->page = (Page) BufferGetPage(stack->buffer);
|
stack->page = BufferGetPage(stack->buffer);
|
||||||
stack->lsn = PageGetLSN(stack->page);
|
stack->lsn = PageGetLSN(stack->page);
|
||||||
|
|
||||||
if (stack->blkno == GIST_ROOT_BLKNO)
|
if (stack->blkno == GIST_ROOT_BLKNO)
|
||||||
@@ -938,7 +938,7 @@ gistFindPath(Relation r, BlockNumber child, OffsetNumber *downlinkoffnum)
|
|||||||
buffer = ReadBuffer(r, top->blkno);
|
buffer = ReadBuffer(r, top->blkno);
|
||||||
LockBuffer(buffer, GIST_SHARE);
|
LockBuffer(buffer, GIST_SHARE);
|
||||||
gistcheckpage(r, buffer);
|
gistcheckpage(r, buffer);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (GistPageIsLeaf(page))
|
if (GistPageIsLeaf(page))
|
||||||
{
|
{
|
||||||
@@ -1033,7 +1033,7 @@ gistFindCorrectParent(Relation r, GISTInsertStack *child, bool is_build)
|
|||||||
GISTInsertStack *ptr;
|
GISTInsertStack *ptr;
|
||||||
|
|
||||||
gistcheckpage(r, parent->buffer);
|
gistcheckpage(r, parent->buffer);
|
||||||
parent->page = (Page) BufferGetPage(parent->buffer);
|
parent->page = BufferGetPage(parent->buffer);
|
||||||
maxoff = PageGetMaxOffsetNumber(parent->page);
|
maxoff = PageGetMaxOffsetNumber(parent->page);
|
||||||
|
|
||||||
/* Check if the downlink is still where it was before */
|
/* Check if the downlink is still where it was before */
|
||||||
@@ -1098,7 +1098,7 @@ gistFindCorrectParent(Relation r, GISTInsertStack *child, bool is_build)
|
|||||||
parent->buffer = ReadBuffer(r, parent->blkno);
|
parent->buffer = ReadBuffer(r, parent->blkno);
|
||||||
LockBuffer(parent->buffer, GIST_EXCLUSIVE);
|
LockBuffer(parent->buffer, GIST_EXCLUSIVE);
|
||||||
gistcheckpage(r, parent->buffer);
|
gistcheckpage(r, parent->buffer);
|
||||||
parent->page = (Page) BufferGetPage(parent->buffer);
|
parent->page = BufferGetPage(parent->buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1121,7 +1121,7 @@ gistFindCorrectParent(Relation r, GISTInsertStack *child, bool is_build)
|
|||||||
while (ptr)
|
while (ptr)
|
||||||
{
|
{
|
||||||
ptr->buffer = ReadBuffer(r, ptr->blkno);
|
ptr->buffer = ReadBuffer(r, ptr->blkno);
|
||||||
ptr->page = (Page) BufferGetPage(ptr->buffer);
|
ptr->page = BufferGetPage(ptr->buffer);
|
||||||
ptr = ptr->parent;
|
ptr = ptr->parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -969,7 +969,7 @@ gistProcessItup(GISTBuildState *buildstate, IndexTuple itup,
|
|||||||
buffer = ReadBuffer(indexrel, blkno);
|
buffer = ReadBuffer(indexrel, blkno);
|
||||||
LockBuffer(buffer, GIST_EXCLUSIVE);
|
LockBuffer(buffer, GIST_EXCLUSIVE);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
childoffnum = gistchoose(indexrel, page, itup, giststate);
|
childoffnum = gistchoose(indexrel, page, itup, giststate);
|
||||||
iid = PageGetItemId(page, childoffnum);
|
iid = PageGetItemId(page, childoffnum);
|
||||||
idxtuple = (IndexTuple) PageGetItem(page, iid);
|
idxtuple = (IndexTuple) PageGetItem(page, iid);
|
||||||
@@ -1448,7 +1448,7 @@ gistGetMaxLevel(Relation index)
|
|||||||
* pro forma.
|
* pro forma.
|
||||||
*/
|
*/
|
||||||
LockBuffer(buffer, GIST_SHARE);
|
LockBuffer(buffer, GIST_SHARE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (GistPageIsLeaf(page))
|
if (GistPageIsLeaf(page))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -330,7 +330,7 @@ restart:
|
|||||||
* exclusive lock.
|
* exclusive lock.
|
||||||
*/
|
*/
|
||||||
LockBuffer(buffer, GIST_EXCLUSIVE);
|
LockBuffer(buffer, GIST_EXCLUSIVE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (gistPageRecyclable(page))
|
if (gistPageRecyclable(page))
|
||||||
{
|
{
|
||||||
@@ -528,7 +528,7 @@ gistvacuum_delete_empty_pages(IndexVacuumInfo *info, GistVacState *vstate)
|
|||||||
RBM_NORMAL, info->strategy);
|
RBM_NORMAL, info->strategy);
|
||||||
|
|
||||||
LockBuffer(buffer, GIST_SHARE);
|
LockBuffer(buffer, GIST_SHARE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (PageIsNew(page) || GistPageIsDeleted(page) || GistPageIsLeaf(page))
|
if (PageIsNew(page) || GistPageIsDeleted(page) || GistPageIsLeaf(page))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ gistRedoPageUpdateRecord(XLogReaderState *record)
|
|||||||
|
|
||||||
data = begin = XLogRecGetBlockData(record, 0, &datalen);
|
data = begin = XLogRecGetBlockData(record, 0, &datalen);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (xldata->ntodelete == 1 && xldata->ntoinsert == 1)
|
if (xldata->ntodelete == 1 && xldata->ntoinsert == 1)
|
||||||
{
|
{
|
||||||
@@ -201,7 +201,7 @@ gistRedoDeleteRecord(XLogReaderState *record)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
PageIndexMultiDelete(page, toDelete, xldata->ntodelete);
|
PageIndexMultiDelete(page, toDelete, xldata->ntodelete);
|
||||||
|
|
||||||
@@ -280,7 +280,7 @@ gistRedoPageSplitRecord(XLogReaderState *record)
|
|||||||
}
|
}
|
||||||
|
|
||||||
buffer = XLogInitBufferForRedo(record, i + 1);
|
buffer = XLogInitBufferForRedo(record, i + 1);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
data = XLogRecGetBlockData(record, i + 1, &datalen);
|
data = XLogRecGetBlockData(record, i + 1, &datalen);
|
||||||
|
|
||||||
tuples = decodePageSplitRecord(data, datalen, &num);
|
tuples = decodePageSplitRecord(data, datalen, &num);
|
||||||
@@ -348,7 +348,7 @@ gistRedoPageDelete(XLogReaderState *record)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, 0, &leafBuffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 0, &leafBuffer) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page page = (Page) BufferGetPage(leafBuffer);
|
Page page = BufferGetPage(leafBuffer);
|
||||||
|
|
||||||
GistPageSetDeleted(page, xldata->deleteXid);
|
GistPageSetDeleted(page, xldata->deleteXid);
|
||||||
|
|
||||||
@@ -358,7 +358,7 @@ gistRedoPageDelete(XLogReaderState *record)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, 1, &parentBuffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 1, &parentBuffer) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page page = (Page) BufferGetPage(parentBuffer);
|
Page page = BufferGetPage(parentBuffer);
|
||||||
|
|
||||||
PageIndexTupleDelete(page, xldata->downlinkOffset);
|
PageIndexTupleDelete(page, xldata->downlinkOffset);
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ hash_xlog_init_meta_page(XLogReaderState *record)
|
|||||||
Assert(BufferIsValid(metabuf));
|
Assert(BufferIsValid(metabuf));
|
||||||
_hash_init_metabuffer(metabuf, xlrec->num_tuples, xlrec->procid,
|
_hash_init_metabuffer(metabuf, xlrec->num_tuples, xlrec->procid,
|
||||||
xlrec->ffactor, true);
|
xlrec->ffactor, true);
|
||||||
page = (Page) BufferGetPage(metabuf);
|
page = BufferGetPage(metabuf);
|
||||||
PageSetLSN(page, lsn);
|
PageSetLSN(page, lsn);
|
||||||
MarkBufferDirty(metabuf);
|
MarkBufferDirty(metabuf);
|
||||||
|
|
||||||
@@ -235,7 +235,7 @@ hash_xlog_add_ovfl_page(XLogReaderState *record)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, 2, &mapbuffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 2, &mapbuffer) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page mappage = (Page) BufferGetPage(mapbuffer);
|
Page mappage = BufferGetPage(mapbuffer);
|
||||||
uint32 *freep = NULL;
|
uint32 *freep = NULL;
|
||||||
uint32 *bitmap_page_bit;
|
uint32 *bitmap_page_bit;
|
||||||
|
|
||||||
@@ -538,7 +538,7 @@ hash_xlog_move_page_contents(XLogReaderState *record)
|
|||||||
|
|
||||||
data = begin = XLogRecGetBlockData(record, 1, &datalen);
|
data = begin = XLogRecGetBlockData(record, 1, &datalen);
|
||||||
|
|
||||||
writepage = (Page) BufferGetPage(writebuf);
|
writepage = BufferGetPage(writebuf);
|
||||||
|
|
||||||
if (xldata->ntups > 0)
|
if (xldata->ntups > 0)
|
||||||
{
|
{
|
||||||
@@ -584,7 +584,7 @@ hash_xlog_move_page_contents(XLogReaderState *record)
|
|||||||
|
|
||||||
ptr = XLogRecGetBlockData(record, 2, &len);
|
ptr = XLogRecGetBlockData(record, 2, &len);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(deletebuf);
|
page = BufferGetPage(deletebuf);
|
||||||
|
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
@@ -670,7 +670,7 @@ hash_xlog_squeeze_page(XLogReaderState *record)
|
|||||||
|
|
||||||
data = begin = XLogRecGetBlockData(record, 1, &datalen);
|
data = begin = XLogRecGetBlockData(record, 1, &datalen);
|
||||||
|
|
||||||
writepage = (Page) BufferGetPage(writebuf);
|
writepage = BufferGetPage(writebuf);
|
||||||
|
|
||||||
if (xldata->ntups > 0)
|
if (xldata->ntups > 0)
|
||||||
{
|
{
|
||||||
@@ -807,7 +807,7 @@ hash_xlog_squeeze_page(XLogReaderState *record)
|
|||||||
/* replay the record for bitmap page */
|
/* replay the record for bitmap page */
|
||||||
if (XLogReadBufferForRedo(record, 5, &mapbuf) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 5, &mapbuf) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page mappage = (Page) BufferGetPage(mapbuf);
|
Page mappage = BufferGetPage(mapbuf);
|
||||||
uint32 *freep = NULL;
|
uint32 *freep = NULL;
|
||||||
char *data;
|
char *data;
|
||||||
uint32 *bitmap_page_bit;
|
uint32 *bitmap_page_bit;
|
||||||
@@ -895,7 +895,7 @@ hash_xlog_delete(XLogReaderState *record)
|
|||||||
|
|
||||||
ptr = XLogRecGetBlockData(record, 1, &len);
|
ptr = XLogRecGetBlockData(record, 1, &len);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(deletebuf);
|
page = BufferGetPage(deletebuf);
|
||||||
|
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
@@ -946,7 +946,7 @@ hash_xlog_split_cleanup(XLogReaderState *record)
|
|||||||
{
|
{
|
||||||
HashPageOpaque bucket_opaque;
|
HashPageOpaque bucket_opaque;
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
bucket_opaque = HashPageGetOpaque(page);
|
bucket_opaque = HashPageGetOpaque(page);
|
||||||
bucket_opaque->hasho_flag &= ~LH_BUCKET_NEEDS_SPLIT_CLEANUP;
|
bucket_opaque->hasho_flag &= ~LH_BUCKET_NEEDS_SPLIT_CLEANUP;
|
||||||
@@ -1029,7 +1029,7 @@ hash_xlog_vacuum_one_page(XLogReaderState *record)
|
|||||||
|
|
||||||
if (action == BLK_NEEDS_REDO)
|
if (action == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
PageIndexMultiDelete(page, toDelete, xldata->ntuples);
|
PageIndexMultiDelete(page, toDelete, xldata->ntuples);
|
||||||
|
|
||||||
|
|||||||
@@ -6099,7 +6099,7 @@ heap_finish_speculative(Relation relation, ItemPointer tid)
|
|||||||
|
|
||||||
buffer = ReadBuffer(relation, ItemPointerGetBlockNumber(tid));
|
buffer = ReadBuffer(relation, ItemPointerGetBlockNumber(tid));
|
||||||
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
|
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
offnum = ItemPointerGetOffsetNumber(tid);
|
offnum = ItemPointerGetOffsetNumber(tid);
|
||||||
if (PageGetMaxOffsetNumber(page) >= offnum)
|
if (PageGetMaxOffsetNumber(page) >= offnum)
|
||||||
|
|||||||
@@ -2280,7 +2280,7 @@ heapam_scan_sample_next_tuple(TableScanDesc scan, SampleScanState *scanstate,
|
|||||||
if (!pagemode)
|
if (!pagemode)
|
||||||
LockBuffer(hscan->rs_cbuf, BUFFER_LOCK_SHARE);
|
LockBuffer(hscan->rs_cbuf, BUFFER_LOCK_SHARE);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(hscan->rs_cbuf);
|
page = BufferGetPage(hscan->rs_cbuf);
|
||||||
all_visible = PageIsAllVisible(page) &&
|
all_visible = PageIsAllVisible(page) &&
|
||||||
!scan->rs_snapshot->takenDuringRecovery;
|
!scan->rs_snapshot->takenDuringRecovery;
|
||||||
maxoffset = PageGetMaxOffsetNumber(page);
|
maxoffset = PageGetMaxOffsetNumber(page);
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ heap_xlog_prune_freeze(XLogReaderState *record)
|
|||||||
&buffer);
|
&buffer);
|
||||||
if (action == BLK_NEEDS_REDO)
|
if (action == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page page = (Page) BufferGetPage(buffer);
|
Page page = BufferGetPage(buffer);
|
||||||
OffsetNumber *redirected;
|
OffsetNumber *redirected;
|
||||||
OffsetNumber *nowdead;
|
OffsetNumber *nowdead;
|
||||||
OffsetNumber *nowunused;
|
OffsetNumber *nowunused;
|
||||||
@@ -599,7 +599,7 @@ heap_xlog_multi_insert(XLogReaderState *record)
|
|||||||
tupdata = XLogRecGetBlockData(record, 0, &len);
|
tupdata = XLogRecGetBlockData(record, 0, &len);
|
||||||
endptr = tupdata + len;
|
endptr = tupdata + len;
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
for (i = 0; i < xlrec->ntuples; i++)
|
for (i = 0; i < xlrec->ntuples; i++)
|
||||||
{
|
{
|
||||||
@@ -801,7 +801,7 @@ heap_xlog_update(XLogReaderState *record, bool hot_update)
|
|||||||
else if (XLogRecGetInfo(record) & XLOG_HEAP_INIT_PAGE)
|
else if (XLogRecGetInfo(record) & XLOG_HEAP_INIT_PAGE)
|
||||||
{
|
{
|
||||||
nbuffer = XLogInitBufferForRedo(record, 0);
|
nbuffer = XLogInitBufferForRedo(record, 0);
|
||||||
page = (Page) BufferGetPage(nbuffer);
|
page = BufferGetPage(nbuffer);
|
||||||
PageInit(page, BufferGetPageSize(nbuffer), 0);
|
PageInit(page, BufferGetPageSize(nbuffer), 0);
|
||||||
newaction = BLK_NEEDS_REDO;
|
newaction = BLK_NEEDS_REDO;
|
||||||
}
|
}
|
||||||
@@ -1027,7 +1027,7 @@ heap_xlog_lock(XLogReaderState *record)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
offnum = xlrec->offnum;
|
offnum = xlrec->offnum;
|
||||||
if (PageGetMaxOffsetNumber(page) >= offnum)
|
if (PageGetMaxOffsetNumber(page) >= offnum)
|
||||||
|
|||||||
@@ -1563,7 +1563,7 @@ heap_page_prune_execute(Buffer buffer, bool lp_truncate_only,
|
|||||||
OffsetNumber *nowdead, int ndead,
|
OffsetNumber *nowdead, int ndead,
|
||||||
OffsetNumber *nowunused, int nunused)
|
OffsetNumber *nowunused, int nunused)
|
||||||
{
|
{
|
||||||
Page page = (Page) BufferGetPage(buffer);
|
Page page = BufferGetPage(buffer);
|
||||||
OffsetNumber *offnum;
|
OffsetNumber *offnum;
|
||||||
HeapTupleHeader htup PG_USED_FOR_ASSERTS_ONLY;
|
HeapTupleHeader htup PG_USED_FOR_ASSERTS_ONLY;
|
||||||
|
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ visibilitymap_set(Relation rel, BlockNumber heapBlk, Buffer heapBuf,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
Assert(InRecovery || XLogRecPtrIsInvalid(recptr));
|
Assert(InRecovery || XLogRecPtrIsInvalid(recptr));
|
||||||
Assert(InRecovery || PageIsAllVisible((Page) BufferGetPage(heapBuf)));
|
Assert(InRecovery || PageIsAllVisible(BufferGetPage(heapBuf)));
|
||||||
Assert((flags & VISIBILITYMAP_VALID_BITS) == flags);
|
Assert((flags & VISIBILITYMAP_VALID_BITS) == flags);
|
||||||
|
|
||||||
/* Must never set all_frozen bit without also setting all_visible bit */
|
/* Must never set all_frozen bit without also setting all_visible bit */
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ _bt_clear_incomplete_split(XLogReaderState *record, uint8 block_id)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, block_id, &buf) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, block_id, &buf) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page page = (Page) BufferGetPage(buf);
|
Page page = BufferGetPage(buf);
|
||||||
BTPageOpaque pageop = BTPageGetOpaque(page);
|
BTPageOpaque pageop = BTPageGetOpaque(page);
|
||||||
|
|
||||||
Assert(P_INCOMPLETE_SPLIT(pageop));
|
Assert(P_INCOMPLETE_SPLIT(pageop));
|
||||||
@@ -287,7 +287,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)
|
|||||||
/* Reconstruct right (new) sibling page from scratch */
|
/* Reconstruct right (new) sibling page from scratch */
|
||||||
rbuf = XLogInitBufferForRedo(record, 1);
|
rbuf = XLogInitBufferForRedo(record, 1);
|
||||||
datapos = XLogRecGetBlockData(record, 1, &datalen);
|
datapos = XLogRecGetBlockData(record, 1, &datalen);
|
||||||
rpage = (Page) BufferGetPage(rbuf);
|
rpage = BufferGetPage(rbuf);
|
||||||
|
|
||||||
_bt_pageinit(rpage, BufferGetPageSize(rbuf));
|
_bt_pageinit(rpage, BufferGetPageSize(rbuf));
|
||||||
ropaque = BTPageGetOpaque(rpage);
|
ropaque = BTPageGetOpaque(rpage);
|
||||||
@@ -314,7 +314,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)
|
|||||||
* checking possible. See also _bt_restore_page(), which does the
|
* checking possible. See also _bt_restore_page(), which does the
|
||||||
* same for the right page.
|
* same for the right page.
|
||||||
*/
|
*/
|
||||||
Page origpage = (Page) BufferGetPage(buf);
|
Page origpage = BufferGetPage(buf);
|
||||||
BTPageOpaque oopaque = BTPageGetOpaque(origpage);
|
BTPageOpaque oopaque = BTPageGetOpaque(origpage);
|
||||||
OffsetNumber off;
|
OffsetNumber off;
|
||||||
IndexTuple newitem = NULL,
|
IndexTuple newitem = NULL,
|
||||||
@@ -439,7 +439,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)
|
|||||||
|
|
||||||
if (XLogReadBufferForRedo(record, 2, &sbuf) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 2, &sbuf) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
Page spage = (Page) BufferGetPage(sbuf);
|
Page spage = BufferGetPage(sbuf);
|
||||||
BTPageOpaque spageop = BTPageGetOpaque(spage);
|
BTPageOpaque spageop = BTPageGetOpaque(spage);
|
||||||
|
|
||||||
spageop->btpo_prev = rightpagenumber;
|
spageop->btpo_prev = rightpagenumber;
|
||||||
@@ -470,7 +470,7 @@ btree_xlog_dedup(XLogReaderState *record)
|
|||||||
if (XLogReadBufferForRedo(record, 0, &buf) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 0, &buf) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
char *ptr = XLogRecGetBlockData(record, 0, NULL);
|
char *ptr = XLogRecGetBlockData(record, 0, NULL);
|
||||||
Page page = (Page) BufferGetPage(buf);
|
Page page = BufferGetPage(buf);
|
||||||
BTPageOpaque opaque = BTPageGetOpaque(page);
|
BTPageOpaque opaque = BTPageGetOpaque(page);
|
||||||
OffsetNumber offnum,
|
OffsetNumber offnum,
|
||||||
minoff,
|
minoff,
|
||||||
@@ -614,7 +614,7 @@ btree_xlog_vacuum(XLogReaderState *record)
|
|||||||
{
|
{
|
||||||
char *ptr = XLogRecGetBlockData(record, 0, NULL);
|
char *ptr = XLogRecGetBlockData(record, 0, NULL);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (xlrec->nupdated > 0)
|
if (xlrec->nupdated > 0)
|
||||||
{
|
{
|
||||||
@@ -680,7 +680,7 @@ btree_xlog_delete(XLogReaderState *record)
|
|||||||
{
|
{
|
||||||
char *ptr = XLogRecGetBlockData(record, 0, NULL);
|
char *ptr = XLogRecGetBlockData(record, 0, NULL);
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (xlrec->nupdated > 0)
|
if (xlrec->nupdated > 0)
|
||||||
{
|
{
|
||||||
@@ -740,7 +740,7 @@ btree_xlog_mark_page_halfdead(uint8 info, XLogReaderState *record)
|
|||||||
OffsetNumber nextoffset;
|
OffsetNumber nextoffset;
|
||||||
BlockNumber rightsib;
|
BlockNumber rightsib;
|
||||||
|
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
|
|
||||||
poffset = xlrec->poffset;
|
poffset = xlrec->poffset;
|
||||||
@@ -769,7 +769,7 @@ btree_xlog_mark_page_halfdead(uint8 info, XLogReaderState *record)
|
|||||||
|
|
||||||
/* Rewrite the leaf page as a halfdead page */
|
/* Rewrite the leaf page as a halfdead page */
|
||||||
buffer = XLogInitBufferForRedo(record, 0);
|
buffer = XLogInitBufferForRedo(record, 0);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
_bt_pageinit(page, BufferGetPageSize(buffer));
|
_bt_pageinit(page, BufferGetPageSize(buffer));
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
@@ -836,7 +836,7 @@ btree_xlog_unlink_page(uint8 info, XLogReaderState *record)
|
|||||||
{
|
{
|
||||||
if (XLogReadBufferForRedo(record, 1, &leftbuf) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 1, &leftbuf) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
page = (Page) BufferGetPage(leftbuf);
|
page = BufferGetPage(leftbuf);
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
pageop->btpo_next = rightsib;
|
pageop->btpo_next = rightsib;
|
||||||
|
|
||||||
@@ -849,7 +849,7 @@ btree_xlog_unlink_page(uint8 info, XLogReaderState *record)
|
|||||||
|
|
||||||
/* Rewrite target page as empty deleted page */
|
/* Rewrite target page as empty deleted page */
|
||||||
target = XLogInitBufferForRedo(record, 0);
|
target = XLogInitBufferForRedo(record, 0);
|
||||||
page = (Page) BufferGetPage(target);
|
page = BufferGetPage(target);
|
||||||
|
|
||||||
_bt_pageinit(page, BufferGetPageSize(target));
|
_bt_pageinit(page, BufferGetPageSize(target));
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
@@ -868,7 +868,7 @@ btree_xlog_unlink_page(uint8 info, XLogReaderState *record)
|
|||||||
/* Fix left-link of right sibling */
|
/* Fix left-link of right sibling */
|
||||||
if (XLogReadBufferForRedo(record, 2, &rightbuf) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 2, &rightbuf) == BLK_NEEDS_REDO)
|
||||||
{
|
{
|
||||||
page = (Page) BufferGetPage(rightbuf);
|
page = BufferGetPage(rightbuf);
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
pageop->btpo_prev = leftsib;
|
pageop->btpo_prev = leftsib;
|
||||||
|
|
||||||
@@ -907,7 +907,7 @@ btree_xlog_unlink_page(uint8 info, XLogReaderState *record)
|
|||||||
Assert(!isleaf);
|
Assert(!isleaf);
|
||||||
|
|
||||||
leafbuf = XLogInitBufferForRedo(record, 3);
|
leafbuf = XLogInitBufferForRedo(record, 3);
|
||||||
page = (Page) BufferGetPage(leafbuf);
|
page = BufferGetPage(leafbuf);
|
||||||
|
|
||||||
_bt_pageinit(page, BufferGetPageSize(leafbuf));
|
_bt_pageinit(page, BufferGetPageSize(leafbuf));
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
@@ -949,7 +949,7 @@ btree_xlog_newroot(XLogReaderState *record)
|
|||||||
Size len;
|
Size len;
|
||||||
|
|
||||||
buffer = XLogInitBufferForRedo(record, 0);
|
buffer = XLogInitBufferForRedo(record, 0);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
_bt_pageinit(page, BufferGetPageSize(buffer));
|
_bt_pageinit(page, BufferGetPageSize(buffer));
|
||||||
pageop = BTPageGetOpaque(page);
|
pageop = BTPageGetOpaque(page);
|
||||||
|
|||||||
@@ -626,7 +626,7 @@ spgvacuumpage(spgBulkDeleteState *bds, Buffer buffer)
|
|||||||
Page page;
|
Page page;
|
||||||
|
|
||||||
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
|
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (PageIsNew(page))
|
if (PageIsNew(page))
|
||||||
{
|
{
|
||||||
@@ -707,7 +707,7 @@ spgprocesspending(spgBulkDeleteState *bds)
|
|||||||
buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno,
|
buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno,
|
||||||
RBM_NORMAL, bds->info->strategy);
|
RBM_NORMAL, bds->info->strategy);
|
||||||
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
|
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
if (PageIsNew(page) || SpGistPageIsDeleted(page))
|
if (PageIsNew(page) || SpGistPageIsDeleted(page))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -576,7 +576,7 @@ spgRedoPickSplit(XLogReaderState *record)
|
|||||||
{
|
{
|
||||||
/* just re-init the source page */
|
/* just re-init the source page */
|
||||||
srcBuffer = XLogInitBufferForRedo(record, 0);
|
srcBuffer = XLogInitBufferForRedo(record, 0);
|
||||||
srcPage = (Page) BufferGetPage(srcBuffer);
|
srcPage = BufferGetPage(srcBuffer);
|
||||||
|
|
||||||
SpGistInitBuffer(srcBuffer,
|
SpGistInitBuffer(srcBuffer,
|
||||||
SPGIST_LEAF | (xldata->storesNulls ? SPGIST_NULLS : 0));
|
SPGIST_LEAF | (xldata->storesNulls ? SPGIST_NULLS : 0));
|
||||||
@@ -629,7 +629,7 @@ spgRedoPickSplit(XLogReaderState *record)
|
|||||||
{
|
{
|
||||||
/* just re-init the dest page */
|
/* just re-init the dest page */
|
||||||
destBuffer = XLogInitBufferForRedo(record, 1);
|
destBuffer = XLogInitBufferForRedo(record, 1);
|
||||||
destPage = (Page) BufferGetPage(destBuffer);
|
destPage = BufferGetPage(destBuffer);
|
||||||
|
|
||||||
SpGistInitBuffer(destBuffer,
|
SpGistInitBuffer(destBuffer,
|
||||||
SPGIST_LEAF | (xldata->storesNulls ? SPGIST_NULLS : 0));
|
SPGIST_LEAF | (xldata->storesNulls ? SPGIST_NULLS : 0));
|
||||||
@@ -642,7 +642,7 @@ spgRedoPickSplit(XLogReaderState *record)
|
|||||||
* full-page-image case, but for safety let's hold it till later.
|
* full-page-image case, but for safety let's hold it till later.
|
||||||
*/
|
*/
|
||||||
if (XLogReadBufferForRedo(record, 1, &destBuffer) == BLK_NEEDS_REDO)
|
if (XLogReadBufferForRedo(record, 1, &destBuffer) == BLK_NEEDS_REDO)
|
||||||
destPage = (Page) BufferGetPage(destBuffer);
|
destPage = BufferGetPage(destBuffer);
|
||||||
else
|
else
|
||||||
destPage = NULL; /* don't do any page updates */
|
destPage = NULL; /* don't do any page updates */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -523,7 +523,7 @@ recent_buffer_fast_path:
|
|||||||
if (mode == RBM_NORMAL)
|
if (mode == RBM_NORMAL)
|
||||||
{
|
{
|
||||||
/* check that page has been initialized */
|
/* check that page has been initialized */
|
||||||
Page page = (Page) BufferGetPage(buffer);
|
Page page = BufferGetPage(buffer);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We assume that PageIsNew is safe without a lock. During recovery,
|
* We assume that PageIsNew is safe without a lock. During recovery,
|
||||||
|
|||||||
@@ -1920,7 +1920,7 @@ seq_redo(XLogReaderState *record)
|
|||||||
elog(PANIC, "seq_redo: unknown op code %u", info);
|
elog(PANIC, "seq_redo: unknown op code %u", info);
|
||||||
|
|
||||||
buffer = XLogInitBufferForRedo(record, 0);
|
buffer = XLogInitBufferForRedo(record, 0);
|
||||||
page = (Page) BufferGetPage(buffer);
|
page = BufferGetPage(buffer);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We always reinit the page. However, since this WAL record type is also
|
* We always reinit the page. However, since this WAL record type is also
|
||||||
|
|||||||
Reference in New Issue
Block a user