Skip to main content

VirtualTable

Trait VirtualTable 

Source
pub trait VirtualTable: Send + Sync {
    // Required methods
    fn schema(&self) -> &VirtualTableSchema;
    fn scan(
        &self,
        columns: &[String],
        filter: Option<&VirtualFilter>,
        limit: Option<usize>,
        offset: Option<usize>,
    ) -> Result<Vec<VirtualRow>, VirtualTableError>;

    // Provided methods
    fn get(
        &self,
        key: &SochValue,
    ) -> Result<Option<VirtualRow>, VirtualTableError> { ... }
    fn stats(&self) -> VirtualTableStats { ... }
    fn refresh(&self) -> Result<(), VirtualTableError> { ... }
}
Expand description

Virtual table trait

Plugins implement this trait to expose queryable tables.

Required Methods§

Source

fn schema(&self) -> &VirtualTableSchema

Get table schema

Source

fn scan( &self, columns: &[String], filter: Option<&VirtualFilter>, limit: Option<usize>, offset: Option<usize>, ) -> Result<Vec<VirtualRow>, VirtualTableError>

Scan with optional filter

Provided Methods§

Source

fn get(&self, key: &SochValue) -> Result<Option<VirtualRow>, VirtualTableError>

Point lookup by primary key

Source

fn stats(&self) -> VirtualTableStats

Get statistics for query planning

Source

fn refresh(&self) -> Result<(), VirtualTableError>

Refresh cached data (if applicable)

Implementors§