@@ -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 ;
0 commit comments