Repository: spark
Updated Branches:
  refs/heads/master bb873754b -> 611dbce4b


[SPARK-12555][SQL] Result should not be corrupted after input columns are 
reordered

This PR add test case described in SPARK-12555 to validate that correct data is 
returned when input data is reordered and to avoid future regressions.

Author: Luciano Resende <lrese...@apache.org>

Closes #11623 from lresende/SPARK-12555.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/611dbce4
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/611dbce4
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/611dbce4

Branch: refs/heads/master
Commit: 611dbce4bdd6f34ac1fa67d8dfa3d407600a0237
Parents: bb87375
Author: Luciano Resende <lrese...@apache.org>
Authored: Thu Apr 7 08:35:00 2016 +0800
Committer: Wenchen Fan <wenc...@databricks.com>
Committed: Thu Apr 7 08:35:00 2016 +0800

----------------------------------------------------------------------
 .../spark/sql/DatasetAggregatorSuite.scala       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/611dbce4/sql/core/src/test/scala/org/apache/spark/sql/DatasetAggregatorSuite.scala
----------------------------------------------------------------------
diff --git 
a/sql/core/src/test/scala/org/apache/spark/sql/DatasetAggregatorSuite.scala 
b/sql/core/src/test/scala/org/apache/spark/sql/DatasetAggregatorSuite.scala
index 5430aff..08b3389 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DatasetAggregatorSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DatasetAggregatorSuite.scala
@@ -84,6 +84,16 @@ object ComplexBufferAgg extends Aggregator[AggData, (Int, 
AggData), Int] {
     (b1._1 + b2._1, b1._2)
 }
 
+object NameAgg extends Aggregator[AggData, String, String] {
+  def zero: String = ""
+
+  def reduce(b: String, a: AggData): String = a.b + b
+
+  def merge(b1: String, b2: String): String = b1 + b2
+
+  def finish(r: String): String = r
+}
+
 class DatasetAggregatorSuite extends QueryTest with SharedSQLContext {
 
   import testImplicits._
@@ -176,4 +186,13 @@ class DatasetAggregatorSuite extends QueryTest with 
SharedSQLContext {
         typed.avg(_._2), typed.count(_._2), typed.sum(_._2), 
typed.sumLong(_._2)),
       ("a", 2.0, 2L, 4.0, 4L), ("b", 3.0, 1L, 3.0, 3L))
   }
+
+  test("SPARK-12555 - result should not be corrupted after input columns are 
reordered") {
+    val ds = sql("SELECT 'Some String' AS b, 1279869254 AS a").as[AggData]
+
+    checkDataset(
+      ds.groupByKey(_.a).agg(NameAgg.toColumn),
+        (1279869254, "Some String"))
+  }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to