Github user ueshin commented on a diff in the pull request:
https://github.com/apache/spark/pull/21054#discussion_r185170928
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/Average.scala
---
@@ -23,23 +23,13 @@ import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.util.TypeUtils
import org.apache.spark.sql.types._
-@ExpressionDescription(
- usage = "_FUNC_(expr) - Returns the mean calculated from values of a
group.")
-case class Average(child: Expression) extends DeclarativeAggregate with
ImplicitCastInputTypes {
-
- override def prettyName: String = "avg"
-
- override def children: Seq[Expression] = child :: Nil
+abstract class AverageAggregate extends DeclarativeAggregate {
override def nullable: Boolean = true
-
// Return data type.
override def dataType: DataType = resultType
- override def inputTypes: Seq[AbstractDataType] = Seq(NumericType)
-
- override def checkInputDataTypes(): TypeCheckResult =
- TypeUtils.checkForNumericExpr(child.dataType, "function average")
+ def child: Expression
--- End diff --
How about declaring this as an argument of `AverageAggregate` as the same
as other abstract classes?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]