pub trait Engine: AsAny {
// Required methods
fn evaluation_handler(&self) -> Arc<dyn EvaluationHandler> ⓘ;
fn storage_handler(&self) -> Arc<dyn StorageHandler> ⓘ;
fn json_handler(&self) -> Arc<dyn JsonHandler> ⓘ;
fn parquet_handler(&self) -> Arc<dyn ParquetHandler> ⓘ;
// Provided method
fn plan_executor(&self) -> Arc<dyn PlanExecutor> ⓘ { ... }
}Expand description
The Engine trait encapsulates all the functionality an engine or connector needs to provide
to the Delta Kernel in order to read the Delta table.
Engines/Connectors are expected to pass an implementation of this trait when reading a Delta table.
Required Methods§
Sourcefn evaluation_handler(&self) -> Arc<dyn EvaluationHandler> ⓘ
fn evaluation_handler(&self) -> Arc<dyn EvaluationHandler> ⓘ
Get the connector provided EvaluationHandler.
Sourcefn storage_handler(&self) -> Arc<dyn StorageHandler> ⓘ
fn storage_handler(&self) -> Arc<dyn StorageHandler> ⓘ
Get the connector provided StorageHandler
Sourcefn json_handler(&self) -> Arc<dyn JsonHandler> ⓘ
fn json_handler(&self) -> Arc<dyn JsonHandler> ⓘ
Get the connector provided JsonHandler.
Sourcefn parquet_handler(&self) -> Arc<dyn ParquetHandler> ⓘ
fn parquet_handler(&self) -> Arc<dyn ParquetHandler> ⓘ
Get the connector provided ParquetHandler.
Provided Methods§
Sourcefn plan_executor(&self) -> Arc<dyn PlanExecutor> ⓘ
Available on crate feature declarative-plans only.
fn plan_executor(&self) -> Arc<dyn PlanExecutor> ⓘ
declarative-plans only.Get the connector provided PlanExecutor.
The default implementation returns a trivial executor that errors on every operation.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl Engine for MeteredDeltaEngine
impl Engine for PlanBasedEngine
Available on crate feature
declarative-plans and crate feature default-engine-base and (crate features arrow-conversion or declarative-plans or default-engine-base) only.