@@ -548,7 +548,12 @@ dataSplitPage(GinBtree btree, Buffer lbuf, Buffer rbuf, OffsetNumber off, XLogRe
548548
549549 /* set up right bound for left page */
550550 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 ;
552557
553558 /* set up right bound for right page */
554559 bound = GinDataPageGetRightBound (rpage );
@@ -577,12 +582,7 @@ dataSplitPage(GinBtree btree, Buffer lbuf, Buffer rbuf, OffsetNumber off, XLogRe
577582
578583 /* Prepare a downlink tuple for insertion to the parent */
579584 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 );
586586 btree -> rightblkno = BufferGetBlockNumber (rbuf );
587587
588588 return lpage ;
0 commit comments