cloud-fan commented on code in PR #48546:
URL: https://github.com/apache/spark/pull/48546#discussion_r1856673514
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collationExpressions.scala:
##########
@@ -73,24 +75,60 @@ 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 {
+ override def left: Expression = child
+ override def right: Expression = collation
+ override def dataType: DataType = collation.dataType
override def inputTypes: Seq[AbstractDataType] =
- Seq(StringTypeWithCollation(supportsTrimCollation = true))
-
- override protected def withNewChildInternal(
- newChild: Expression): Expression = copy(newChild)
+ Seq(StringTypeWithCollation(supportsTrimCollation = true),
+ StringTypeWithCollation(supportsTrimCollation = true))
Review Comment:
```suggestion
AnyDataType)
```
--
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]