From e9e38bd88c39a71a81a68a6959df840c4469925a Mon Sep 17 00:00:00 2001 From: ardocrat Date: Mon, 25 May 2026 17:27:12 +0300 Subject: [PATCH] fix: move iterator before handling an error to allow skip bad value --- store/src/lmdb.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/store/src/lmdb.rs b/store/src/lmdb.rs index ee4c977f..f213e0ac 100644 --- a/store/src/lmdb.rs +++ b/store/src/lmdb.rs @@ -811,15 +811,13 @@ where fn next(&mut self) -> Option { if let Some(k) = self.keys.iter().skip(self.skip_cur).next() { + self.skip_total += 1; + self.skip_cur += 1; match self.db.get(&self.read, k) { Ok(v) => { if let Some(v) = v { return match (self.deserialize)(k, v) { - Ok(v) => { - self.skip_total += 1; - self.skip_cur += 1; - Some(Ok(v)) - } + Ok(v) => Some(Ok(v)), Err(e) => { error!("db iter: error deserializing: {}", e); Some(Err(Error::from(e)))