EnricoMi commented on code in PR #38256:
URL: https://github.com/apache/spark/pull/38256#discussion_r995495785


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala:
##########
@@ -75,7 +75,7 @@ trait NamedExpression extends Expression {
    * multiple qualifiers, it is possible that there are other possible way to 
refer to this
    * attribute.
    */
-  def qualifiedName: String = (qualifier :+ name).mkString(".")
+  def qualifiedName: String = (qualifier :+ 
name).map(quoteIfNeeded).mkString(".")

Review Comment:
   Currently, `unresolvedAttributeError` calls into `toSQLId(String)`, which 
expects quoted parts in a single string. It parses the string while considering 
quotation and splits it into proper parts (`Seq[String]`). With `quoteIfNeeded` 
in `qualifiedName`, the parts are quoted if they contain `.`, before the parts 
are joined with `.`s to a single string.
   
   I also thought about calling into `toSQLId(Seq[String])` by mapping the 
single candidate to `Seq(candidate)`, which fixes this as well. That looks like 
the least impact solution. But if `qualifiedName` needs to be fixed anyway, 
touching `unresolvedAttributeError` would not be needed then.



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