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


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collationExpressions.scala:
##########
@@ -88,9 +88,38 @@ case class Collate(child: Expression, collationName: String)
   override protected def doGenCode(ctx: CodegenContext, ev: ExprCode): 
ExprCode =
     defineCodeGen(ctx, ev, (in) => in)
 
-  override def sql: String = s"$prettyName(${child.sql}, $collationName)"
+  override def sql: String = s"$prettyName(${child.sql}, $collation)"
 
-  override def toString: String = s"$prettyName($child, $collationName)"
+  override def toString: String = s"$prettyName($child, $collation)"
+
+  override def childrenResolved: Boolean = children.forall(_.resolved) && 
collation.merge.resolved
+}
+
+/**
+ * An expression that marks an unresolved collation name.
+ *
+ * This class is used to represent a collation name that has not yet been 
resolved from a fully
+ * qualified collation name. It is used during the analysis phase, where the 
collation name is
+ * specified but not yet validated or resolved.
+ */
+case class UnresolvedCollation(collationName: Seq[String])

Review Comment:
   let's define a tree pattern for it, so that the new rule can use 
`resolveExpressionsWithPruning`



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