Skip to content

Commit d0aa83e

Browse files
committed
fix formatting, hide static-only used function
1 parent 7866a76 commit d0aa83e

File tree

3 files changed

+44
-18
lines changed

3 files changed

+44
-18
lines changed

rum.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,6 @@ extern void checkLeafDataPage(RumState *rumstate, AttrNumber attrnum, Page page)
490490
/* rumdatapage.c */
491491
extern int rumCompareItemPointers(const ItemPointerData * a, const ItemPointerData * b);
492492
extern int compareRumKey(RumState *state, const RumKey *a, const RumKey *b);
493-
extern char *rumDataPageLeafWriteItemPointer(char *ptr, ItemPointer iptr, ItemPointer prev, bool addInfoIsNull);
494493
extern Pointer rumPlaceToDataPageLeaf(Pointer ptr, OffsetNumber attnum,
495494
ItemPointer iptr, Datum addInfo, bool addInfoIsNull, ItemPointer prev,
496495
RumState *rumstate);
@@ -881,7 +880,8 @@ rumDataPageLeafRead(Pointer ptr, OffsetNumber attnum, ItemPointer iptr,
881880
break;
882881
#endif
883882
default:
884-
elog(ERROR, "unsupported byval length: %d", (int) (attr->attlen));
883+
elog(ERROR, "unsupported byval length: %d",
884+
(int) (attr->attlen));
885885
}
886886
}
887887
}

rumdatapage.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ rumDatumWrite(Pointer ptr, Datum datum, bool typbyval, char typalign,
160160
* BlockNumber is stored in incremental manner we also need a previous item
161161
* pointer. Also store addInfoIsNull flag using one bit of OffsetNumber.
162162
*/
163-
char *
163+
static char *
164164
rumDataPageLeafWriteItemPointer(char *ptr, ItemPointer iptr, ItemPointer prev,
165165
bool addInfoIsNull)
166166
{
@@ -1285,6 +1285,11 @@ updateItemIndexes(Page page, OffsetNumber attnum, RumState *rumstate)
12851285
((PageHeader) page)->pd_lower = ptr - page;
12861286
((PageHeader) page)->pd_upper = ((char*)RumPageGetIndexes(page)) - page;
12871287

1288+
Assert(ptr <= (char*)RumPageGetIndexes(page));
1289+
Assert(((PageHeader) page)->pd_upper >= ((PageHeader) page)->pd_lower);
1290+
Assert(((PageHeader) page)->pd_upper - ((PageHeader) page)->pd_lower ==
1291+
RumPageGetOpaque(page)->freespace);
1292+
12881293
return iptr;
12891294
}
12901295

ruminsert.c

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ typedef struct
3939
*/
4040
static BlockNumber
4141
createPostingTree(RumState *rumstate, OffsetNumber attnum, Relation index,
42-
ItemPointerData *items, Datum *addInfo, bool *addInfoIsNull, uint32 nitems)
42+
ItemPointerData *items,
43+
Datum *addInfo, bool *addInfoIsNull, uint32 nitems)
4344
{
4445
BlockNumber blkno;
4546
Buffer buffer = RumNewBuffer(index);
@@ -64,7 +65,7 @@ createPostingTree(RumState *rumstate, OffsetNumber attnum, Relation index,
6465
if (i > 0)
6566
prev_iptr = items[i - 1];
6667
ptr = rumPlaceToDataPageLeaf(ptr, attnum, &items[i], addInfo[i],
67-
addInfoIsNull[i], &prev_iptr, rumstate);
68+
addInfoIsNull[i], &prev_iptr, rumstate);
6869
}
6970
freespace = RumDataPageFreeSpacePre(page, ptr);
7071
Assert(freespace >= 0);
@@ -150,14 +151,18 @@ RumFormTuple(RumState *rumstate,
150151
if (nipd > 0)
151152
{
152153
newsize = rumCheckPlaceToDataPageLeaf(attnum, &ipd[0], addInfo[0],
153-
addInfoIsNull[0], &nullItemPointer, rumstate, newsize);
154+
addInfoIsNull[0],
155+
&nullItemPointer,
156+
rumstate, newsize);
154157
for (i = 1; i < nipd; i++)
155158
{
156159
newsize = rumCheckPlaceToDataPageLeaf(attnum, &ipd[i], addInfo[i],
157-
addInfoIsNull[i], &ipd[i - 1], rumstate, newsize);
160+
addInfoIsNull[i], &ipd[i - 1],
161+
rumstate, newsize);
158162
}
159163
}
160164

