@@ -395,6 +395,7 @@ case class Concat(children: Seq[Expression]) extends Expression {
395395 lazy val javaType : String = CodeGenerator .javaType(dataType)
396396
397397 override def nullable : Boolean = children.exists(_.nullable)
398+
398399 override def foldable : Boolean = children.forall(_.foldable)
399400
400401 override def eval (input : InternalRow ): Any = dataType match {
@@ -455,11 +456,11 @@ case class Concat(children: Seq[Expression]) extends Expression {
455456 val codes = ctx.splitExpressionsWithCurrentInputs(
456457 expressions = inputs,
457458 funcName = " valueConcat" ,
458- extraArguments = (s " ${ javaType} [] " , args) :: Nil )
459+ extraArguments = (s " $javaType[] " , args) :: Nil )
459460 ev.copy(s """
460461 $initCode
461462 $codes
462- ${ javaType} ${ev.value} = $concatenator.concat( $args);
463+ $javaType ${ev.value} = $concatenator.concat( $args);
463464 boolean ${ev.isNull} = ${ev.value} == null;
464465 """ )
465466 }
@@ -515,7 +516,7 @@ case class Concat(children: Seq[Expression]) extends Expression {
515516
516517 s """
517518 |new Object() {
518- | public ArrayData concat( ${ CodeGenerator . javaType(dataType)} [] args) {
519+ | public ArrayData concat( $javaType[] args) {
519520 | ${nullArgumentProtection()}
520521 | $numElemCode
521522 | $unsafeArraySizeInBytes
@@ -551,7 +552,7 @@ case class Concat(children: Seq[Expression]) extends Expression {
551552
552553 s """
553554 |new Object() {
554- | public ArrayData concat( ${ CodeGenerator . javaType(dataType)} [] args) {
555+ | public ArrayData concat( $javaType[] args) {
555556 | ${nullArgumentProtection()}
556557 | $numElemCode
557558 | Object[] $arrayData = new Object[(int) $numElemName];
0 commit comments