From 5927224e15dcecf1b8f48490568492ff4e5c3b56 Mon Sep 17 00:00:00 2001 From: Steve Yen Date: Mon, 9 Jan 2017 22:48:55 -0800 Subject: [PATCH] optimize mergeOldAndNew for case of first time a doc is seen --- index/upsidedown/upsidedown.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/index/upsidedown/upsidedown.go b/index/upsidedown/upsidedown.go index 80bbfeaf..1bf9c733 100644 --- a/index/upsidedown/upsidedown.go +++ b/index/upsidedown/upsidedown.go @@ -499,6 +499,15 @@ func (udc *UpsideDownCouch) Update(doc *document.Document) (err error) { func (udc *UpsideDownCouch) mergeOldAndNew(backIndexRow *BackIndexRow, rows []index.IndexRow) (addRows []UpsideDownCouchRow, updateRows []UpsideDownCouchRow, deleteRows []UpsideDownCouchRow) { addRows = make([]UpsideDownCouchRow, 0, len(rows)) + + if backIndexRow == nil { + addRows = addRows[0:len(rows)] + for i, row := range rows { + addRows[i] = row + } + return addRows, nil, nil + } + updateRows = make([]UpsideDownCouchRow, 0, len(rows)) deleteRows = make([]UpsideDownCouchRow, 0, len(rows))