Skip to main content

ColumnStore

Trait ColumnStore 

Source
pub trait ColumnStore:
    Send
    + Sync
    + Clone
    + 'static {
    // Required methods
    fn insert(
        &self,
        version: CommitVersion,
        columns: Vec<CompressedColumn>,
    ) -> Result<()>;
    fn scan(
        &self,
        version: CommitVersion,
        column_indices: &[usize],
    ) -> Result<Vec<ColumnData>>;
    fn statistics(&self, column_index: usize) -> Option<ColumnStatistics>;
    fn partition_count(&self) -> usize;
    fn compressed_size(&self) -> usize;
    fn uncompressed_size(&self) -> usize;
}
Expand description

Trait for columnar storage backends

Required Methods§

Source

fn insert( &self, version: CommitVersion, columns: Vec<CompressedColumn>, ) -> Result<()>

Source

fn scan( &self, version: CommitVersion, column_indices: &[usize], ) -> Result<Vec<ColumnData>>

Source

fn statistics(&self, column_index: usize) -> Option<ColumnStatistics>

Source

fn partition_count(&self) -> usize

Source

fn compressed_size(&self) -> usize

Source

fn uncompressed_size(&self) -> usize

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§