cloud-fan commented on code in PR #58606:
URL: https://github.com/apache/spark/pull/58606#discussion_r4000507758
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveIdentifierClause.scala:
##########
@@ -54,13 +56,36 @@ class ResolveIdentifierClause(earlyBatches:
Seq[RuleExecutor[LogicalPlan]#Batch]
}
createView.copy(child = analyzedChild, query = analyzedQuery)
}
+ // Same as [[CreateView]]: only the query body's IDENTIFIER-clause
variables are dependencies
+ // of the view definition, so resolve the ALTER target without
recording. Recording a variable
+ // used only to compute the target would, for a persisted view, be
rejected by
+ // `verifyTemporaryObjectsNotExists`, and for a temporary view (which
skips that validator) be
+ // persisted as a spurious dependency that breaks later reads.
Review Comment:
Thanks for rewording this. A few narrower overstatements remain: the
legacy-enabled persisted paths discard rather than validate or persist the
captured set, and ordinary CREATE can reject in ResolveIdentifierClause before
verifyTemporaryObjectsNotExists. Could you qualify those comments as well?
<!-- SPARK_DEV_REVIEW_REPLY
{"feedback_id":"inline:3999372805","thread_id":"inline:3999372805","verdict_sha256":"621d081f741b0dcc4900b398892280681caa77ccb57db06fb0b7d2a6dc80e430"}
-->
--
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]