diff --git a/src/mito-codec/benches/bench_sparse_encoding.rs b/src/mito-codec/benches/bench_sparse_encoding.rs index b9dc7f3fa2..9841f55266 100644 --- a/src/mito-codec/benches/bench_sparse_encoding.rs +++ b/src/mito-codec/benches/bench_sparse_encoding.rs @@ -72,7 +72,7 @@ fn encode_sparse(c: &mut Criterion) { .unwrap(); codec .encode_raw_tag_value( - tags.iter().map(|(c, b)| (*c, b)), + tags.iter().map(|(c, b)| (*c, &b[..])), &mut buffer_by_raw_encoding, ) .unwrap(); diff --git a/src/mito-codec/src/row_converter/sparse.rs b/src/mito-codec/src/row_converter/sparse.rs index 114e56b92e..5b65ba2ca8 100644 --- a/src/mito-codec/src/row_converter/sparse.rs +++ b/src/mito-codec/src/row_converter/sparse.rs @@ -15,7 +15,7 @@ use std::collections::{HashMap, HashSet}; use std::sync::Arc; -use bytes::{BufMut, Bytes}; +use bytes::BufMut; use common_recordbatch::filter::SimpleFilterEvaluator; use datatypes::prelude::ConcreteDataType; use datatypes::value::{Value, ValueRef}; @@ -179,7 +179,7 @@ impl SparsePrimaryKeyCodec { pub fn encode_raw_tag_value<'a, I>(&self, row: I, buffer: &mut Vec) -> Result<()> where - I: Iterator, + I: Iterator, { for (tag_column_id, tag_value) in row { let value_len = tag_value.len(); @@ -568,11 +568,11 @@ mod tests { .unwrap(); let tags: Vec<_> = tags .into_iter() - .map(|(col_id, tag_value)| (col_id, Bytes::from_static(tag_value.as_bytes()))) + .map(|(col_id, tag_value)| (col_id, tag_value.as_bytes())) .collect(); codec .encode_raw_tag_value( - tags.iter().map(|(c, b)| (*c, b)), + tags.iter().map(|(c, b)| (*c, *b)), &mut buffer_by_raw_encoding, ) .unwrap(); diff --git a/src/servers/src/repeated_field.rs b/src/servers/src/repeated_field.rs index 6bc20b07c2..701ea19e05 100644 --- a/src/servers/src/repeated_field.rs +++ b/src/servers/src/repeated_field.rs @@ -38,6 +38,10 @@ pub trait Clear { fn clear(&mut self); } +impl Clear for &[u8] { + fn clear(&mut self) {} +} + impl Clear for Option { fn clear(&mut self) { self.take();