diff options
Diffstat (limited to 'src/backend/access/gin/ginfast.c')
| -rw-r--r-- | src/backend/access/gin/ginfast.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index 7aaab3a132e..2caea08e424 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -287,7 +287,7 @@ ginHeapTupleFastInsert(Relation index, GinState *ginstate, if (metadata->head == InvalidBlockNumber) { /* - * Main list is empty, so just copy sublist into main list + * Main list is empty, so just insert sublist as main list */ START_CRIT_SECTION(); @@ -305,6 +305,14 @@ ginHeapTupleFastInsert(Relation index, GinState *ginstate, LockBuffer(buffer, GIN_EXCLUSIVE); page = BufferGetPage(buffer); + rdata[0].next = rdata + 1; + + rdata[1].buffer = buffer; + rdata[1].buffer_std = true; + rdata[1].data = NULL; + rdata[1].len = 0; + rdata[1].next = NULL; + Assert(GinPageGetOpaque(page)->rightlink == InvalidBlockNumber); START_CRIT_SECTION(); |
