@@ -63,18 +63,14 @@ object CometFromUnixTime extends CometExpressionSerde[FromUnixTime] {
6363 val formatExpr = exprToProtoInternal(Literal (" %Y-%m-%d %H:%M:%S" ), inputs, binding)
6464 val timeZone = exprToProtoInternal(Literal (expr.timeZoneId.orNull), inputs, binding)
6565
66- expr.format match {
67- case Literal (fmt, _) if fmt != null && fmt.toString != TimestampFormatter .defaultPattern =>
68- withInfo(expr, " Datetime pattern format is unsupported" )
69- None
70- case _ if secExpr.isDefined && formatExpr.isDefined =>
71- val timestampExpr =
72- scalarFunctionExprToProto(" from_unixtime" , Seq (secExpr, timeZone): _* )
73- val optExpr = scalarFunctionExprToProto(" to_char" , Seq (timestampExpr, formatExpr): _* )
74- optExprWithInfo(optExpr, expr, expr.sec, expr.format)
75- case _ =>
76- withInfo(expr, expr.sec, expr.format)
77- None
66+ if (secExpr.isDefined && formatExpr.isDefined) {
67+ val timestampExpr =
68+ scalarFunctionExprToProto(" from_unixtime" , Seq (secExpr, timeZone): _* )
69+ val optExpr = scalarFunctionExprToProto(" to_char" , Seq (timestampExpr, formatExpr): _* )
70+ optExprWithInfo(optExpr, expr, expr.sec, expr.format)
71+ } else {
72+ withInfo(expr, expr.sec, expr.format)
73+ None
7874 }
7975 }
8076}
0 commit comments