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


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collationExpressions.scala:
##########
@@ -73,24 +75,57 @@ object CollateExpressionBuilder extends ExpressionBuilder {
  * This function is pass-through, it will not modify the input data.
  * Only type metadata will be updated.
  */
-case class Collate(child: Expression, collationName: String)
-  extends UnaryExpression with ExpectsInputTypes {
-  private val collationId = CollationFactory.collationNameToId(collationName)
-  override def dataType: DataType = StringType(collationId)
+case class Collate(child: Expression, collation: Expression)
+  extends BinaryExpression with ExpectsInputTypes with CodegenFallback {

Review Comment:
   We can follow what `Alias` does
   ```
     /** Just a simple passthrough for code generation. */
     override def genCode(ctx: CodegenContext): ExprCode = child.genCode(ctx)
     override protected def doGenCode(ctx: CodegenContext, ev: ExprCode): 
ExprCode = {
       throw SparkException.internalError("Alias.doGenCode should not be 
called.")
     }
   ```



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