From 2b6be528f5a914dda2b33de269ab7b776a7766cd Mon Sep 17 00:00:00 2001 From: gatorsmile Date: Mon, 12 Feb 2018 14:14:06 -0800 Subject: [PATCH 1/2] fix. --- .../sql/catalyst/expressions/ScalaUDF.scala | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala index 388ef42883ad3..56478a52e8e36 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala @@ -49,6 +49,33 @@ case class ScalaUDF( udfDeterministic: Boolean = true) extends Expression with ImplicitCastInputTypes with NonSQLExpression with UserDefinedExpression { + // The constructor for SPARK 2.1 and 2.2 + def this( + function: AnyRef, + dataType: DataType, + children: Seq[Expression], + inputTypes: Seq[DataType], + udfName: Option[String]) = { + this( + function, dataType, children, inputTypes, udfName, nullable = true, udfDeterministic = true) + } + + // The constructor for SPARK 2.0 + def this( + function: AnyRef, + dataType: DataType, + children: Seq[Expression], + inputTypes: Seq[DataType]) = { + this( + function, + dataType, + children, + inputTypes, + udfName = None, + nullable = true, + udfDeterministic = true) + } + override lazy val deterministic: Boolean = udfDeterministic && children.forall(_.deterministic) override def toString: String = From 08b39d093d16b8e803557eba6b525a35b0f13f75 Mon Sep 17 00:00:00 2001 From: gatorsmile Date: Mon, 12 Feb 2018 20:54:47 -0800 Subject: [PATCH 2/2] fix. --- .../sql/catalyst/expressions/ScalaUDF.scala | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala index 56478a52e8e36..989c02305620a 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/ScalaUDF.scala @@ -60,22 +60,6 @@ case class ScalaUDF( function, dataType, children, inputTypes, udfName, nullable = true, udfDeterministic = true) } - // The constructor for SPARK 2.0 - def this( - function: AnyRef, - dataType: DataType, - children: Seq[Expression], - inputTypes: Seq[DataType]) = { - this( - function, - dataType, - children, - inputTypes, - udfName = None, - nullable = true, - udfDeterministic = true) - } - override lazy val deterministic: Boolean = udfDeterministic && children.forall(_.deterministic) override def toString: String =