aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorravipesala <ravindra.pesala@huawei.com>2014-10-09 18:41:36 -0700
committerMichael Armbrust <michael@databricks.com>2014-10-09 18:41:36 -0700
commit6f98902a3d7749e543bc493a8c62b1e3a7b924cc (patch)
tree4eaf40d30ebf12624d67409d8e0b44b8075b5690 /sql
parent421382d0e728940caa3e61bc11237c61f256378a (diff)
downloadspark-6f98902a3d7749e543bc493a8c62b1e3a7b924cc.tar.gz
spark-6f98902a3d7749e543bc493a8c62b1e3a7b924cc.tar.bz2
spark-6f98902a3d7749e543bc493a8c62b1e3a7b924cc.zip
[SPARK-3834][SQL] Backticks not correctly handled in subquery aliases
The queries like SELECT a.key FROM (SELECT key FROM src) \`a\` does not work as backticks in subquery aliases are not handled properly. This PR fixes that. Author : ravipesala ravindra.pesalahuawei.com Author: ravipesala <ravindra.pesala@huawei.com> Closes #2737 from ravipesala/SPARK-3834 and squashes the following commits: 0e0ab98 [ravipesala] Fixing issue in backtick handling for subquery 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.scala8
2 files changed, 8 insertions, 2 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 98a46a31e1..7cc14dc7a9 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
@@ -638,7 +638,7 @@ private[hive] object HiveQl {
def nodeToRelation(node: Node): LogicalPlan = node match {
case Token("TOK_SUBQUERY",
query :: Token(alias, Nil) :: Nil) =>
- Subquery(alias, nodeToPlan(query))
+ Subquery(cleanIdentifier(alias), nodeToPlan(query))
case Token(laterViewToken(isOuter), selectClause :: relationClause :: Nil) =>
val Token("TOK_SELECT",
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 3647bb1c4c..fbe6ac765c 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
@@ -68,5 +68,11 @@ class SQLQuerySuite extends QueryTest {
checkAnswer(
sql("SELECT k FROM (SELECT `key` AS `k` FROM src) a"),
sql("SELECT `key` FROM src").collect().toSeq)
- }
+ }
+
+ test("SPARK-3834 Backticks not correctly handled in subquery aliases") {
+ checkAnswer(
+ sql("SELECT a.key FROM (SELECT key FROM src) `a`"),
+ sql("SELECT `key` FROM src").collect().toSeq)
+ }
}