datafusion_distributed/distributed_planner/
session_state_builder_ext.rs1use crate::distributed_planner::distributed_query_planner::DistributedQueryPlanner;
2use datafusion::execution::SessionStateBuilder;
3use std::sync::Arc;
4
5pub trait SessionStateBuilderExt {
7 fn with_distributed_planner(self) -> Self;
15}
16
17impl SessionStateBuilderExt for SessionStateBuilder {
18 fn with_distributed_planner(mut self) -> Self {
19 self.config()
20 .get_or_insert_default()
21 .options_mut()
22 .optimizer
23 .enable_physical_uncorrelated_scalar_subquery = false;
24
25 let prev = std::mem::take(self.query_planner());
26 self.with_query_planner(Arc::new(DistributedQueryPlanner { prev }))
27 }
28}