cloud-fan commented on code in PR #56575:
URL: https://github.com/apache/spark/pull/56575#discussion_r3498008852


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala:
##########
@@ -583,7 +583,9 @@ class Analyzer(
       Seq(ResolveUpdateEventTimeWatermarkColumn) ++
       extendedResolutionRules ++
       Seq(NameStreamingSources) : _*),
-    Batch("Remove TempResolvedColumn", Once, RemoveTempResolvedColumn),
+    Batch("Remove analysis-only markers", Once,
+      RemoveTempResolvedColumn,
+      RemoveInputTypeMarkers),

Review Comment:
   Fixed in `58889e8d7aa`. The single-pass resolver has no rule batch to run 
the `RemoveInputTypeMarkers` rule in, so `FunctionResolver` now calls 
`RemoveInputTypeMarkers.removeMarkers(...)` directly once type coercion has 
cast the marker children. `right(...)` therefore strips its markers under 
`spark.sql.analyzer.singlePassResolver.enabled=true` too, and 
`LowerDelegateExpression` no longer leaves an `Unevaluable` marker in the 
executable expression. Added an execution-level regression in 
`DelegateExpressionQuerySuite` (asserts no `ImplicitCastInput`/`TypeCheckInput` 
survives single-pass analysis and that the implicit `Cast` the marker drove 
still applies).



-- 
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