lance_encoding/encodings/physical/
constant.rs1use crate::{
7 buffer::LanceBuffer,
8 compression::BlockDecompressor,
9 data::{ConstantDataBlock, DataBlock},
10};
11
12use lance_core::Result;
13
14#[derive(Debug)]
16pub struct ConstantDecompressor {
17 scalar: LanceBuffer,
18}
19
20impl ConstantDecompressor {
21 pub fn new(scalar: LanceBuffer) -> Self {
22 Self { scalar }
23 }
24}
25
26impl BlockDecompressor for ConstantDecompressor {
27 fn decompress(&self, _data: LanceBuffer, num_values: u64) -> Result<DataBlock> {
28 Ok(DataBlock::Constant(ConstantDataBlock {
29 data: self.scalar.clone(),
30 num_values,
31 }))
32 }
33}