summaryrefslogtreecommitdiff
path: root/src/database/key_value/rooms/search.rs
diff options
context:
space:
mode:
authorTimo Kösters <timo@koesters.xyz>2022-10-05 20:33:55 +0200
committerNyaaori <+@nyaaori.cat>2022-10-10 14:02:01 +0200
commit33a2b2b7729bb40253fd174d99ad773869b5ecfe (patch)
treeebd0e70da4680452cd30940a64064f8708d0b432 /src/database/key_value/rooms/search.rs
parent44fe6d1554eaa0a15314686974ab01f48c836588 (diff)
downloadconduit-33a2b2b7729bb40253fd174d99ad773869b5ecfe.zip
37 errors left
Diffstat (limited to 'src/database/key_value/rooms/search.rs')
-rw-r--r--src/database/key_value/rooms/search.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/database/key_value/rooms/search.rs b/src/database/key_value/rooms/search.rs
index dfbdbc6..41df544 100644
--- a/src/database/key_value/rooms/search.rs
+++ b/src/database/key_value/rooms/search.rs
@@ -54,19 +54,20 @@ impl service::rooms::search::Data for KeyValueDatabase {
.map(|(key, _)| key[key.len() - size_of::<u64>()..].to_vec())
});
- Ok(utils::common_elements(iterators, |a, b| {
+ let common_elements = match utils::common_elements(iterators, |a, b| {
// We compare b with a because we reversed the iterator earlier
b.cmp(a)
- })
- .map(|iter| {
- (
- Box::new(iter.map(move |id| {
+ }) {
+ Some(it) => it,
+ None => return Ok(None),
+ };
+
+ let mapped = common_elements.map(move |id| {
let mut pduid = prefix_clone.clone();
pduid.extend_from_slice(&id);
pduid
- })),
- words,
- )
- }))
+ });
+
+ Ok(Some((Box::new(mapped), words)))
}
}