aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorravipesala <ravindra.pesala@huawei.com>2014-10-01 15:44:41 -0700
committerMichael Armbrust <michael@databricks.com>2014-10-01 15:44:41 -0700
commit3508ce8a5a05d6cb122ad59ba33c3cc18e17e2a4 (patch)
treeb61ce2ec26b9006900b65e81062d4d5eaf75998c /sql
parentd61f2c15bb22253bfdda77462b1bd383987d2f5a (diff)
downloadspark-3508ce8a5a05d6cb122ad59ba33c3cc18e17e2a4.tar.gz
spark-3508ce8a5a05d6cb122ad59ba33c3cc18e17e2a4.tar.bz2
spark-3508ce8a5a05d6cb122ad59ba33c3cc18e17e2a4.zip
[SPARK-3708][SQL] Backticks aren't handled correctly is aliases
The below query gives error sql("SELECT k FROM (SELECT \`key\` AS \`k\` FROM src) a") It gives error because the aliases are not cleaned so it could not be resolved in further processing. Author: ravipesala <ravindra.pesala@huawei.com> Closes #2594 from ravipesala/SPARK-3708 and squashes the following commits: d55db54 [ravipesala] Fixed SPARK-3708 (Backticks aren't handled correctly is aliases)
Diffstat (limited to 'sql')
-rw-r--r--sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala2
-rw-r--r--sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala6
2 files changed, 7 insertions, 1 deletions
diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala
index 0aa6292c01..4f3f808c93 100644
--- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala
+++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala
@@ -855,7 +855,7 @@ private[hive] object HiveQl {
case Token("TOK_SELEXPR",
e :: Token(alias, Nil) :: Nil) =>
- Some(Alias(nodeToExpr(e), alias)())
+ Some(Alias(nodeToExpr(e), cleanIdentifier(alias))())
/* Hints are ignored */
case Token("TOK_HINTLIST", _) => None
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 679efe082f..3647bb1c4c 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
@@ -63,4 +63,10 @@ class SQLQuerySuite extends QueryTest {
sql("SELECT key, value FROM test_ctas_123 ORDER BY key"),
sql("SELECT key, value FROM src ORDER BY key").collect().toSeq)
}
+
+ test("SPARK-3708 Backticks aren't handled correctly is aliases") {
+ checkAnswer(
+ sql("SELECT k FROM (SELECT `key` AS `k` FROM src) a"),
+ sql("SELECT `key` FROM src").collect().toSeq)
+ }
}