Skip to content

Commit c487aad

Browse files
dharanadalamb
authored andcommitted
Register SQL planners in SessionState constructor (apache#11253)
* Register SQL planners in SessionState constructor * update map capacity with user_defined_sql_planners ref count * formatting * undo last --------- Co-authored-by: Andrew Lamb <[email protected]>
1 parent 70d5952 commit c487aad

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

datafusion/core/src/execution/session_state.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -231,10 +231,31 @@ impl SessionState {
231231
);
232232
}
233233

234+
let mut user_defined_sql_planners = vec![];
235+
236+
// register crate of array expressions (if enabled)
237+
#[cfg(feature = "array_expressions")]
238+
{
239+
let array_planner =
240+
Arc::new(functions_array::planner::ArrayFunctionPlanner) as _;
241+
242+
let field_access_planner =
243+
Arc::new(functions_array::planner::FieldAccessPlanner) as _;
244+
245+
user_defined_sql_planners.extend(vec![array_planner, field_access_planner]);
246+
}
247+
#[cfg(feature = "datetime_expressions")]
248+
{
249+
let extract_planner =
250+
Arc::new(functions::datetime::planner::ExtractPlanner::default()) as _;
251+
252+
user_defined_sql_planners.push(extract_planner);
253+
}
254+
234255
let mut new_self = SessionState {
235256
session_id,
236257
analyzer: Analyzer::new(),
237-
user_defined_sql_planners: vec![],
258+
user_defined_sql_planners,
238259
optimizer: Optimizer::new(),
239260
physical_optimizers: PhysicalOptimizer::new(),
240261
query_planner: Arc::new(DefaultQueryPlanner {}),
@@ -958,27 +979,6 @@ impl SessionState {
958979
query = query.with_user_defined_planner(planner.clone());
959980
}
960981

961-
// register crate of array expressions (if enabled)
962-
#[cfg(feature = "array_expressions")]
963-
{
964-
let array_planner =
965-
Arc::new(functions_array::planner::ArrayFunctionPlanner) as _;
966-
967-
let field_access_planner =
968-
Arc::new(functions_array::planner::FieldAccessPlanner) as _;
969-
970-
query = query
971-
.with_user_defined_planner(array_planner)
972-
.with_user_defined_planner(field_access_planner);
973-
}
974-
#[cfg(feature = "datetime_expressions")]
975-
{
976-
let extract_planner =
977-
Arc::new(functions::datetime::planner::ExtractPlanner::default()) as _;
978-
979-
query = query.with_user_defined_planner(extract_planner);
980-
}
981-
982982
query
983983
}
984984
}

0 commit comments

Comments
 (0)