165+
161166
if (category != RUM_CAT_NORM_KEY)
162167
{
163168
Assert(IndexTupleHasNulls(itup));
@@ -198,12 +203,18 @@ RumFormTuple(RumState *rumstate,
198203
{
199204
char *ptr = RumGetPosting(itup);
200205
ptr = rumPlaceToDataPageLeaf(ptr, attnum, &ipd[0], addInfo[0],
201-
addInfoIsNull[0], &nullItemPointer, rumstate);
206+
addInfoIsNull[0], &nullItemPointer,
207+
rumstate);
202208
for (i = 1; i < nipd; i++)
203209
{
204210
ptr = rumPlaceToDataPageLeaf(ptr, attnum, &ipd[i], addInfo[i],
205-
addInfoIsNull[i], &ipd[i-1], rumstate);
211+
addInfoIsNull[i], &ipd[i-1],
212+
rumstate);
206213
}
214+
215+
Assert(MAXALIGN((ptr - ((char*)itup)) +
216+
((category == RUM_CAT_NORM_KEY) ? 0 : sizeof(RumNullCategory)))
217+
== newsize);
207218
}
208219

209220
/*
@@ -214,6 +225,7 @@ RumFormTuple(RumState *rumstate,
214225
Assert(IndexTupleHasNulls(itup));
215226
RumSetNullCategory(itup, rumstate, category);
216227
}
228+
217229
return itup;
218230
}
219231

@@ -341,20 +353,24 @@ buildFreshLeafTuple(RumState *rumstate,
341353
do
342354
{
343355
size = rumCheckPlaceToDataPageLeaf(attnum, &items[itemsCount],
344-
addInfo[itemsCount], addInfoIsNull[itemsCount], &prevIptr,
345-
rumstate, size);
356+
addInfo[itemsCount],
357+
addInfoIsNull[itemsCount],
358+
&prevIptr, rumstate, size);
346359
prevIptr = items[itemsCount];
347360
itemsCount++;
348361
}
349362
while (itemsCount < nitem && size < RumDataPageSize);
350-
itemsCount--;
363+
364+
if (size >= RumDataPageSize)
365+
itemsCount--;
351366

352367

353368
/*
354369
* Build posting-tree-only result tuple. We do this first so as to
355370
* fail quickly if the key is too big.
356371
*/
357-
res = RumFormTuple(rumstate, attnum, key, category, NULL, NULL, NULL, 0, true);
372+
res = RumFormTuple(rumstate, attnum, key, category,
373+
NULL, NULL, NULL, 0, true);
358374

359375
/*
360376
* Initialize posting tree with as many TIDs as will fit on the first
@@ -377,7 +393,8 @@ buildFreshLeafTuple(RumState *rumstate,
377393
{
378394
RumPostingTreeScan *gdi;
379395

380-
gdi = rumPrepareScanPostingTree(rumstate->index, postingRoot, FALSE, attnum, rumstate);
396+
gdi = rumPrepareScanPostingTree(rumstate->index, postingRoot, FALSE,
397+
attnum, rumstate);
381398
gdi->btree.isBuild = (buildStats != NULL);
382399

383400
rumInsertItemPointers(rumstate,
@@ -457,25 +474,29 @@ rumEntryInsert(RumState *rumstate,
457474
freeRumBtreeStack(stack);
458475

459476
/* insert into posting tree */
460-
gdi = rumPrepareScanPostingTree(rumstate->index, rootPostingTree, FALSE, attnum, rumstate);
477+
gdi = rumPrepareScanPostingTree(rumstate->index, rootPostingTree,
478+
FALSE, attnum, rumstate);
461479
gdi->btree.isBuild = (buildStats != NULL);
462-
rumInsertItemPointers(rumstate, attnum, gdi, items, addInfo, addInfoIsNull, nitem, buildStats);
480+
rumInsertItemPointers(rumstate, attnum, gdi, items, addInfo,
481+
addInfoIsNull, nitem, buildStats);
463482
pfree(gdi);
464483

465484
return;
466485
}
467486

468487
/* modify an existing leaf entry */
469488
itup = addItemPointersToLeafTuple(rumstate, itup,
470-
items, addInfo, addInfoIsNull, nitem, buildStats);
489+
items, addInfo, addInfoIsNull, nitem,
490+
buildStats);
471491

472492
btree.isDelete = TRUE;
473493
}
474494
else
475495
{
476496
/* no match, so construct a new leaf entry */
477497
itup = buildFreshLeafTuple(rumstate, attnum, key, category,
478-
items, addInfo, addInfoIsNull, nitem, buildStats);
498+
items, addInfo, addInfoIsNull, nitem,
499+
buildStats);
479500
}
480501

481502
/* Insert the new or modified leaf tuple */

0 commit comments

Comments
 (0)