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

Commit b1c8e89

Browse files
committed
Merge branch 'svace-fix' into public_master
2 parents aa11027 + 631a626 commit b1c8e89

File tree

6 files changed

+21
-16
lines changed

6 files changed

+21
-16
lines changed

‎src/btree_rum.c‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ rum_btree_extract_query(FunctionCallInfo fcinfo,
112112
case BTGreaterEqualStrategyNumber:
113113
case BTGreaterStrategyNumber:
114114
*ptr_partialmatch = true;
115+
/*FALLTHROUGH*/
115116
case BTEqualStrategyNumber:
116117
case RUM_DISTANCE:
117118
case RUM_LEFT_DISTANCE:

‎src/rum_ts_utils.c‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ PG_FUNCTION_INFO_V1(rum_ts_join_pos);
6262

6363
PG_FUNCTION_INFO_V1(tsquery_to_distance_query);
6464

65-
static int count_pos(char *ptr, int len);
65+
static unsigned int count_pos(char *ptr, int len);
6666
static char *decompress_pos(char *ptr, WordEntryPos *pos);
6767
static Datum build_tsvector_entry(TSVector vector, WordEntry *we);
6868
static Datum build_tsvector_hash_entry(TSVector vector, WordEntry *we);
@@ -919,7 +919,7 @@ rum_tsquery_timestamp_consistent(PG_FUNCTION_ARGS)
919919
#define SIXTHBIT 0x20
920920
#define LOWERMASK 0x1F
921921

922-
static int
922+
static unsigned int
923923
compress_pos(char *target, WordEntryPos *pos, int npos)
924924
{
925925
int i;
@@ -980,7 +980,7 @@ decompress_pos(char *ptr, WordEntryPos *pos)
980980
}
981981
}
982982

983-
static int
983+
static unsigned int
984984
count_pos(char *ptr, int len)
985985
{
986986
int count = 0,

‎src/rumdatapage.c‎

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ rumDatumWrite(Pointer ptr, Datum datum, bool typbyval, char typalign,
9999
elog(ERROR, "unsupported byval length: %d", (int) (typlen));
100100
}
101101

102-
data_length = typlen;
102+
data_length = (Size)typlen;
103103
}
104104
else if (typlen == -1)
105105
{
@@ -149,7 +149,7 @@ rumDatumWrite(Pointer ptr, Datum datum, bool typbyval, char typalign,
149149
/* fixed-length pass-by-reference */
150150
ptr = (char *) att_align_nominal(ptr, typalign);
151151
Assert(typlen > 0);
152-
data_length = typlen;
152+
data_length = (Size)typlen;
153153
memmove(ptr, DatumGetPointer(datum), data_length);
154154
}
155155

@@ -736,7 +736,7 @@ RumDataPageAddItem(Page page, void *data, OffsetNumber offset)
736736
if (offset <= maxoff)
737737
memmove(ptr + sizeof(PostingItem),
738738
ptr,
739-
(maxoff - offset + 1) * sizeof(PostingItem));
739+
((uint16_t)(maxoff - offset + 1)) * sizeof(PostingItem));
740740
}
741741
memcpy(ptr, data, sizeof(PostingItem));
742742
RumPageGetOpaque(page)->maxoff++;
@@ -763,7 +763,7 @@ RumPageDeletePostingItem(Page page, OffsetNumber offset)
763763
char *dstptr = RumDataPageGetItem(page, offset),
764764
*sourceptr = RumDataPageGetItem(page, offset + 1);
765765

766-
memmove(dstptr, sourceptr, sizeof(PostingItem) * (maxoff - offset));
766+
memmove(dstptr, sourceptr, sizeof(PostingItem) * (uint16_t)(maxoff - offset));
767767
}
768768

