close documents returned by iterator before losing their reference
fixes #194
This commit is contained in:
parent
b54a59139c
commit
16f538d7b7
@ -49,6 +49,9 @@ func (i *Iterator) SeekFirst() {
|
||||
i.valid = false
|
||||
return
|
||||
}
|
||||
if i.curr != nil {
|
||||
i.curr.Close()
|
||||
}
|
||||
i.curr, err = i.iterator.Get()
|
||||
if err != nil {
|
||||
i.valid = false
|
||||
@ -61,6 +64,9 @@ func (i *Iterator) Seek(key []byte) {
|
||||
i.valid = false
|
||||
return
|
||||
}
|
||||
if i.curr != nil {
|
||||
i.curr.Close()
|
||||
}
|
||||
i.curr, err = i.iterator.Get()
|
||||
if err != nil {
|
||||
i.valid = false
|
||||
@ -74,6 +80,9 @@ func (i *Iterator) Next() {
|
||||
i.valid = false
|
||||
return
|
||||
}
|
||||
if i.curr != nil {
|
||||
i.curr.Close()
|
||||
}
|
||||
i.curr, err = i.iterator.Get()
|
||||
if err != nil {
|
||||
i.valid = false
|
||||
@ -101,5 +110,8 @@ func (i *Iterator) Valid() bool {
|
||||
|
||||
func (i *Iterator) Close() error {
|
||||
i.valid = false
|
||||
if i.curr != nil {
|
||||
i.curr.Close()
|
||||
}
|
||||
return i.iterator.Close()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user