@@ -548,7 +548,12 @@ dataSplitPage(GinBtree btree, Buffer lbuf, Buffer rbuf, OffsetNumber off, XLogRe
548
548
549
549
/* set up right bound for left page */
550
550
bound = GinDataPageGetRightBound (lpage );
551
- * bound = btree -> pitem .key ;
551
+ if (GinPageIsLeaf (lpage ))
552
+ * bound = * GinDataPageGetItemPointer (lpage ,
553
+ GinPageGetOpaque (lpage )-> maxoff );
554
+ else
555
+ * bound = GinDataPageGetPostingItem (lpage ,
556
+ GinPageGetOpaque (lpage )-> maxoff )-> key ;
552
557
553
558
/* set up right bound for right page */
554
559
bound = GinDataPageGetRightBound (rpage );
@@ -577,12 +582,7 @@ dataSplitPage(GinBtree btree, Buffer lbuf, Buffer rbuf, OffsetNumber off, XLogRe
577
582
578
583
/* Prepare a downlink tuple for insertion to the parent */
579
584
PostingItemSetBlockNumber (& (btree -> pitem ), BufferGetBlockNumber (lbuf ));
580
- if (GinPageIsLeaf (lpage ))
581
- btree -> pitem .key = * GinDataPageGetItemPointer (lpage ,
582
- GinPageGetOpaque (lpage )-> maxoff );
583
- else
584
- btree -> pitem .key = GinDataPageGetPostingItem (lpage ,
585
- GinPageGetOpaque (lpage )-> maxoff )-> key ;
585
+ btree -> pitem .key = * GinDataPageGetRightBound (lpage );
586
586
btree -> rightblkno = BufferGetBlockNumber (rbuf );
587
587
588
588
return lpage ;
0 commit comments