769769
RumPageGetOpaque(page)->maxoff--;
@@ -1229,7 +1229,7 @@ dataSplitPageInternal(RumBtree btree, Buffer lbuf, Buffer rbuf,
12291229
RumItem *bound;
12301230
Page newlPage = PageGetTempPageCopy(BufferGetPage(lbuf));
12311231
RumItem oldbound = *RumDataPageGetRightBound(newlPage);
1232-
int sizeofitem = sizeof(PostingItem);
1232+
unsigned int sizeofitem = sizeof(PostingItem);
12331233
OffsetNumber maxoff = RumPageGetOpaque(newlPage)->maxoff;
12341234
Size pageSize = PageGetPageSize(newlPage);
12351235
Size freeSpace;
@@ -1246,7 +1246,7 @@ dataSplitPageInternal(RumBtree btree, Buffer lbuf, Buffer rbuf,
12461246
Assert(!RumPageIsLeaf(newlPage));
12471247
ptr = vector + (off - 1) * sizeofitem;
12481248
if (maxoff + 1 - off != 0)
1249-
memmove(ptr + sizeofitem, ptr, (maxoff - off + 1) * sizeofitem);
1249+
memmove(ptr + sizeofitem, ptr, (uint16_t)(maxoff - off + 1) * sizeofitem);
12501250
memcpy(ptr, &(btree->pitem), sizeofitem);
12511251

12521252
maxoff++;
@@ -1273,7 +1273,7 @@ dataSplitPageInternal(RumBtree btree, Buffer lbuf, Buffer rbuf,
12731273

12741274
ptr = RumDataPageGetItem(rPage, FirstOffsetNumber);
12751275
memcpy(ptr, vector + separator * sizeofitem,
1276-
(maxoff - separator) * sizeofitem);
1276+
(uint16_t)(maxoff - separator) * sizeofitem);
12771277
RumPageGetOpaque(rPage)->maxoff = maxoff - separator;
12781278
/* Adjust pd_lower */
12791279
((PageHeader) rPage)->pd_lower = (ptr +
@@ -1501,8 +1501,10 @@ rumInsertItemPointers(RumState * rumstate,
15011501
RumItem * items, uint32 nitem,
15021502
GinStatsData *buildStats)
15031503
{
1504-
BlockNumber rootBlkno=gdi->stack->blkno;
1504+
BlockNumber rootBlkno;
15051505

1506+
Assert(gdi->stack);
1507+
rootBlkno = gdi->stack->blkno;
15061508
gdi->btree.items = items;
15071509
gdi->btree.nitem = nitem;
15081510
gdi->btree.curitem = 0;

‎src/rumentrypage.c‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ getRightMostTuple(Page page)
113113
{
114114
OffsetNumber maxoff = PageGetMaxOffsetNumber(page);
115115

116+
Assert(maxoff != InvalidOffsetNumber);
117+
116118
return (IndexTuple) PageGetItem(page, PageGetItemId(page, maxoff));
117119
}
118120

‎src/rumget.c‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ startScanEntry(RumState * rumstate, RumScanEntry entry, Snapshot snapshot)
687687
else if (RumGetNPosting(itup) > 0)
688688
{
689689
entry->nlist = RumGetNPosting(itup);
690-
entry->predictNumberResult = entry->nlist;
690+
entry->predictNumberResult = (uint32_t)entry->nlist;
691691
entry->list = (RumItem *) palloc(sizeof(RumItem) * entry->nlist);
692692

693693
rumReadTuple(rumstate, entry->attnum, itup, entry->list, true);
@@ -1104,7 +1104,7 @@ entryGetNextItemList(RumState * rumstate, RumScanEntry entry, Snapshot snapshot)
11041104
else if (RumGetNPosting(itup) > 0)
11051105
{
11061106
entry->nlist = RumGetNPosting(itup);
1107-
entry->predictNumberResult = entry->nlist;
1107+
entry->predictNumberResult = (uint32_t)entry->nlist;
11081108
entry->list = (RumItem *) palloc(sizeof(RumItem) * entry->nlist);
11091109

11101110
rumReadTuple(rumstate, entry->attnum, itup, entry->list, true);

‎src/rumscan.c‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -469,12 +469,12 @@ lookupScanDirection(RumState *state, AttrNumber attno, StrategyNumber strategy)
469469
int i;
470470
RumConfig *rumConfig = state->rumConfig + attno - 1;
471471

472-
for(i = 0; rumConfig->strategyInfo[i].strategy != InvalidStrategy &&
473-
i < MAX_STRATEGIES; i++)
472+
for(i = 0; i < MAX_STRATEGIES; i++)
474473
{
474+
if (rumConfig->strategyInfo[i].strategy != InvalidStrategy)
475+
break;
475476
if (rumConfig->strategyInfo[i].strategy == strategy)
476477
return rumConfig->strategyInfo[i].direction;
477-
478478
}
479479

480480
return NoMovementScanDirection;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /