aboutsummaryrefslogtreecommitdiff
path: root/sql/hive
diff options
context:
space:
mode:
authorWenchen Fan <cloud0fan@outlook.com>2015-05-18 12:08:28 -0700
committerMichael Armbrust <michael@databricks.com>2015-05-18 12:12:55 -0700
commit103c863c2ef3d9e6186cfc7d95251a9515e9f180 (patch)
tree1e8bb956a8ec2a314055dad30220130627f4af45 /sql/hive
parentfc2480ed13742a99470b5012ca3a75ab91e5a5e5 (diff)
downloadspark-103c863c2ef3d9e6186cfc7d95251a9515e9f180.tar.gz
spark-103c863c2ef3d9e6186cfc7d95251a9515e9f180.tar.bz2
spark-103c863c2ef3d9e6186cfc7d95251a9515e9f180.zip
[SPARK-7269] [SQL] Incorrect analysis for aggregation(use semanticEquals)
A modified version of https://github.com/apache/spark/pull/6110, use `semanticEquals` to make it more efficient. Author: Wenchen Fan <cloud0fan@outlook.com> Closes #6173 from cloud-fan/7269 and squashes the following commits: e4a3cc7 [Wenchen Fan] address comments cc02045 [Wenchen Fan] consider elements length equal d7ff8f4 [Wenchen Fan] fix 7269
Diffstat (limited to 'sql/hive')
-rw-r--r--sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala18
1 files changed, 18 insertions, 0 deletions
diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
index ca2c4b4019..e60d00e635 100644
--- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
+++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala
@@ -773,4 +773,22 @@ class SQLQuerySuite extends QueryTest {
| select * from v2 order by key limit 1
""".stripMargin), Row(0, 3))
}
+
+ test("SPARK-7269 Check analysis failed in case in-sensitive") {
+ Seq(1, 2, 3).map { i =>
+ (i.toString, i.toString)
+ }.toDF("key", "value").registerTempTable("df_analysis")
+ sql("SELECT kEy from df_analysis group by key").collect()
+ sql("SELECT kEy+3 from df_analysis group by key+3").collect()
+ sql("SELECT kEy+3, a.kEy, A.kEy from df_analysis A group by key").collect()
+ sql("SELECT cast(kEy+1 as Int) from df_analysis A group by cast(key+1 as int)").collect()
+ sql("SELECT cast(kEy+1 as Int) from df_analysis A group by key+1").collect()
+ sql("SELECT 2 from df_analysis A group by key+1").collect()
+ intercept[AnalysisException] {
+ sql("SELECT kEy+1 from df_analysis group by key+3")
+ }
+ intercept[AnalysisException] {
+ sql("SELECT cast(key+2 as Int) from df_analysis A group by cast(key+1 as int)")
+ }
+ }
}