mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Concurrency... Highest one...
DO NOT EVEN TRY TO DO PageGetMaxOffsetNumber BEFORE LockBuffer! -:)
This commit is contained in:
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.40 1999/05/25 22:04:13 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.41 1999/06/07 15:14:54 vadim Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* This file contains only the public interface routines.
|
* This file contains only the public interface routines.
|
||||||
@ -618,16 +618,19 @@ _bt_restscan(IndexScanDesc scan)
|
|||||||
Relation rel = scan->relation;
|
Relation rel = scan->relation;
|
||||||
BTScanOpaque so = (BTScanOpaque) scan->opaque;
|
BTScanOpaque so = (BTScanOpaque) scan->opaque;
|
||||||
Buffer buf = so->btso_curbuf;
|
Buffer buf = so->btso_curbuf;
|
||||||
Page page = BufferGetPage(buf);
|
Page page;
|
||||||
ItemPointer current = &(scan->currentItemData);
|
ItemPointer current = &(scan->currentItemData);
|
||||||
OffsetNumber offnum = ItemPointerGetOffsetNumber(current),
|
OffsetNumber offnum = ItemPointerGetOffsetNumber(current),
|
||||||
maxoff = PageGetMaxOffsetNumber(page);
|
maxoff;
|
||||||
BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page);
|
BTPageOpaque opaque;
|
||||||
ItemPointerData target = so->curHeapIptr;
|
ItemPointerData target = so->curHeapIptr;
|
||||||
BTItem item;
|
BTItem item;
|
||||||
BlockNumber blkno;
|
BlockNumber blkno;
|
||||||
|
|
||||||
LockBuffer(buf, BT_READ);
|
LockBuffer(buf, BT_READ); /* lock buffer first! */
|
||||||
|
page = BufferGetPage(buf);
|
||||||
|
maxoff = PageGetMaxOffsetNumber(page);
|
||||||
|
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We use this as flag when first index tuple on page is deleted but
|
* We use this as flag when first index tuple on page is deleted but
|
||||||
|
Reference in New Issue
Block a user