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)
Sourcefn scan(&self, scan_opts: AnonymousScanArgs) -> Result<DataFrame, PolarsError>
fn scan(&self, scan_opts: AnonymousScanArgs) -> Result<DataFrame, PolarsError>
Creates a DataFrame from the supplied function & scan options.
Provided Methods§
Sourcefn next_batch(
&self,
scan_opts: AnonymousScanArgs,
) -> Result<Option<DataFrame>, PolarsError>
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.
Sourcefn schema(
&self,
_infer_schema_length: Option<usize>,
) -> Result<Arc<Schema<DataType>>, PolarsError>
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
Sourcefn allows_predicate_pushdown(&self) -> bool
fn allows_predicate_pushdown(&self) -> bool
Specify if the scan provider should allow predicate pushdowns.
Defaults to false
Sourcefn allows_projection_pushdown(&self) -> bool
fn allows_projection_pushdown(&self) -> bool
Specify if the scan provider should allow projection pushdowns.
Defaults to false
Sourcefn allows_slice_pushdown(&self) -> bool
fn allows_slice_pushdown(&self) -> bool
Specify if the scan provider should allow slice pushdowns.
Defaults to false