pub trait ProjectionStreamHandler {
// Required methods
fn project_stream(
&mut self,
stream: SchemaValueStream,
item_plan: Option<ProjectionPlan>,
) -> Result<SchemaValueStream, String>;
fn discard_stream(&mut self, stream: SchemaValueStream);
}Expand description
Runtime-independent hooks needed while applying a projection. Streams are
affine, so the evaluator transfers each retained stream to project_stream
and every stream below a discarded value to discard_stream. On error,
project_stream must dispose the stream it consumed.
Required Methods§
fn project_stream( &mut self, stream: SchemaValueStream, item_plan: Option<ProjectionPlan>, ) -> Result<SchemaValueStream, String>
fn discard_stream(&mut self, stream: SchemaValueStream)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".