Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1608500

Browse files
author
Alexander Korotkov
committed
Fix right bound iptr.
1 parent4614669 commit1608500

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

‎rumdatapage.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ dataPlaceToPage(RumBtree btree, Page page, OffsetNumber off)
876876
if (ptr - RumDataPageGetData(page) > \
877877
totalsize / 2 && page == newlPage) \
878878
{ \
879-
maxLeftIptr =item.iptr; \
879+
maxLeftIptr =curIptr; \
880880
ItemPointerSetMin(&prevIptr); \
881881
RumPageGetOpaque(newlPage)->maxoff = j; \
882882
page = rPage; \
@@ -909,7 +909,7 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
909909
PagenewlPage=PageGetTempPageCopy(lPage);
910910
SizepageSize=PageGetPageSize(newlPage);
911911
SizemaxItemSize=0;
912-
ItemPointerDataprevIptr,maxLeftIptr;
912+
ItemPointerDataprevIptr,maxLeftIptr,curIptr;
913913
RumKeyitem;
914914
inttotalCount=0;
915915
intmaxItemIndex=btree->curitem;
@@ -1017,6 +1017,7 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
10171017
{
10181018
while (btree->curitem<maxItemIndex)
10191019
{
1020+
curIptr=btree->items[btree->curitem].iptr;
10201021
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,
10211022
&btree->items[btree->curitem],
10221023
&prevIptr,btree->rumstate);
@@ -1033,6 +1034,7 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
10331034
copyPtr=rumDataPageLeafRead(copyPtr,btree->entryAttnum,&item,
10341035
btree->rumstate);
10351036

1037+
curIptr=item.iptr;
10361038
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,&item,
10371039
&prevIptr,btree->rumstate);
10381040
freespace=RumDataPageFreeSpacePre(page,ptr);
@@ -1047,6 +1049,7 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
10471049
{
10481050
while (btree->curitem<maxItemIndex)
10491051
{
1052+
curIptr=btree->items[btree->curitem].iptr;
10501053
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,
10511054
&btree->items[btree->curitem],&prevIptr,btree->rumstate);
10521055
freespace=RumDataPageFreeSpacePre(page,ptr);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp