diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2013-11-20 16:09:14 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2013-11-20 16:09:14 +0200 |
commit | 04965ad40e10677ceec94d871a183e73023b238f (patch) | |
tree | 654f622417890f633e0afd96e46020d83d9f34d3 /src/backend/access/gin/gininsert.c | |
parent | b21de4e7b32f868a23bdc5507898d36cbe146164 (diff) | |
download | postgresql-04965ad40e10677ceec94d871a183e73023b238f.tar.gz postgresql-04965ad40e10677ceec94d871a183e73023b238f.zip |
Further GIN refactoring.
Merge some functions that were always called together. Makes the code
little bit more readable.
Diffstat (limited to 'src/backend/access/gin/gininsert.c')
-rw-r--r-- | src/backend/access/gin/gininsert.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index fb7b4ea1ac3..0a2883aae3d 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -81,7 +81,6 @@ addItemPointersToLeafTuple(GinState *ginstate, { /* posting list would be too big, convert to posting tree */ BlockNumber postingRoot; - GinPostingTreeScan *gdi; /* * Initialize posting tree with the old tuple's posting list. It's @@ -94,12 +93,9 @@ addItemPointersToLeafTuple(GinState *ginstate, buildStats); /* Now insert the TIDs-to-be-added into the posting tree */ - gdi = ginPrepareScanPostingTree(ginstate->index, postingRoot, FALSE); - gdi->btree.isBuild = (buildStats != NULL); - - ginInsertItemPointers(gdi, items, nitem, buildStats); - - pfree(gdi); + ginInsertItemPointers(ginstate->index, postingRoot, + items, nitem, + buildStats); /* And build a new posting-tree-only result tuple */ res = GinFormTuple(ginstate, attnum, key, category, NULL, 0, true); @@ -177,7 +173,7 @@ ginEntryInsert(GinState *ginstate, ginPrepareEntryScan(&btree, attnum, key, category, ginstate); - stack = ginFindLeafPage(&btree, NULL); + stack = ginFindLeafPage(&btree, GIN_ROOT_BLKNO, false); page = BufferGetPage(stack->buffer); if (btree.findItem(&btree, stack)) @@ -189,18 +185,15 @@ ginEntryInsert(GinState *ginstate, { /* add entries to existing posting tree */ BlockNumber rootPostingTree = GinGetPostingTree(itup); - GinPostingTreeScan *gdi; /* release all stack */ LockBuffer(stack->buffer, GIN_UNLOCK); freeGinBtreeStack(stack); /* insert into posting tree */ - gdi = ginPrepareScanPostingTree(ginstate->index, rootPostingTree, FALSE); - gdi->btree.isBuild = (buildStats != NULL); - ginInsertItemPointers(gdi, items, nitem, buildStats); - pfree(gdi); - + ginInsertItemPointers(ginstate->index, rootPostingTree, + items, nitem, + buildStats); return; } |