polars_lazy::prelude

Trait AnonymousScan

pub trait AnonymousScan: Send + Sync {
    // Required methods
    fn as_any(&self) -> &(dyn Any + 'static);
    fn scan(
        &self,
        scan_opts: AnonymousScanArgs,
    ) -> Result<DataFrame, PolarsError>;

    // Provided methods
    fn next_batch(
        &self,
        scan_opts: AnonymousScanArgs,
    ) -> Result<Option<DataFrame>, PolarsError> { ... }
    fn schema(
        &self,
        _infer_schema_length: Option<usize>,
    ) -> Result<Arc<Schema<DataType>>, PolarsError> { ... }
    fn allows_predicate_pushdown(&self) -> bool { ... }
    fn allows_projection_pushdown(&self) -> bool { ... }
    fn allows_slice_pushdown(&self) -> bool { ... }
}

Required Methods§

fn as_any(&self) -> &(dyn Any + 'static)

fn scan(&self, scan_opts: AnonymousScanArgs) -> Result<DataFrame, PolarsError>

Creates a DataFrame from the supplied function & scan options.

Provided Methods§

fn next_batch( &self, scan_opts: AnonymousScanArgs, ) -> Result<Option<DataFrame>, PolarsError>

Produce the next batch Polars can consume. Implement this method to get proper streaming support.

fn schema( &self, _infer_schema_length: Option<usize>, ) -> Result<Arc<Schema<DataType>>, PolarsError>

function to supply the schema. Allows for an optional infer schema argument for data sources with dynamic schemas

fn allows_predicate_pushdown(&self) -> bool

Specify if the scan provider should allow predicate pushdowns.

Defaults to false

fn allows_projection_pushdown(&self) -> bool

Specify if the scan provider should allow projection pushdowns.

Defaults to false

fn allows_slice_pushdown(&self) -> bool

Specify if the scan provider should allow slice pushdowns.

Defaults to false

Trait Implementations§

§

impl Debug for dyn AnonymousScan

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Implementors§