diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalFunctions.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalFunctions.scala index 250fe00b174bf..d88cdc7dd2c12 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalFunctions.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/decimalFunctions.scala @@ -39,7 +39,7 @@ case class UnscaledValue(child: Expression) extends UnaryExpression { override def genCode(ctx: CodeGenContext, ev: EvaluatedExpression): Code = { val eval = child.gen(ctx) - eval.code +s""" + eval.code + s""" boolean ${ev.nullTerm} = ${eval.nullTerm}; long ${ev.primitiveTerm} = ${ev.nullTerm} ? -1 : ${eval.primitiveTerm}.toUnscaledLong(); """ diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala index 159df36ececff..5cb3f26e9dc50 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala @@ -105,7 +105,8 @@ case class Literal protected (value: Any, dataType: DataType) extends LeafExpres case dt: DecimalType => s""" final boolean ${ev.nullTerm} = false; - ${ctx.primitiveType(dt)} ${ev.primitiveTerm} = new ${ctx.primitiveType(dt)}().set($value); + ${ctx.primitiveType(dt)} ${ev.primitiveTerm} = + new ${ctx.primitiveType(dt)}().set($value); """ case dt: NumericType => s""" diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala index 4cd8bff0f4d47..1a89f5bdb4dea 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala @@ -276,7 +276,7 @@ case class EqualTo(left: Expression, right: Expression) extends BinaryComparison if (left.dataType != BinaryType) l == r else java.util.Arrays.equals(l.asInstanceOf[Array[Byte]], r.asInstanceOf[Array[Byte]]) } - override def genCode(ctx: CodeGenContext, ev: EvaluatedExpression) = { + override def genCode(ctx: CodeGenContext, ev: EvaluatedExpression): Code = { evaluate(ctx, ev, ctx.equalFunc(left.dataType)) } }