reifydb_core/value/column/
compressed.rs1#[derive(Clone, Debug, PartialEq)]
5pub enum CompressionType {
6 None,
7 Dictionary,
8 Delta,
9 RunLength,
10 BitPacking,
11}
12
13#[derive(Clone, Debug)]
14pub struct CompressedColumn {
15 pub data: Vec<u8>,
16 pub compression: CompressionType,
17 pub uncompressed_size: usize,
18 pub undefined_count: usize,
19 pub row_count: usize,
20}
21
22impl CompressedColumn {
23 pub fn compression_ratio(&self) -> f64 {
24 if self.uncompressed_size == 0 {
25 1.0
26 } else {
27 self.data.len() as f64 / self.uncompressed_size as f64
28 }
29 }
30}