You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by ma...@apache.org on 2015/04/17 02:50:22 UTC
spark git commit: [SPARK-6899][SQL] Fix type mismatch when using
codegen with Average on DecimalType
Repository: spark
Updated Branches:
refs/heads/master d96608674 -> 1e43851d6
[SPARK-6899][SQL] Fix type mismatch when using codegen with Average on DecimalType
JIRA https://issues.apache.org/jira/browse/SPARK-6899
Author: Liang-Chi Hsieh <vi...@gmail.com>
Closes #5517 from viirya/fix_codegen_average and squashes the following commits:
8ae5f65 [Liang-Chi Hsieh] Add the case of DecimalType.Unlimited to Average.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/1e43851d
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/1e43851d
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/1e43851d
Branch: refs/heads/master
Commit: 1e43851d6455f65b850ea0327d0e92f65395d23f
Parents: d966086
Author: Liang-Chi Hsieh <vi...@gmail.com>
Authored: Thu Apr 16 17:50:20 2015 -0700
Committer: Michael Armbrust <mi...@databricks.com>
Committed: Thu Apr 16 17:50:20 2015 -0700
----------------------------------------------------------------------
.../apache/spark/sql/catalyst/expressions/aggregates.scala | 2 +-
.../test/scala/org/apache/spark/sql/DataFrameSuite.scala | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/1e43851d/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregates.scala
----------------------------------------------------------------------
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregates.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregates.scala
index 14a8550..f3830c6 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregates.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregates.scala
@@ -326,7 +326,7 @@ case class Average(child: Expression) extends PartialAggregate with trees.UnaryN
override def asPartial: SplitEvaluation = {
child.dataType match {
- case DecimalType.Fixed(_, _) =>
+ case DecimalType.Fixed(_, _) | DecimalType.Unlimited =>
// Turn the child to unlimited decimals for calculation, before going back to fixed
val partialSum = Alias(Sum(Cast(child, DecimalType.Unlimited)), "PartialSum")()
val partialCount = Alias(Count(child), "PartialCount")()
http://git-wip-us.apache.org/repos/asf/spark/blob/1e43851d/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
index 34b2cb0..44a7d1e 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala
@@ -537,4 +537,13 @@ class DataFrameSuite extends QueryTest {
val df = TestSQLContext.createDataFrame(rowRDD, schema)
df.rdd.collect()
}
+
+ test("SPARK-6899") {
+ val originalValue = TestSQLContext.conf.codegenEnabled
+ TestSQLContext.setConf(SQLConf.CODEGEN_ENABLED, "true")
+ checkAnswer(
+ decimalData.agg(avg('a)),
+ Row(new java.math.BigDecimal(2.0)))
+ TestSQLContext.setConf(SQLConf.CODEGEN_ENABLED, originalValue.toString)
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org