Trait datafusion::datasource::datasource::TableProvider[][src]

pub trait TableProvider: Sync + Send {
    fn as_any(&self) -> &dyn Any;
fn schema(&self) -> SchemaRef;
fn scan<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        projection: &'life1 Option<Vec<usize>>,
        batch_size: usize,
        filters: &'life2 [Expr],
        limit: Option<usize>
    ) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn table_type(&self) -> TableType { ... }
fn supports_filter_pushdown(
        &self,
        _filter: &Expr
    ) -> Result<TableProviderFilterPushDown> { ... } }
Expand description

Source table

Required methods

Returns the table provider as Any so that it can be downcast to a specific implementation.

Get a reference to the schema for this table

Create an ExecutionPlan that will scan the table. The table provider will be usually responsible of grouping the source data into partitions that can be efficiently parallelized or distributed.

Provided methods

Get the type of this table for metadata/catalog purposes.

Tests whether the table provider can make use of a filter expression to optimise data retrieval.

Implementors