mirror of https://github.com/spacejam/sled
Merge branch 'main' into tyler_simplify_before_rewrite
This commit is contained in:
commit
b19e34db30
|
@ -9,7 +9,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/sponsors/spacejam">buy a coffee for us to convert into databases</a></td>
|
<td><a href="https://github.com/sponsors/spacejam">buy a coffee for us to convert into databases</a></td>
|
||||||
<td><a href="https://github.com/sponsors/spacejam"><img src="https://img.shields.io/opencollective/backers/sled"></a></td>
|
<td><a href="https://github.com/sponsors/spacejam"><img src="https://img.shields.io/github/sponsors/spacejam"></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://docs.rs/sled">documentation</a></td>
|
<td><a href="https://docs.rs/sled">documentation</a></td>
|
||||||
|
|
28
src/node.rs
28
src/node.rs
|
@ -412,10 +412,9 @@ impl<'a> Iterator for Iter<'a> {
|
||||||
(Some((_, Some(_))), None) => {
|
(Some((_, Some(_))), None) => {
|
||||||
log::trace!("src/node.rs:114");
|
log::trace!("src/node.rs:114");
|
||||||
log::trace!("iterator returning {:?}", self.next_a);
|
log::trace!("iterator returning {:?}", self.next_a);
|
||||||
return self
|
return self.next_a.take().map(|(k, v)| {
|
||||||
.next_a
|
(KeyRef::Slice(k), v.unwrap().as_ref())
|
||||||
.take()
|
});
|
||||||
.map(|(k, v)| (KeyRef::Slice(k), v.unwrap().as_ref()));
|
|
||||||
}
|
}
|
||||||
(Some((k_a, v_a_opt)), Some((k_b, _))) => {
|
(Some((k_a, v_a_opt)), Some((k_b, _))) => {
|
||||||
let cmp = KeyRef::Slice(k_a).cmp(&k_b);
|
let cmp = KeyRef::Slice(k_a).cmp(&k_b);
|
||||||
|
@ -512,10 +511,9 @@ impl<'a> DoubleEndedIterator for Iter<'a> {
|
||||||
(Some((_, Some(_))), None) => {
|
(Some((_, Some(_))), None) => {
|
||||||
log::trace!("src/node.rs:483");
|
log::trace!("src/node.rs:483");
|
||||||
log::trace!("iterator returning {:?}", self.next_back_a);
|
log::trace!("iterator returning {:?}", self.next_back_a);
|
||||||
return self
|
return self.next_back_a.take().map(|(k, v)| {
|
||||||
.next_back_a
|
(KeyRef::Slice(k), v.unwrap().as_ref())
|
||||||
.take()
|
});
|
||||||
.map(|(k, v)| (KeyRef::Slice(k), v.unwrap().as_ref()));
|
|
||||||
}
|
}
|
||||||
(Some((k_a, Some(_))), Some((k_b, _))) if k_b > *k_a => {
|
(Some((k_a, Some(_))), Some((k_b, _))) if k_b > *k_a => {
|
||||||
log::trace!("src/node.rs:508");
|
log::trace!("src/node.rs:508");
|
||||||
|
@ -524,20 +522,18 @@ impl<'a> DoubleEndedIterator for Iter<'a> {
|
||||||
}
|
}
|
||||||
(Some((k_a, Some(_))), Some((k_b, _))) if k_b < *k_a => {
|
(Some((k_a, Some(_))), Some((k_b, _))) if k_b < *k_a => {
|
||||||
log::trace!("iterator returning {:?}", self.next_back_a);
|
log::trace!("iterator returning {:?}", self.next_back_a);
|
||||||
return self
|
return self.next_back_a.take().map(|(k, v)| {
|
||||||
.next_back_a
|
(KeyRef::Slice(k), v.unwrap().as_ref())
|
||||||
.take()
|
});
|
||||||
.map(|(k, v)| (KeyRef::Slice(k), v.unwrap().as_ref()));
|
|
||||||
}
|
}
|
||||||
(Some((k_a, Some(_))), Some((k_b, _))) if k_b == *k_a => {
|
(Some((k_a, Some(_))), Some((k_b, _))) if k_b == *k_a => {
|
||||||
// prefer overlay, discard node value
|
// prefer overlay, discard node value
|
||||||
self.next_back_b.take();
|
self.next_back_b.take();
|
||||||
log::trace!("src/node.rs:520");
|
log::trace!("src/node.rs:520");
|
||||||
log::trace!("iterator returning {:?}", self.next_back_a);
|
log::trace!("iterator returning {:?}", self.next_back_a);
|
||||||
return self
|
return self.next_back_a.take().map(|(k, v)| {
|
||||||
.next_back_a
|
(KeyRef::Slice(k), v.unwrap().as_ref())
|
||||||
.take()
|
});
|
||||||
.map(|(k, v)| (KeyRef::Slice(k), v.unwrap().as_ref()));
|
|
||||||
}
|
}
|
||||||
_ => unreachable!(
|
_ => unreachable!(
|
||||||
"did not expect combination a: {:?} b: {:?}",
|
"did not expect combination a: {:?} b: {:?}",
|
||||||
|
|
Loading…
Reference in New Issue