pub trait PhysicalTaskVisitor {
type Output;
type Error;
Show 14 methods
// Required methods
fn vector(&mut self, op: &VectorOp) -> Result<Self::Output, Self::Error>;
fn graph(&mut self, op: &GraphOp) -> Result<Self::Output, Self::Error>;
fn document(&mut self, op: &DocumentOp) -> Result<Self::Output, Self::Error>;
fn kv(&mut self, op: &KvOp) -> Result<Self::Output, Self::Error>;
fn text(&mut self, op: &TextOp) -> Result<Self::Output, Self::Error>;
fn columnar(&mut self, op: &ColumnarOp) -> Result<Self::Output, Self::Error>;
fn timeseries(
&mut self,
op: &TimeseriesOp,
) -> Result<Self::Output, Self::Error>;
fn spatial(&mut self, op: &SpatialOp) -> Result<Self::Output, Self::Error>;
fn crdt(&mut self, op: &CrdtOp) -> Result<Self::Output, Self::Error>;
fn query(&mut self, op: &QueryOp) -> Result<Self::Output, Self::Error>;
fn meta(&mut self, op: &MetaOp) -> Result<Self::Output, Self::Error>;
fn array(&mut self, op: &ArrayOp) -> Result<Self::Output, Self::Error>;
fn cluster_array(
&mut self,
op: &ClusterArrayOp,
) -> Result<Self::Output, Self::Error>;
fn cluster_event(
&mut self,
op: &ClusterEventOp,
) -> Result<Self::Output, Self::Error>;
}Expand description
Per-deployment executor for PhysicalPlan.
Implementations decide their own Output and Error. Origin’s Data
Plane handlers may return a row stream; Lite’s executor may return a
boxed future to a QueryResult. The trait stays sync — async backends
box their futures and resolve at the call site, mirroring the pattern
used by LiteVisitor for PlanVisitor.
Required Associated Types§
Required Methods§
fn vector(&mut self, op: &VectorOp) -> Result<Self::Output, Self::Error>
fn graph(&mut self, op: &GraphOp) -> Result<Self::Output, Self::Error>
fn document(&mut self, op: &DocumentOp) -> Result<Self::Output, Self::Error>
fn kv(&mut self, op: &KvOp) -> Result<Self::Output, Self::Error>
fn text(&mut self, op: &TextOp) -> Result<Self::Output, Self::Error>
fn columnar(&mut self, op: &ColumnarOp) -> Result<Self::Output, Self::Error>
fn timeseries(&mut self, op: &TimeseriesOp) -> Result<Self::Output, Self::Error>
fn spatial(&mut self, op: &SpatialOp) -> Result<Self::Output, Self::Error>
fn crdt(&mut self, op: &CrdtOp) -> Result<Self::Output, Self::Error>
fn query(&mut self, op: &QueryOp) -> Result<Self::Output, Self::Error>
fn meta(&mut self, op: &MetaOp) -> Result<Self::Output, Self::Error>
fn array(&mut self, op: &ArrayOp) -> Result<Self::Output, Self::Error>
fn cluster_array( &mut self, op: &ClusterArrayOp, ) -> Result<Self::Output, Self::Error>
fn cluster_event( &mut self, op: &ClusterEventOp, ) -> Result<Self::Output, Self::Error>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".