summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorVictor Costan <pwnall@chromium.org>2019-05-04 16:53:17 -0700
committerVictor Costan <pwnall@chromium.org>2019-05-04 16:53:17 -0700
commit9a56c49ed415df1b72ba1c84c8e7ed00de497f68 (patch)
tree295fe0ff4d9a9afecae5543adeea9df64207593d /db
parentabf441b657c7e75091e2bd59449df6849358b812 (diff)
parentd3d1c8a0f40a7eaa12a5bb702fa01786b7c3a646 (diff)
downloadleveldb-9a56c49ed415df1b72ba1c84c8e7ed00de497f68.tar.gz
Merge pull request #679 from smartxworks:optimize-readseq
PiperOrigin-RevId: 246668103
Diffstat (limited to 'db')
-rw-r--r--db/db_iter.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/db/db_iter.cc b/db/db_iter.cc
index 8ff288e..6e52550 100644
--- a/db/db_iter.cc
+++ b/db/db_iter.cc
@@ -160,6 +160,15 @@ void DBIter::Next() {
} else {
// Store in saved_key_ the current key so we skip it below.
SaveKey(ExtractUserKey(iter_->key()), &saved_key_);
+
+ // iter_ is pointing to current key. We can now safely move to the next to
+ // avoid checking current key.
+ iter_->Next();
+ if (!iter_->Valid()) {
+ valid_ = false;
+ saved_key_.clear();
+ return;
+ }
}
FindNextUserEntry(true, &saved_key_);