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

Reply via email to