fusesource / leveldbjni

A Java Native Interface to LevelDB
BSD 3-Clause "New" or "Revised" License
535 stars 145 forks source link

Iterator is empty until seekToFirst() is called #75

Open matthewrj opened 8 years ago

matthewrj commented 8 years ago

When I create an iterator it is initially empty even though there is data in the db. Once I call seekToFirst() the iterator works as expected.

System.out.println("Get: " + Util.deserializeGene(db.get(JniDBFactory.bytes("APOE"))).getName());
final DBIterator iterator = db.iterator();
System.out.println("Iterate initial: " + (iterator.hasNext() || iterator.hasPrev()));
iterator.seekToFirst();
System.out.println("Iterate after seek: " + (iterator.hasNext() || iterator.hasPrev()));

Get: APOE
Iterate initial: false
Iterate after seek: true