Skip to content

Commit fdc41ad

Browse files
authored
Merge pull request #9156 from drmingdrmer/30-upgrade-xor
refactor(storage): upgrade xorfilter
2 parents 4256ed2 + 7c34a3f commit fdc41ad

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/query/storages/index/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ common-storages-table-meta = { path = "../table-meta" }
2525

2626
xorfilter-rs = { git = "https://github.com/datafuse-extras/xorfilter", features = [
2727
"cbordata",
28-
], tag = "databend-alpha.1" }
28+
], tag = "databend-alpha.4" }
2929

3030
anyerror = { workspace = true }
3131
cbordata = { version = "0.6.0" }

src/query/storages/index/src/filters/xor8.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ use crate::SupportedType;
3434
///
3535
/// When a filter is built, the source key set should be updated(by calling `add_keys()`), although Xor8 itself allows.
3636
pub struct Xor8Builder {
37-
filter: Xor8,
37+
builder: xorfilter::Xor8Builder,
3838
}
3939

4040
pub struct Xor8Filter {
@@ -61,27 +61,27 @@ impl FilterBuilder for Xor8Builder {
6161
type Error = Xor8BuildingError;
6262

6363
fn add_key<K: Hash>(&mut self, key: &K) {
64-
self.filter.insert(key)
64+
self.builder.insert(key)
6565
}
6666

6767
fn add_keys<K: Hash>(&mut self, keys: &[K]) {
68-
self.filter.populate(keys)
68+
self.builder.populate(keys)
6969
}
7070

7171
fn build(mut self) -> Result<Self::Filter, Self::Error> {
72-
self.filter
72+
let f = self
73+
.builder
7374
.build()
7475
.map_err(|e| Xor8BuildingError::new(&e))?;
75-
Ok(Xor8Filter {
76-
filter: self.filter,
77-
})
76+
77+
Ok(Xor8Filter { filter: f })
7878
}
7979
}
8080

8181
impl Xor8Builder {
8282
pub fn create() -> Self {
8383
Xor8Builder {
84-
filter: Xor8::default(),
84+
builder: xorfilter::Xor8Builder::default(),
8585
}
8686
}
8787
}

0 commit comments

Comments
 (0)