This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new ecc1c01f76 Register SQL planners in `SessionState` constructor (#11253)
ecc1c01f76 is described below
commit ecc1c01f76eb27ad8b7a44093f4ee7e9bdc9229d
Author: Dharan Aditya <[email protected]>
AuthorDate: Thu Jul 4 03:18:44 2024 +0530
Register SQL planners in `SessionState` constructor (#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]>
---
datafusion/core/src/execution/session_state.rs | 44 +++++++++++++-------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/datafusion/core/src/execution/session_state.rs
b/datafusion/core/src/execution/session_state.rs
index 084557d99e..8e8adc32ab 100644
--- a/datafusion/core/src/execution/session_state.rs
+++ b/datafusion/core/src/execution/session_state.rs
@@ -231,10 +231,31 @@ impl SessionState {
);
}
+ let mut user_defined_sql_planners = vec![];
+
+ // register crate of array expressions (if enabled)
+ #[cfg(feature = "array_expressions")]
+ {
+ let array_planner =
+ Arc::new(functions_array::planner::ArrayFunctionPlanner) as _;
+
+ let field_access_planner =
+ Arc::new(functions_array::planner::FieldAccessPlanner) as _;
+
+ user_defined_sql_planners.extend(vec![array_planner,
field_access_planner]);
+ }
+ #[cfg(feature = "datetime_expressions")]
+ {
+ let extract_planner =
+
Arc::new(functions::datetime::planner::ExtractPlanner::default()) as _;
+
+ user_defined_sql_planners.push(extract_planner);
+ }
+
let mut new_self = SessionState {
session_id,
analyzer: Analyzer::new(),
- user_defined_sql_planners: vec![],
+ user_defined_sql_planners,
optimizer: Optimizer::new(),
physical_optimizers: PhysicalOptimizer::new(),
query_planner: Arc::new(DefaultQueryPlanner {}),
@@ -958,27 +979,6 @@ impl SessionState {
query = query.with_user_defined_planner(planner.clone());
}
- // register crate of array expressions (if enabled)
- #[cfg(feature = "array_expressions")]
- {
- let array_planner =
- Arc::new(functions_array::planner::ArrayFunctionPlanner) as _;
-
- let field_access_planner =
- Arc::new(functions_array::planner::FieldAccessPlanner) as _;
-
- query = query
- .with_user_defined_planner(array_planner)
- .with_user_defined_planner(field_access_planner);
- }
- #[cfg(feature = "datetime_expressions")]
- {
- let extract_planner =
-
Arc::new(functions::datetime::planner::ExtractPlanner::default()) as _;
-
- query = query.with_user_defined_planner(extract_planner);
- }
-
query
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]