func (udc *UpsideDownCouch) batchRows(writer store.KVWriter, addRows []UpsideDownCouchRow, updateRows []UpsideDownCouchRow, deleteRows []UpsideDownCouchRow) (err error) { // prepare batch wb := writer.NewBatch() // add for _, row := range addRows { tfr, ok := row.(*TermFrequencyRow) if ok { // need to increment counter dictionaryKey := tfr.DictionaryRowKey() wb.Merge(dictionaryKey, dictionaryTermIncr) } wb.Set(row.Key(), row.Value()) } // update for _, row := range updateRows { wb.Set(row.Key(), row.Value()) } // delete for _, row := range deleteRows { tfr, ok := row.(*TermFrequencyRow) if ok { // need to decrement counter dictionaryKey := tfr.DictionaryRowKey() wb.Merge(dictionaryKey, dictionaryTermDecr) } wb.Delete(row.Key()) } // write out the batch err = wb.Execute() if err != nil { return } return }