@@ -724,6 +724,7 @@ dataPlaceToPage(RumBtree btree, Page page, OffsetNumber off)
724
724
Datum addInfo = 0 ;
725
725
bool addInfoIsNull = false;
726
726
int maxoff = RumPageGetOpaque (page )-> maxoff ;
727
+ int freespace ;
727
728
728
729
/*
729
730
* We're going to prevent var-byte re-encoding of whole page.
@@ -760,7 +761,8 @@ dataPlaceToPage(RumBtree btree, Page page, OffsetNumber off)
760
761
& btree -> items [j ], btree -> addInfo [j ], btree -> addInfoIsNull [j ],
761
762
& iptr , btree -> rumstate , ptr - page );
762
763
763
- if (RumDataPageFreeSpacePre (page , ptr2 ) < 0 )
764
+ freespace = RumDataPageFreeSpacePre (page , ptr2 );
765
+ if (freespace < 0 )
764
766
break ;
765
767
766
768
ptr = rumPlaceToDataPageLeaf (ptr , btree -> entryAttnum ,
@@ -790,7 +792,8 @@ dataPlaceToPage(RumBtree btree, Page page, OffsetNumber off)
790
792
791
793
RumPageGetOpaque (page )-> maxoff += i ;
792
794
793
- if (RumDataPageFreeSpacePre (page ,ptr ) < 0 )
795
+ freespace = RumDataPageFreeSpacePre (page ,ptr );
796
+ if (freespace < 0 )
794
797
elog (ERROR , "Not enough of space in leaf page!" );
795
798
796
799
/* Update indexes in the end of page */
0 commit comments