diff options
Diffstat (limited to 'src/backend/access/gin/ginxlog.c')
-rw-r--r-- | src/backend/access/gin/ginxlog.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index 4d0ccb876f2..ddac3430613 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -799,31 +799,20 @@ ginContinueSplit(ginIncompleteSplit *split) ginPrepareEntryScan(&btree, InvalidOffsetNumber, (Datum) 0, GIN_CAT_NULL_KEY, &ginstate); - btree.entry = ginPageGetLinkItup(buffer); } else { - Page page = BufferGetPage(buffer); - ginPrepareDataScan(&btree, reln); - - PostingItemSetBlockNumber(&(btree.pitem), split->leftBlkno); - if (GinPageIsLeaf(page)) - btree.pitem.key = *GinDataPageGetItemPointer(page, - GinPageGetOpaque(page)->maxoff); - else - btree.pitem.key = GinDataPageGetPostingItem(page, - GinPageGetOpaque(page)->maxoff)->key; } - btree.rightblkno = split->rightBlkno; - stack.blkno = split->leftBlkno; stack.buffer = buffer; stack.off = InvalidOffsetNumber; stack.parent = NULL; ginFindParents(&btree, &stack, split->rootBlkno); + + btree.prepareDownlink(&btree, buffer); ginInsertValue(&btree, stack.parent, NULL); FreeFakeRelcacheEntry(reln); |