(srcColl *gkvlite.Collection, dstColl *gkvlite.Collection, writeEvery int)
| 140 | } |
| 141 | |
| 142 | func copyColl(srcColl *gkvlite.Collection, dstColl *gkvlite.Collection, |
| 143 | writeEvery int) (numItems uint64, lastItem *gkvlite.Item, err error) { |
| 144 | minItem, err := srcColl.MinItem(true) |
| 145 | if err != nil { |
| 146 | return 0, nil, err |
| 147 | } |
| 148 | if minItem == nil { |
| 149 | return 0, nil, nil |
| 150 | } |
| 151 | |
| 152 | var errVisit error = nil |
| 153 | err = srcColl.VisitItemsAscend(minItem.Key, true, func(i *gkvlite.Item) bool { |
| 154 | if errVisit = dstColl.SetItem(i); errVisit != nil { |
| 155 | return false |
| 156 | } |
| 157 | numItems++ |
| 158 | lastItem = i |
| 159 | if writeEvery > 0 && numItems%uint64(writeEvery) == 0 { |
| 160 | if errVisit = dstColl.Write(); errVisit != nil { |
| 161 | return false |
| 162 | } |
| 163 | } |
| 164 | return true |
| 165 | }) |
| 166 | if err != nil { |
| 167 | return 0, nil, err |
| 168 | } |
| 169 | if errVisit != nil { |
| 170 | return 0, nil, errVisit |
| 171 | } |
| 172 | |
| 173 | return numItems, lastItem, nil |
| 174 | } |
| 175 | |
| 176 | func copyDelta(lastChangeCAS []byte, cName string, kName string, |
| 177 | srcStore *gkvlite.Store, dstStore *gkvlite.Store, |
no test coverage detected