pub trait SessionConfigurator:
Send
+ Sync
+ Debug {
// Required method
fn configure<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 SessionContext,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
}Expand description
Trait for configuring a SessionContext with additional tables and settings
This trait allows users to extend the default session context with custom tables, configuration, or other DataFusion resources. Implementations can register JSON files, CSV files, in-memory tables, or any DataFusion TableProvider.
§Example
use anyhow::Result;
use datafusion::execution::context::SessionContext;
use micromegas_analytics::lakehouse::session_configurator::SessionConfigurator;
#[derive(Debug)]
struct MyConfigurator;
#[async_trait::async_trait]
impl SessionConfigurator for MyConfigurator {
async fn configure(&self, ctx: &SessionContext) -> Result<()> {
// Register custom tables or configure session settings
Ok(())
}
}