iterator first offset bug fix
This commit is contained in:
parent
af4507fc51
commit
0792eb6e26
|
@ -98,8 +98,12 @@ func newIterator(db *DB, opts *levigo.ReadOptions, r *Range, offset int, limit i
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < offset; i++ {
|
for i := 0; i < offset; i++ {
|
||||||
if it.Valid() {
|
if it.it.Valid() {
|
||||||
it.Next()
|
if it.direction == IteratorForward {
|
||||||
|
it.it.Next()
|
||||||
|
} else {
|
||||||
|
it.it.Prev()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -152,7 +152,7 @@ func TestIterator(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
it = db.Iterator(k(1), k(5), RangeClose, 1, 3)
|
it = db.Iterator(k(1), k(5), RangeClose, 1, 3)
|
||||||
if err := checkIterator(it, 2, 3); err != nil {
|
if err := checkIterator(it, 2, 3, 4); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ func TestIterator(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
it = db.RevIterator(k(1), k(5), RangeClose, 1, 3)
|
it = db.RevIterator(k(1), k(5), RangeClose, 1, 3)
|
||||||
if err := checkIterator(it, 4, 3); err != nil {
|
if err := checkIterator(it, 4, 3, 2); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue