cloud-fan commented on code in PR #49445: URL: https://github.com/apache/spark/pull/49445#discussion_r1923910719
########## sql/catalyst/src/main/scala/org/apache/spark/sql/connector/catalog/CatalogManager.scala: ########## @@ -49,6 +49,18 @@ class CatalogManager( // TODO: create a real SYSTEM catalog to host `TempVariableManager` under the SESSION namespace. val tempVariableManager: TempVariableManager = new TempVariableManager + // This field will be populated and cleaned up by SqlScriptingExecution. + private val sqlScriptingLocalVariableManager: InheritableThreadLocal[Option[VariableManager]] = Review Comment: oh `AnalysisContext` is not the right choice as we need to keep the states across multiple query statements: A script contains many statements and the life cycle of local variables is bound to the script. How about we add a new thread-local `ScriptingContext` to host script-related states? I think script has a new life cycle which is longer than a single statement but shorter than a session, so we need a new context for it. -- 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: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org