diff --git a/store/src/lmdb.rs b/store/src/lmdb.rs index 6e3196a4..f0b63aff 100644 --- a/store/src/lmdb.rs +++ b/store/src/lmdb.rs @@ -815,15 +815,20 @@ where read: RoTxn<'static, WithoutTls>, deserialize: F, ) -> DatabaseIterator { - let total_keys = db.iter(&read).unwrap().count(); - let keys = if let Ok(iter) = db.iter(&read) { - iter.move_between_keys() - .take(10000) - .filter(|kv| kv.is_ok()) - .map(|kv| kv.unwrap().0.to_vec()) - .collect::>>() + let (keys, total_keys) = if let Ok(iter) = db.iter(&read) { + let total = iter.move_between_keys().count(); + let keys = if let Ok(iter) = db.iter(&read) { + iter.move_between_keys() + .take(10000) + .filter(|kv| kv.is_ok()) + .map(|kv| kv.unwrap().0.to_vec()) + .collect::>>() + } else { + vec![] + }; + (keys, total) } else { - vec![] + (vec![], 0) }; DatabaseIterator { db,