Trait SubstraitPlanningState
pub trait SubstraitPlanningState:
Sync
+ Send
+ FunctionRegistry {
// Required methods
fn serializer_registry(&self) -> &Arc<dyn SerializerRegistry>;
fn table<'life0, 'life1, 'async_trait>(
&'life0 self,
reference: &'life1 TableReference,
) -> Pin<Box<dyn Future<Output = Result<Option<Arc<dyn TableProvider>>, DataFusionError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
}
Expand description
This trait provides the context needed to transform a substrait plan into a
[datafusion::logical_expr::LogicalPlan
] (via super::consumer::from_substrait_plan
)
and back again into a substrait plan (via super::producer::to_substrait_plan
).
The context is declared as a trait to decouple the substrait plan encoder /
decoder from the [SessionState
], potentially allowing users to define
their own slimmer context just for serializing and deserializing substrait.
[SessionState
] implements this trait.
Required Methods§
fn serializer_registry(&self) -> &Arc<dyn SerializerRegistry>
fn serializer_registry(&self) -> &Arc<dyn SerializerRegistry>
Return SerializerRegistry for extensions