@@ -99,7 +99,7 @@ rumDatumWrite(Pointer ptr, Datum datum, bool typbyval, char typalign,
9999elog (ERROR ,"unsupported byval length: %d" , (int ) (typlen ));
100100}
101101
102- data_length = typlen ;
102+ data_length = ( Size ) typlen ;
103103}
104104else if (typlen == -1 )
105105{
@@ -149,7 +149,7 @@ rumDatumWrite(Pointer ptr, Datum datum, bool typbyval, char typalign,
149149/* fixed-length pass-by-reference */
150150ptr = (char * )att_align_nominal (ptr ,typalign );
151151Assert (typlen > 0 );
152- data_length = typlen ;
152+ data_length = ( Size ) typlen ;
153153memmove (ptr ,DatumGetPointer (datum ),data_length );
154154}
155155
@@ -736,7 +736,7 @@ RumDataPageAddItem(Page page, void *data, OffsetNumber offset)
736736if (offset <=maxoff )
737737memmove (ptr + sizeof (PostingItem ),
738738ptr ,
739- ( maxoff - offset + 1 )* sizeof (PostingItem ));
739+ (( uint16_t )( maxoff - offset + 1 ) )* sizeof (PostingItem ));
740740}
741741memcpy (ptr ,data ,sizeof (PostingItem ));
742742RumPageGetOpaque (page )-> maxoff ++ ;
@@ -763,7 +763,7 @@ RumPageDeletePostingItem(Page page, OffsetNumber offset)
763763char * 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
769769RumPageGetOpaque (page )-> maxoff -- ;
@@ -1229,7 +1229,7 @@ dataSplitPageInternal(RumBtree btree, Buffer lbuf, Buffer rbuf,
12291229RumItem * bound ;
12301230Page newlPage = PageGetTempPageCopy (BufferGetPage (lbuf ));
12311231RumItem oldbound = * RumDataPageGetRightBound (newlPage );
1232- int sizeofitem = sizeof (PostingItem );
1232+ unsigned int sizeofitem = sizeof (PostingItem );
12331233OffsetNumber maxoff = RumPageGetOpaque (newlPage )-> maxoff ;
12341234Size pageSize = PageGetPageSize (newlPage );
12351235Size freeSpace ;
@@ -1246,7 +1246,7 @@ dataSplitPageInternal(RumBtree btree, Buffer lbuf, Buffer rbuf,
12461246Assert (!RumPageIsLeaf (newlPage ));
12471247ptr = vector + (off - 1 )* sizeofitem ;
12481248if (maxoff + 1 - off != 0 )
1249- memmove (ptr + sizeofitem ,ptr , (maxoff - off + 1 )* sizeofitem );
1249+ memmove (ptr + sizeofitem ,ptr , (uint16_t )( maxoff - off + 1 )* sizeofitem );
12501250memcpy (ptr ,& (btree -> pitem ),sizeofitem );
12511251
12521252maxoff ++ ;
@@ -1273,7 +1273,7 @@ dataSplitPageInternal(RumBtree btree, Buffer lbuf, Buffer rbuf,
12731273
12741274ptr = RumDataPageGetItem (rPage ,FirstOffsetNumber );
12751275memcpy (ptr ,vector + separator * sizeofitem ,
1276- (maxoff - separator )* sizeofitem );
1276+ (uint16_t )( maxoff - separator )* sizeofitem );
12771277RumPageGetOpaque (rPage )-> maxoff = maxoff - separator ;
12781278/* Adjust pd_lower */
12791279((PageHeader )rPage )-> pd_lower = (ptr +
@@ -1501,8 +1501,10 @@ rumInsertItemPointers(RumState * rumstate,
15011501RumItem * items ,uint32 nitem ,
15021502GinStatsData * buildStats )
15031503{
1504- BlockNumber rootBlkno = gdi -> stack -> blkno ;
1504+ BlockNumber rootBlkno ;
15051505
1506+ Assert (gdi -> stack );
1507+ rootBlkno = gdi -> stack -> blkno ;
15061508gdi -> btree .items = items ;
15071509gdi -> btree .nitem = nitem ;
15081510gdi -> btree .curitem = 0 ;