From 776384843630e2f2a02b6c86cee362e23a6db9db Mon Sep 17 00:00:00 2001 From: zzcclp Date: Wed, 25 Mar 2015 10:39:26 +0800 Subject: [PATCH 1/5] rebase from master --- .../sql/catalyst/expressions/ScalaUdf.scala | 423 +++++++++++++++++- 1 file changed, 413 insertions(+), 10 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 1fd5ce342b2ce..0f03a8248bddd 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 @@ -37,18 +37,22 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi /** This method has been generated by this script - (1 to 22).map { x => - val anys = (1 to x).map(x => "Any").reduce(_ + ", " + _) - val evals = (0 to x - 1).map(x => s" ScalaReflection.convertToScala(children($x).eval(input), children($x).dataType)").reduce(_ + ",\n " + _) - - s""" - case $x => - function.asInstanceOf[($anys) => Any]( - $evals) - """ - }.foreach(println) + (1 to 22).map { x => + val anys = (1 to x).map(x => "Any").reduce(_ + ", " + _) + val evals = (0 to x - 1).map(x => s"ScalaReflection.convertToScala(e$x.eval(input), e$x.dataType)").reduce(_ + ",\n " + _) + val elems = (0 to x - 1).map(x => s"e$x").reduce(_ + " :: " + _) + + s""" case $elems :: Nil => + val func = function.asInstanceOf[($anys) => Any] + (input: Row) => { + func( + $evals) + } + """ + }.foreach(println) */ +<<<<<<< HEAD override def eval(input: Row): Any = { val result = children.size match { @@ -398,4 +402,403 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi ScalaReflection.convertToCatalyst(result, dataType) } +======= + + val f = children match { + case Nil => + val func = function.asInstanceOf[() => Any] + (input: Row) => { + func() + } + + case e0 :: Nil => + val func = function.asInstanceOf[(Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType)) + } + + case e0 :: e1 :: Nil => + val func = function.asInstanceOf[(Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType)) + } + + case e0 :: e1 :: e2 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType), + ScalaReflection.convertToScala(e16.eval(input), e16.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType), + ScalaReflection.convertToScala(e16.eval(input), e16.dataType), + ScalaReflection.convertToScala(e17.eval(input), e17.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType), + ScalaReflection.convertToScala(e16.eval(input), e16.dataType), + ScalaReflection.convertToScala(e17.eval(input), e17.dataType), + ScalaReflection.convertToScala(e18.eval(input), e18.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: e19 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType), + ScalaReflection.convertToScala(e16.eval(input), e16.dataType), + ScalaReflection.convertToScala(e17.eval(input), e17.dataType), + ScalaReflection.convertToScala(e18.eval(input), e18.dataType), + ScalaReflection.convertToScala(e19.eval(input), e19.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: e19 :: e20 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType), + ScalaReflection.convertToScala(e16.eval(input), e16.dataType), + ScalaReflection.convertToScala(e17.eval(input), e17.dataType), + ScalaReflection.convertToScala(e18.eval(input), e18.dataType), + ScalaReflection.convertToScala(e19.eval(input), e19.dataType), + ScalaReflection.convertToScala(e20.eval(input), e20.dataType)) + } + + case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: e19 :: e20 :: e21 :: Nil => + val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + (input: Row) => { + func( + ScalaReflection.convertToScala(e0.eval(input), e0.dataType), + ScalaReflection.convertToScala(e1.eval(input), e1.dataType), + ScalaReflection.convertToScala(e2.eval(input), e2.dataType), + ScalaReflection.convertToScala(e3.eval(input), e3.dataType), + ScalaReflection.convertToScala(e4.eval(input), e4.dataType), + ScalaReflection.convertToScala(e5.eval(input), e5.dataType), + ScalaReflection.convertToScala(e6.eval(input), e6.dataType), + ScalaReflection.convertToScala(e7.eval(input), e7.dataType), + ScalaReflection.convertToScala(e8.eval(input), e8.dataType), + ScalaReflection.convertToScala(e9.eval(input), e9.dataType), + ScalaReflection.convertToScala(e10.eval(input), e10.dataType), + ScalaReflection.convertToScala(e11.eval(input), e11.dataType), + ScalaReflection.convertToScala(e12.eval(input), e12.dataType), + ScalaReflection.convertToScala(e13.eval(input), e13.dataType), + ScalaReflection.convertToScala(e14.eval(input), e14.dataType), + ScalaReflection.convertToScala(e15.eval(input), e15.dataType), + ScalaReflection.convertToScala(e16.eval(input), e16.dataType), + ScalaReflection.convertToScala(e17.eval(input), e17.dataType), + ScalaReflection.convertToScala(e18.eval(input), e18.dataType), + ScalaReflection.convertToScala(e19.eval(input), e19.dataType), + ScalaReflection.convertToScala(e20.eval(input), e20.dataType), + ScalaReflection.convertToScala(e21.eval(input), e21.dataType)) + } + } + + // scalastyle:on + + override def eval(input: Row): Any = ScalaReflection.convertToCatalyst(f(input), dataType) +>>>>>>> Access Seq[Expression] element by :: operator, and update the code gen script. } From b73836abafd7879814f9338736229518688b6ad9 Mon Sep 17 00:00:00 2001 From: zzcclp Date: Wed, 25 Mar 2015 10:42:07 +0800 Subject: [PATCH 2/5] Access Seq[Expression] element by :: operator, and update the code gen script. 1. access Seq[Expression] element by :: operator 2. update the code gen script --- .../sql/catalyst/expressions/ScalaUdf.scala | 368 +----------------- 1 file changed, 8 insertions(+), 360 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 0f03a8248bddd..32390fec84f25 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 @@ -30,379 +30,28 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi type EvaluatedType = Any override def nullable: Boolean = true - + override def toString: String = s"scalaUDF(${children.mkString(",")})" - + // scalastyle:off /** This method has been generated by this script - (1 to 22).map { x => - val anys = (1 to x).map(x => "Any").reduce(_ + ", " + _) - val evals = (0 to x - 1).map(x => s"ScalaReflection.convertToScala(e$x.eval(input), e$x.dataType)").reduce(_ + ",\n " + _) - val elems = (0 to x - 1).map(x => s"e$x").reduce(_ + " :: " + _) + (1 to 22).map { x => + val anys = (1 to x).map(x => "Any").reduce(_ + ", " + _) + val evals = (0 to x - 1).map(x => s"ScalaReflection.convertToScala(e$x.eval(input), e$x.dataType)").reduce(_ + ",\n " + _) + val elems = (0 to x - 1).map(x => s"e$x").reduce(_ + " :: " + _) - s""" case $elems :: Nil => + s""" case $elems :: Nil => val func = function.asInstanceOf[($anys) => Any] (input: Row) => { func( $evals) } """ - }.foreach(println) + }.foreach(println) */ -<<<<<<< HEAD - - override def eval(input: Row): Any = { - val result = children.size match { - case 0 => function.asInstanceOf[() => Any]() - case 1 => - function.asInstanceOf[(Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType)) - - - case 2 => - function.asInstanceOf[(Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType)) - - - case 3 => - function.asInstanceOf[(Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType)) - - - case 4 => - function.asInstanceOf[(Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType)) - - - case 5 => - function.asInstanceOf[(Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType)) - - - case 6 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType)) - - - case 7 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType)) - - - case 8 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType)) - - - case 9 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType)) - - - case 10 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType)) - - - case 11 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType)) - - - case 12 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType)) - - - case 13 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType)) - - - case 14 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType)) - - - case 15 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType)) - - - case 16 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType)) - - - case 17 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType), - ScalaReflection.convertToScala(children(16).eval(input), children(16).dataType)) - - - case 18 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType), - ScalaReflection.convertToScala(children(16).eval(input), children(16).dataType), - ScalaReflection.convertToScala(children(17).eval(input), children(17).dataType)) - - - case 19 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType), - ScalaReflection.convertToScala(children(16).eval(input), children(16).dataType), - ScalaReflection.convertToScala(children(17).eval(input), children(17).dataType), - ScalaReflection.convertToScala(children(18).eval(input), children(18).dataType)) - - - case 20 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType), - ScalaReflection.convertToScala(children(16).eval(input), children(16).dataType), - ScalaReflection.convertToScala(children(17).eval(input), children(17).dataType), - ScalaReflection.convertToScala(children(18).eval(input), children(18).dataType), - ScalaReflection.convertToScala(children(19).eval(input), children(19).dataType)) - - - case 21 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType), - ScalaReflection.convertToScala(children(16).eval(input), children(16).dataType), - ScalaReflection.convertToScala(children(17).eval(input), children(17).dataType), - ScalaReflection.convertToScala(children(18).eval(input), children(18).dataType), - ScalaReflection.convertToScala(children(19).eval(input), children(19).dataType), - ScalaReflection.convertToScala(children(20).eval(input), children(20).dataType)) - - - case 22 => - function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any]( - ScalaReflection.convertToScala(children(0).eval(input), children(0).dataType), - ScalaReflection.convertToScala(children(1).eval(input), children(1).dataType), - ScalaReflection.convertToScala(children(2).eval(input), children(2).dataType), - ScalaReflection.convertToScala(children(3).eval(input), children(3).dataType), - ScalaReflection.convertToScala(children(4).eval(input), children(4).dataType), - ScalaReflection.convertToScala(children(5).eval(input), children(5).dataType), - ScalaReflection.convertToScala(children(6).eval(input), children(6).dataType), - ScalaReflection.convertToScala(children(7).eval(input), children(7).dataType), - ScalaReflection.convertToScala(children(8).eval(input), children(8).dataType), - ScalaReflection.convertToScala(children(9).eval(input), children(9).dataType), - ScalaReflection.convertToScala(children(10).eval(input), children(10).dataType), - ScalaReflection.convertToScala(children(11).eval(input), children(11).dataType), - ScalaReflection.convertToScala(children(12).eval(input), children(12).dataType), - ScalaReflection.convertToScala(children(13).eval(input), children(13).dataType), - ScalaReflection.convertToScala(children(14).eval(input), children(14).dataType), - ScalaReflection.convertToScala(children(15).eval(input), children(15).dataType), - ScalaReflection.convertToScala(children(16).eval(input), children(16).dataType), - ScalaReflection.convertToScala(children(17).eval(input), children(17).dataType), - ScalaReflection.convertToScala(children(18).eval(input), children(18).dataType), - ScalaReflection.convertToScala(children(19).eval(input), children(19).dataType), - ScalaReflection.convertToScala(children(20).eval(input), children(20).dataType), - ScalaReflection.convertToScala(children(21).eval(input), children(21).dataType)) - - } - // scalastyle:on - - ScalaReflection.convertToCatalyst(result, dataType) - } -======= val f = children match { case Nil => @@ -800,5 +449,4 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi // scalastyle:on override def eval(input: Row): Any = ScalaReflection.convertToCatalyst(f(input), dataType) ->>>>>>> Access Seq[Expression] element by :: operator, and update the code gen script. } From 0a8cdc3cf27878e97f16b7b5a97eb196f57b3818 Mon Sep 17 00:00:00 2001 From: zzcclp Date: Wed, 25 Mar 2015 10:48:02 +0800 Subject: [PATCH 3/5] indention issue --- .../org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 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 32390fec84f25..e268ac798142a 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 @@ -30,9 +30,9 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi type EvaluatedType = Any override def nullable: Boolean = true - + override def toString: String = s"scalaUDF(${children.mkString(",")})" - + // scalastyle:off /** This method has been generated by this script From cc6868e8f568895c345213e67d92b959856b5cd8 Mon Sep 17 00:00:00 2001 From: zzcclp Date: Wed, 25 Mar 2015 14:41:55 +0800 Subject: [PATCH 4/5] Fix for fail on unit test. --- .../sql/catalyst/expressions/ScalaUdf.scala | 816 ++++++++++++------ 1 file changed, 535 insertions(+), 281 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 e268ac798142a..329bbf5e20d6b 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 @@ -39,11 +39,12 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi (1 to 22).map { x => val anys = (1 to x).map(x => "Any").reduce(_ + ", " + _) - val evals = (0 to x - 1).map(x => s"ScalaReflection.convertToScala(e$x.eval(input), e$x.dataType)").reduce(_ + ",\n " + _) - val elems = (0 to x - 1).map(x => s"e$x").reduce(_ + " :: " + _) + val childs = (0 to x - 1).map(x => s"val child$x = children($x)").reduce(_ + "\n " + _) + val evals = (0 to x - 1).map(x => s"ScalaReflection.convertToScala(child$x.eval(input), child$x.dataType)").reduce(_ + ",\n " + _) - s""" case $elems :: Nil => + s""" case $x => val func = function.asInstanceOf[($anys) => Any] + $childs (input: Row) => { func( $evals) @@ -53,400 +54,653 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi */ - val f = children match { - case Nil => + val f = children.size match { + case 0 => val func = function.asInstanceOf[() => Any] (input: Row) => { func() } - case e0 :: Nil => + case 1 => val func = function.asInstanceOf[(Any) => Any] + val child0 = children(0) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType)) } - case e0 :: e1 :: Nil => + case 2 => val func = function.asInstanceOf[(Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType)) } - case e0 :: e1 :: e2 :: Nil => + case 3 => val func = function.asInstanceOf[(Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType)) } - case e0 :: e1 :: e2 :: e3 :: Nil => + case 4 => val func = function.asInstanceOf[(Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: Nil => + case 5 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: Nil => + case 6 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: Nil => + case 7 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: Nil => + case 8 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: Nil => + case 9 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: Nil => + case 10 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: Nil => + case 11 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: Nil => + case 12 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: Nil => + case 13 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: Nil => + case 14 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: Nil => + case 15 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: Nil => + case 16 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: Nil => + case 17 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) + val child16 = children(16) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType), - ScalaReflection.convertToScala(e16.eval(input), e16.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType), + ScalaReflection.convertToScala(child16.eval(input), child16.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: Nil => + case 18 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) + val child16 = children(16) + val child17 = children(17) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType), - ScalaReflection.convertToScala(e16.eval(input), e16.dataType), - ScalaReflection.convertToScala(e17.eval(input), e17.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType), + ScalaReflection.convertToScala(child16.eval(input), child16.dataType), + ScalaReflection.convertToScala(child17.eval(input), child17.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: Nil => + case 19 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) + val child16 = children(16) + val child17 = children(17) + val child18 = children(18) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType), - ScalaReflection.convertToScala(e16.eval(input), e16.dataType), - ScalaReflection.convertToScala(e17.eval(input), e17.dataType), - ScalaReflection.convertToScala(e18.eval(input), e18.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType), + ScalaReflection.convertToScala(child16.eval(input), child16.dataType), + ScalaReflection.convertToScala(child17.eval(input), child17.dataType), + ScalaReflection.convertToScala(child18.eval(input), child18.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: e19 :: Nil => + case 20 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) + val child16 = children(16) + val child17 = children(17) + val child18 = children(18) + val child19 = children(19) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType), - ScalaReflection.convertToScala(e16.eval(input), e16.dataType), - ScalaReflection.convertToScala(e17.eval(input), e17.dataType), - ScalaReflection.convertToScala(e18.eval(input), e18.dataType), - ScalaReflection.convertToScala(e19.eval(input), e19.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType), + ScalaReflection.convertToScala(child16.eval(input), child16.dataType), + ScalaReflection.convertToScala(child17.eval(input), child17.dataType), + ScalaReflection.convertToScala(child18.eval(input), child18.dataType), + ScalaReflection.convertToScala(child19.eval(input), child19.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: e19 :: e20 :: Nil => + case 21 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) + val child16 = children(16) + val child17 = children(17) + val child18 = children(18) + val child19 = children(19) + val child20 = children(20) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType), - ScalaReflection.convertToScala(e16.eval(input), e16.dataType), - ScalaReflection.convertToScala(e17.eval(input), e17.dataType), - ScalaReflection.convertToScala(e18.eval(input), e18.dataType), - ScalaReflection.convertToScala(e19.eval(input), e19.dataType), - ScalaReflection.convertToScala(e20.eval(input), e20.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType), + ScalaReflection.convertToScala(child16.eval(input), child16.dataType), + ScalaReflection.convertToScala(child17.eval(input), child17.dataType), + ScalaReflection.convertToScala(child18.eval(input), child18.dataType), + ScalaReflection.convertToScala(child19.eval(input), child19.dataType), + ScalaReflection.convertToScala(child20.eval(input), child20.dataType)) } - case e0 :: e1 :: e2 :: e3 :: e4 :: e5 :: e6 :: e7 :: e8 :: e9 :: e10 :: e11 :: e12 :: e13 :: e14 :: e15 :: e16 :: e17 :: e18 :: e19 :: e20 :: e21 :: Nil => + case 22 => val func = function.asInstanceOf[(Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any) => Any] + val child0 = children(0) + val child1 = children(1) + val child2 = children(2) + val child3 = children(3) + val child4 = children(4) + val child5 = children(5) + val child6 = children(6) + val child7 = children(7) + val child8 = children(8) + val child9 = children(9) + val child10 = children(10) + val child11 = children(11) + val child12 = children(12) + val child13 = children(13) + val child14 = children(14) + val child15 = children(15) + val child16 = children(16) + val child17 = children(17) + val child18 = children(18) + val child19 = children(19) + val child20 = children(20) + val child21 = children(21) (input: Row) => { func( - ScalaReflection.convertToScala(e0.eval(input), e0.dataType), - ScalaReflection.convertToScala(e1.eval(input), e1.dataType), - ScalaReflection.convertToScala(e2.eval(input), e2.dataType), - ScalaReflection.convertToScala(e3.eval(input), e3.dataType), - ScalaReflection.convertToScala(e4.eval(input), e4.dataType), - ScalaReflection.convertToScala(e5.eval(input), e5.dataType), - ScalaReflection.convertToScala(e6.eval(input), e6.dataType), - ScalaReflection.convertToScala(e7.eval(input), e7.dataType), - ScalaReflection.convertToScala(e8.eval(input), e8.dataType), - ScalaReflection.convertToScala(e9.eval(input), e9.dataType), - ScalaReflection.convertToScala(e10.eval(input), e10.dataType), - ScalaReflection.convertToScala(e11.eval(input), e11.dataType), - ScalaReflection.convertToScala(e12.eval(input), e12.dataType), - ScalaReflection.convertToScala(e13.eval(input), e13.dataType), - ScalaReflection.convertToScala(e14.eval(input), e14.dataType), - ScalaReflection.convertToScala(e15.eval(input), e15.dataType), - ScalaReflection.convertToScala(e16.eval(input), e16.dataType), - ScalaReflection.convertToScala(e17.eval(input), e17.dataType), - ScalaReflection.convertToScala(e18.eval(input), e18.dataType), - ScalaReflection.convertToScala(e19.eval(input), e19.dataType), - ScalaReflection.convertToScala(e20.eval(input), e20.dataType), - ScalaReflection.convertToScala(e21.eval(input), e21.dataType)) + ScalaReflection.convertToScala(child0.eval(input), child0.dataType), + ScalaReflection.convertToScala(child1.eval(input), child1.dataType), + ScalaReflection.convertToScala(child2.eval(input), child2.dataType), + ScalaReflection.convertToScala(child3.eval(input), child3.dataType), + ScalaReflection.convertToScala(child4.eval(input), child4.dataType), + ScalaReflection.convertToScala(child5.eval(input), child5.dataType), + ScalaReflection.convertToScala(child6.eval(input), child6.dataType), + ScalaReflection.convertToScala(child7.eval(input), child7.dataType), + ScalaReflection.convertToScala(child8.eval(input), child8.dataType), + ScalaReflection.convertToScala(child9.eval(input), child9.dataType), + ScalaReflection.convertToScala(child10.eval(input), child10.dataType), + ScalaReflection.convertToScala(child11.eval(input), child11.dataType), + ScalaReflection.convertToScala(child12.eval(input), child12.dataType), + ScalaReflection.convertToScala(child13.eval(input), child13.dataType), + ScalaReflection.convertToScala(child14.eval(input), child14.dataType), + ScalaReflection.convertToScala(child15.eval(input), child15.dataType), + ScalaReflection.convertToScala(child16.eval(input), child16.dataType), + ScalaReflection.convertToScala(child17.eval(input), child17.dataType), + ScalaReflection.convertToScala(child18.eval(input), child18.dataType), + ScalaReflection.convertToScala(child19.eval(input), child19.dataType), + ScalaReflection.convertToScala(child20.eval(input), child20.dataType), + ScalaReflection.convertToScala(child21.eval(input), child21.dataType)) } } // scalastyle:on override def eval(input: Row): Any = ScalaReflection.convertToCatalyst(f(input), dataType) -} +} \ No newline at end of file From 5ac6e09dae55f5d78bda76e13b754a56aedd774a Mon Sep 17 00:00:00 2001 From: zzcclp Date: Wed, 25 Mar 2015 16:13:06 +0800 Subject: [PATCH 5/5] Add a newline at the end of source file --- .../org/apache/spark/sql/catalyst/expressions/ScalaUdf.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 329bbf5e20d6b..389dc4f745723 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 @@ -703,4 +703,5 @@ case class ScalaUdf(function: AnyRef, dataType: DataType, children: Seq[Expressi // scalastyle:on override def eval(input: Row): Any = ScalaReflection.convertToCatalyst(f(input), dataType) -} \ No newline at end of file + +}