Weijun-H commented on code in PR #18017:
URL: https://github.com/apache/datafusion/pull/18017#discussion_r2427108577


##########
datafusion/core/src/execution/context/mod.rs:
##########
@@ -1073,6 +1075,18 @@ impl SessionContext {
             let mut state = self.state.write();
             state.config_mut().options_mut().set(&variable, &value)?;
             drop(state);
+
+            // Register UDFs that return values based on session configuration
+            // e.g. now() which depends on the time_zone configuration option
+            if variable == "datafusion.execution.time_zone" {
+                let config_options = 
self.state.read().config().options().clone();
+                let now_udf = {
+                    // recreate the function so it captures the new time zone
+                    make_udf_function_with_config!(NowFunc, now, 
&ConfigOptions);
+                    now(&config_options)
+                };
+                self.state.write().register_udf(now_udf)?;
+            }

Review Comment:
   We could refactor this logic after these issue resolved:
   - https://github.com/apache/datafusion/issues/17995
   - https://github.com/apache/datafusion/issues/17998
   - https://github.com/apache/datafusion/issues/17995



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to