@@ -696,11 +696,7 @@ case class LastFunction(expr: Expression, base: AggregateExpression1) extends Ag
696
696
// http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
697
697
abstract class StddevAgg1 (child : Expression ) extends UnaryExpression with PartialAggregate1 {
698
698
override def nullable : Boolean = true
699
- override def dataType : DataType = child.dataType match {
700
- case DecimalType .Fixed (p, s) =>
701
- DecimalType .bounded(p + 14 , s + 4 )
702
- case _ => DoubleType
703
- }
699
+ override def dataType : DataType = DoubleType
704
700
705
701
def isSample : Boolean
706
702
@@ -742,10 +738,7 @@ case class ComputePartialStd(child: Expression) extends UnaryExpression with Agg
742
738
743
739
override def children : Seq [Expression ] = child :: Nil
744
740
override def nullable : Boolean = false
745
- override def dataType : DataType = child.dataType match {
746
- case DecimalType .Fixed (p, s) => ArrayType (DecimalType .bounded(p + 10 , s + 4 ))
747
- case _ => ArrayType (DoubleType )
748
- }
741
+ override def dataType : DataType = ArrayType (DoubleType )
749
742
override def toString : String = s " computePartialStddev( $child) "
750
743
override def newInstance (): ComputePartialStdFunction =
751
744
new ComputePartialStdFunction (child, this )
@@ -757,10 +750,7 @@ case class ComputePartialStdFunction (
757
750
) extends AggregateFunction1 {
758
751
def this () = this (null , null ) // Required for serialization
759
752
760
- private val computeType = expr.dataType match {
761
- case DecimalType .Fixed (p, s) => DecimalType .bounded(p + 10 , s + 4 )
762
- case _ => DoubleType
763
- }
753
+ private val computeType = DoubleType
764
754
private val zero = Cast (Literal (0 ), computeType)
765
755
private var partialCount : Long = 0L
766
756
@@ -811,10 +801,7 @@ case class MergePartialStd(
811
801
812
802
override def children : Seq [Expression ] = child:: Nil
813
803
override def nullable : Boolean = false
814
- override def dataType : DataType = child.dataType match {
815
- case ArrayType (DecimalType .Fixed (p, s), _) => DecimalType .bounded(p + 14 , s + 4 )
816
- case _ => DoubleType
817
- }
804
+ override def dataType : DataType = DoubleType
818
805
override def toString : String = s " MergePartialStd( $child) "
819
806
override def newInstance (): MergePartialStdFunction = {
820
807
new MergePartialStdFunction (child, this , isSample)
@@ -828,10 +815,7 @@ case class MergePartialStdFunction(
828
815
) extends AggregateFunction1 {
829
816
def this () = this (null , null , false ) // Required for serialization
830
817
831
- private val computeType = expr.dataType match {
832
- case ArrayType (DecimalType .Fixed (p, s), _) => DecimalType .bounded(p + 14 , s + 4 )
833
- case _ => DoubleType
834
- }
818
+ private val computeType = DoubleType
835
819
private val zero = Cast (Literal (0 ), computeType)
836
820
private val combineCount = MutableLiteral (zero.eval(null ), computeType)
837
821
private val combineAvg = MutableLiteral (zero.eval(null ), computeType)
@@ -906,10 +890,7 @@ case class StddevFunction(
906
890
907
891
def this () = this (null , null , false ) // Required for serialization
908
892
909
- private val computeType = expr.dataType match {
910
- case DecimalType .Fixed (p, s) => DecimalType .bounded(p + 14 , s + 4 )
911
- case _ => DoubleType
912
- }
893
+ private val computeType = DoubleType
913
894
private var curCount : Long = 0L
914
895
private val zero = Cast (Literal (0 ), computeType)
915
896
private val curAvg = MutableLiteral (zero.eval(null ), computeType)
0 commit comments