cloud-fan commented on code in PR #49445: URL: https://github.com/apache/spark/pull/49445#discussion_r1931437532
########## sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveCatalogs.scala: ########## @@ -34,11 +37,29 @@ class ResolveCatalogs(val catalogManager: CatalogManager) override def apply(plan: LogicalPlan): LogicalPlan = plan resolveOperatorsDown { // We only support temp variables for now and the system catalog is not properly implemented // yet. We need to resolve `UnresolvedIdentifier` for variable commands specially. - case c @ CreateVariable(UnresolvedIdentifier(nameParts, _), _, _) => - val resolved = resolveVariableName(nameParts) - c.copy(name = resolved) + case c @ CreateVariable(UnresolvedIdentifier(nameParts, _), _, _, _) => + // From scripts we can only create local variables, which must be unqualified, + // and must not be DECLARE OR REPLACE. + if (SqlScriptingLocalVariableManager.get().isDefined) { + // TODO [SPARK-50785]: Uncomment this when For Statement starts properly using local vars. +// if (c.replace) { +// throw new AnalysisException( +// "INVALID_VARIABLE_DECLARATION.REPLACE_LOCAL_VARIABLE", +// Map("varName" -> toSQLId(nameParts)) +// ) +// } + + if (nameParts.length != 1) { Review Comment: what if this `CreateVariable` is inside EXECUTE IMMEDIATE? -- 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