Skip to content

Commit 7f819a0

Browse files
author
Artur Zakirov
committed
Fix bug with posting list
1 parent 15ea57c commit 7f819a0

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

rum.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ extern void rumPrepareEntryScan(RumBtree btree, OffsetNumber attnum,
479479
RumState *rumstate);
480480
extern void rumEntryFillRoot(RumBtree btree, Buffer root, Buffer lbuf, Buffer rbuf,
481481
Page page, Page lpage, Page rpage);
482-
extern IndexTuple rumPageGetLinkItup(Buffer buf);
482+
extern IndexTuple rumPageGetLinkItup(Buffer buf, Page page);
483483
extern void rumReadTuple(RumState *rumstate, OffsetNumber attnum,
484484
IndexTuple itup, ItemPointerData *ipd, Datum *addInfo, bool *addInfoIsNull);
485485
extern ItemPointerData updateItemIndexes(Page page, OffsetNumber attnum, RumState *rumstate);

rumentrypage.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,11 +482,10 @@ entrySplitPage(RumBtree btree, Buffer lbuf, Buffer rbuf,
482482
* return newly allocated rightmost tuple
483483
*/
484484
IndexTuple
485-
rumPageGetLinkItup(Buffer buf)
485+
rumPageGetLinkItup(Buffer buf, Page page)
486486
{
487487
IndexTuple itup,
488488
nitup;
489-
Page page = BufferGetPage(buf);
490489

491490
itup = getRightMostTuple(page);
492491
nitup = RumFormInteriorTuple(itup, page, BufferGetBlockNumber(buf));
@@ -504,12 +503,12 @@ rumEntryFillRoot(RumBtree btree, Buffer root, Buffer lbuf, Buffer rbuf,
504503
{
505504
IndexTuple itup;
506505

507-
itup = rumPageGetLinkItup(lbuf);
506+
itup = rumPageGetLinkItup(lbuf, lpage);
508507
if (PageAddItem(page, (Item) itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber)
509508
elog(ERROR, "failed to add item to index root page");
510509
pfree(itup);
511510

512-
itup = rumPageGetLinkItup(rbuf);
511+
itup = rumPageGetLinkItup(rbuf, rpage);
513512
if (PageAddItem(page, (Item) itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber)
514513
elog(ERROR, "failed to add item to index root page");
515514
pfree(itup);

0 commit comments

Comments
 (0)