(start, end string)
| 281 | } |
| 282 | |
| 283 | func (kv *KeyValue) Find(start, end string) sorted.Iterator { |
| 284 | var releaseGate func() // nil if unused |
| 285 | if kv.Gate != nil { |
| 286 | var once sync.Once |
| 287 | kv.Gate.Start() |
| 288 | releaseGate = func() { |
| 289 | once.Do(kv.Gate.Done) |
| 290 | } |
| 291 | } |
| 292 | it := find(kv, kv.DB, start, end) |
| 293 | it.releaseGate = releaseGate |
| 294 | return it |
| 295 | } |
| 296 | |
| 297 | // iter is a iterator over sorted key/value pairs in rows. |
| 298 | type iter struct { |