Skip to content

Commit 0e0ab98

Browse files
committed
Fixing issue in backtick handling for subquery aliases
1 parent 1e0aa4d commit 0e0ab98

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveQl.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ private[hive] object HiveQl {
639639
def nodeToRelation(node: Node): LogicalPlan = node match {
640640
case Token("TOK_SUBQUERY",
641641
query :: Token(alias, Nil) :: Nil) =>
642-
Subquery(alias, nodeToPlan(query))
642+
Subquery(cleanIdentifier(alias), nodeToPlan(query))
643643

644644
case Token(laterViewToken(isOuter), selectClause :: relationClause :: Nil) =>
645645
val Token("TOK_SELECT",

sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,11 @@ class SQLQuerySuite extends QueryTest {
6868
checkAnswer(
6969
sql("SELECT k FROM (SELECT `key` AS `k` FROM src) a"),
7070
sql("SELECT `key` FROM src").collect().toSeq)
71-
}
71+
}
72+
73+
test("SPARK-3834 Backticks not correctly handled in subquery aliases") {
74+
checkAnswer(
75+
sql("SELECT a.key FROM (SELECT key FROM src) `a`"),
76+
sql("SELECT `key` FROM src").collect().toSeq)
77+
}
7278
}

0 commit comments

Comments
 (0)