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

Commitf4fa796

Browse files
author
Artur Zakirov
committed
Fix rumPlaceToDataPageLeaf()
1 parentdd097b2 commitf4fa796

File tree

4 files changed

+16
-32
lines changed

4 files changed

+16
-32
lines changed

‎rum.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -501,8 +501,7 @@ extern void checkLeafDataPage(RumState *rumstate, AttrNumber attrnum, Page page)
501501
externintrumCompareItemPointers(constItemPointerData*a,constItemPointerData*b);
502502
externintcompareRumKey(RumState*state,constRumKey*a,constRumKey*b);
503503
externPointerrumPlaceToDataPageLeaf(Pointerptr,OffsetNumberattnum,
504-
ItemPointeriptr,DatumaddInfo,booladdInfoIsNull,ItemPointerprev,
505-
RumState*rumstate);
504+
RumKey*item,ItemPointerprev,RumState*rumstate);
506505
externSizerumCheckPlaceToDataPageLeaf(OffsetNumberattnum,
507506
ItemPointeriptr,DatumaddInfo,booladdInfoIsNull,ItemPointerprev,
508507
RumState*rumstate,Sizesize);

‎rumdatapage.c

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -208,17 +208,17 @@ rumDataPageLeafWriteItemPointer(char *ptr, ItemPointer iptr, ItemPointer prev,
208208
*/
209209
Pointer
210210
rumPlaceToDataPageLeaf(Pointerptr,OffsetNumberattnum,
211-
ItemPointeriptr,DatumaddInfo,booladdInfoIsNull,ItemPointerprev,
212-
RumState*rumstate)
211+
RumKey*item,ItemPointerprev,RumState*rumstate)
213212
{
214213
Form_pg_attributeattr;
215214

216-
ptr=rumDataPageLeafWriteItemPointer(ptr,iptr,prev,addInfoIsNull);
215+
ptr=rumDataPageLeafWriteItemPointer(ptr,&item->iptr,prev,
216+
item->addInfoIsNull);
217217

218-
if (!addInfoIsNull)
218+
if (!item->addInfoIsNull)
219219
{
220220
attr=rumstate->addAttrs[attnum-1];
221-
ptr=rumDatumWrite(ptr,addInfo,attr->attbyval,attr->attalign,
221+
ptr=rumDatumWrite(ptr,item->addInfo,attr->attbyval,attr->attalign,
222222
attr->attlen,attr->attstorage);
223223
}
224224
returnptr;
@@ -836,9 +836,7 @@ dataPlaceToPage(RumBtree btree, Page page, OffsetNumber off)
836836
break;
837837

838838
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,
839-
&btree->items[j].iptr,btree->items[j].addInfo,
840-
btree->items[j].addInfoIsNull,
841-
&iptr,btree->rumstate);
839+
&btree->items[j],&iptr,btree->rumstate);
842840
freespace=RumDataPageFreeSpacePre(page,ptr);
843841
Assert(freespace >=0);
844842

@@ -855,9 +853,7 @@ dataPlaceToPage(RumBtree btree, Page page, OffsetNumber off)
855853
copy_ptr=rumDataPageLeafRead(copy_ptr,btree->entryAttnum,
856854
&copy_item,btree->rumstate,
857855
true);
858-
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,&copy_item.iptr,
859-
copy_item.addInfo,
860-
copy_item.addInfoIsNull,
856+
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,&copy_item,
861857
&iptr,btree->rumstate);
862858

863859
freespace=RumDataPageFreeSpacePre(page,ptr);
@@ -1041,9 +1037,7 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
10411037
while (btree->curitem<maxItemIndex)
10421038
{
10431039
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,
1044-
&btree->items[btree->curitem].iptr,
1045-
btree->items[btree->curitem].addInfo,
1046-
btree->items[btree->curitem].addInfoIsNull,
1040+
&btree->items[btree->curitem],
10471041
&prevIptr,btree->rumstate);
10481042
freespace=RumDataPageFreeSpacePre(page,ptr);
10491043
Assert(freespace >=0);
@@ -1058,8 +1052,8 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
10581052
copyPtr=rumDataPageLeafRead(copyPtr,btree->entryAttnum,&item,
10591053
btree->rumstate, true);
10601054

1061-
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,&item.iptr,
1062-
item.addInfo,item.addInfoIsNull,&prevIptr,btree->rumstate);
1055+
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,&item,
1056+
&prevIptr,btree->rumstate);
10631057
freespace=RumDataPageFreeSpacePre(page,ptr);
10641058
Assert(freespace >=0);
10651059

@@ -1073,10 +1067,7 @@ dataSplitPageLeaf(RumBtree btree, Buffer lbuf, Buffer rbuf,
10731067
while (btree->curitem<maxItemIndex)
10741068
{
10751069
ptr=rumPlaceToDataPageLeaf(ptr,btree->entryAttnum,
1076-
&btree->items[btree->curitem].iptr,
1077-
btree->items[btree->curitem].addInfo,
1078-
btree->items[btree->curitem].addInfoIsNull,
1079-
&prevIptr,btree->rumstate);
1070+
&btree->items[btree->curitem],&prevIptr,btree->rumstate);
10801071
freespace=RumDataPageFreeSpacePre(page,ptr);
10811072
Assert(freespace >=0);
10821073

‎ruminsert.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ createPostingTree(RumState *rumstate, OffsetNumber attnum, Relation index,
6363
{
6464
if (i>0)
6565
prev_iptr=items[i-1].iptr;
66-
ptr=rumPlaceToDataPageLeaf(ptr,attnum,&items[i].iptr,
67-
items[i].addInfo,items[i].addInfoIsNull,
66+
ptr=rumPlaceToDataPageLeaf(ptr,attnum,&items[i],
6867
&prev_iptr,rumstate);
6968
}
7069
freespace=RumDataPageFreeSpacePre(page,ptr);
@@ -201,14 +200,11 @@ RumFormTuple(RumState *rumstate,
201200
if (nipd>0)
202201
{
203202
char*ptr=RumGetPosting(itup);
204-
ptr=rumPlaceToDataPageLeaf(ptr,attnum,&items[0].iptr,
205-
items[0].addInfo,items[0].addInfoIsNull,
203+
ptr=rumPlaceToDataPageLeaf(ptr,attnum,&items[0],
206204
&nullItemPointer,rumstate);
207205
for (i=1;i<nipd;i++)
208206
{
209-
ptr=rumPlaceToDataPageLeaf(ptr,attnum,&items[i].iptr,
210-
items[i].addInfo,
211-
items[i].addInfoIsNull,
207+
ptr=rumPlaceToDataPageLeaf(ptr,attnum,&items[i],
212208
&items[i-1].iptr,rumstate);
213209
}
214210

‎rumvacuum.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,7 @@ rumVacuumPostingList(RumVacuumState *gvs, OffsetNumber attnum, Pointer src,
7979
{
8080
gvs->result->num_index_tuples+=1;
8181
if (i!=j)
82-
dst=rumPlaceToDataPageLeaf(dst,attnum,&item.iptr,
83-
item.addInfo,
84-
item.addInfoIsNull,
82+
dst=rumPlaceToDataPageLeaf(dst,attnum,&item,
8583
&prevIptr,&gvs->rumstate);
8684
j++;
8785
prevIptr=item.iptr;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp