diff options
author | Victor Costan <pwnall@chromium.org> | 2019-05-04 16:53:17 -0700 |
---|---|---|
committer | Victor Costan <pwnall@chromium.org> | 2019-05-04 16:53:17 -0700 |
commit | 9a56c49ed415df1b72ba1c84c8e7ed00de497f68 (patch) | |
tree | 295fe0ff4d9a9afecae5543adeea9df64207593d /db | |
parent | abf441b657c7e75091e2bd59449df6849358b812 (diff) | |
parent | d3d1c8a0f40a7eaa12a5bb702fa01786b7c3a646 (diff) | |
download | leveldb-9a56c49ed415df1b72ba1c84c8e7ed00de497f68.tar.gz |
Merge pull request #679 from smartxworks:optimize-readseq
PiperOrigin-RevId: 246668103
Diffstat (limited to 'db')
-rw-r--r-- | db/db_iter.cc | 9 |
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_); |