@@ -20,7 +20,7 @@ static BlockNumber dataGetRightMostPage(RumBtree btree, Page page);
2020
2121/* Does datatype allow packing into the 1-byte-header varlena format? */
2222#define TYPE_IS_PACKABLE (typlen , typstorage ) \
23- ((typlen) == -1 && (typstorage) != 'p' )
23+ ((typlen) == -1 && (typstorage) != TYPSTORAGE_PLAIN )
2424
2525/*
2626 * Increment data_length by the space needed by the datum, including any
@@ -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,6 +1501,7 @@ rumInsertItemPointers(RumState * rumstate,
15011501 RumItem * items , uint32 nitem ,
15021502 GinStatsData * buildStats )
15031503{
1504+ Assert (gdi -> stack );
15041505 BlockNumber rootBlkno = gdi -> stack -> blkno ;
15051506
15061507 gdi -> btree .items = items ;
0 commit comments