From 69c702589225e58b0b906f18da300f4ca76234fd Mon Sep 17 00:00:00 2001 From: Indhumathi27 Date: Tue, 23 Oct 2018 11:29:51 +0530 Subject: [PATCH] [CARBONDATA-3039] Fix Custom Deterministic Expression for rand() UDF --- .../spark/sql/CustomDeterministicExpression.scala | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/integration/spark2/src/main/scala/org/apache/spark/sql/CustomDeterministicExpression.scala b/integration/spark2/src/main/scala/org/apache/spark/sql/CustomDeterministicExpression.scala index 1ff9bc3e799..8a37989e120 100644 --- a/integration/spark2/src/main/scala/org/apache/spark/sql/CustomDeterministicExpression.scala +++ b/integration/spark2/src/main/scala/org/apache/spark/sql/CustomDeterministicExpression.scala @@ -26,15 +26,17 @@ import org.apache.spark.sql.types.{DataType, StringType} * Custom expression to override the deterministic property . */ case class CustomDeterministicExpression(nonDt: Expression ) extends Expression with Serializable{ - override def nullable: Boolean = true + override def nullable: Boolean = nonDt.nullable - override def eval(input: InternalRow): Any = null + override def eval(input: InternalRow): Any = nonDt.eval(input) - override def dataType: DataType = StringType + override def dataType: DataType = nonDt.dataType - override def children: Seq[Expression] = Seq() + override def children: Seq[Expression] = nonDt.children - def childexp : Expression = nonDt + def childexp: Expression = nonDt + + override def genCode(ctx: CodegenContext): ExprCode = nonDt.genCode(ctx) override protected def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = ev.copy("") }