pub trait TableReader: Send + Sync {
    // Required methods
    fn get_table_version<'life0, 'life1, 'async_trait>(
        &'life0 self,
        storage_path: &'life1 str,
        version: Version
    ) -> Pin<Box<dyn Future<Output = Result<TableVersionNumber, TableReaderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_table_metadata<'life0, 'life1, 'async_trait>(
        &'life0 self,
        storage_path: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<TableMetadata, TableReaderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_table_data<'life0, 'life1, 'async_trait>(
        &'life0 self,
        storage_path: &'life1 str,
        version: u64,
        limit: Option<u64>,
        predicates: Option<String>
    ) -> Pin<Box<dyn Future<Output = Result<UnsignedTableData, TableReaderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_table_changes<'life0, 'life1, 'async_trait>(
        &'life0 self,
        storage_path: &'life1 str,
        range: VersionRange
    ) -> Pin<Box<dyn Future<Output = Result<UnsignedTableData, TableReaderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Trait for reading a specific table format from cloud storage.

Required Methods§

source

fn get_table_version<'life0, 'life1, 'async_trait>( &'life0 self, storage_path: &'life1 str, version: Version ) -> Pin<Box<dyn Future<Output = Result<TableVersionNumber, TableReaderError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Retrieve the table version number that corresponds to the version request.

source

fn get_table_metadata<'life0, 'life1, 'async_trait>( &'life0 self, storage_path: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<TableMetadata, TableReaderError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Retrieve the table metadata corresponding to the latest table version.

source

fn get_table_data<'life0, 'life1, 'async_trait>( &'life0 self, storage_path: &'life1 str, version: u64, limit: Option<u64>, predicates: Option<String> ) -> Pin<Box<dyn Future<Output = Result<UnsignedTableData, TableReaderError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Retrieve the table data for a specific table version.

The table data is represented by a collection of files which can be directly reached with a presigned HTTPS url. The limit and predicate argument can be used to restrict the returned data files on a best effort basis.

source

fn get_table_changes<'life0, 'life1, 'async_trait>( &'life0 self, storage_path: &'life1 str, range: VersionRange ) -> Pin<Box<dyn Future<Output = Result<UnsignedTableData, TableReaderError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Retrieve the table change data for a specific range of table versions.

The table changes are represented by a collection of files which can be directly reached with presigned HTTPS urls.

Implementors§