Skip to content
Snippets Groups Projects
Commit f92f53fa authored by Reynold Xin's avatar Reynold Xin
Browse files

Revert "[SPARK-13321][SQL] Support nested UNION in parser"

This reverts commit 55d6fdf2.
parent 65805ab6
No related branches found
No related tags found
No related merge requests found
......@@ -2320,26 +2320,6 @@ regularBody[boolean topLevel]
)
|
selectStatement[topLevel]
|
(LPAREN selectStatement0[true]) => nestedSetOpSelectStatement[topLevel]
;
nestedSetOpSelectStatement[boolean topLevel]
:
(
LPAREN s=selectStatement0[topLevel] RPAREN -> {$s.tree}
)
(set=setOpSelectStatement[$nestedSetOpSelectStatement.tree, topLevel])
-> {set == null}?
{$nestedSetOpSelectStatement.tree}
-> {$set.tree}
;
selectStatement0[boolean topLevel]
:
(selectStatement[true]) => selectStatement[topLevel]
|
(nestedSetOpSelectStatement[true]) => nestedSetOpSelectStatement[topLevel]
;
selectStatement[boolean topLevel]
......
......@@ -202,70 +202,6 @@ class CatalystQlSuite extends PlanTest {
"from windowData")
}
test("nesting UNION") {
val parsed = parser.parsePlan(
"""
|SELECT `u_1`.`id` FROM (((SELECT `t0`.`id` FROM `default`.`t0`)
|UNION ALL (SELECT `t0`.`id` FROM `default`.`t0`)) UNION ALL
|(SELECT `t0`.`id` FROM `default`.`t0`)) AS u_1
""".stripMargin)
val expected = Project(
UnresolvedAlias(UnresolvedAttribute("u_1.id"), None) :: Nil,
SubqueryAlias("u_1",
Union(
Union(
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None)),
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None))),
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None)))))
comparePlans(parsed, expected)
val parsedSame = parser.parsePlan(
"""
|SELECT `u_1`.`id` FROM ((SELECT `t0`.`id` FROM `default`.`t0`)
|UNION ALL (SELECT `t0`.`id` FROM `default`.`t0`) UNION ALL
|(SELECT `t0`.`id` FROM `default`.`t0`)) AS u_1
""".stripMargin)
comparePlans(parsedSame, expected)
val parsed2 = parser.parsePlan(
"""
|SELECT `u_1`.`id` FROM ((((SELECT `t0`.`id` FROM `default`.`t0`)
|UNION ALL (SELECT `t0`.`id` FROM `default`.`t0`)) UNION ALL
|(SELECT `t0`.`id` FROM `default`.`t0`))
|UNION ALL (SELECT `t0`.`id` FROM `default`.`t0`)) AS u_1
""".stripMargin)
val expected2 = Project(
UnresolvedAlias(UnresolvedAttribute("u_1.id"), None) :: Nil,
SubqueryAlias("u_1",
Union(
Union(
Union(
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None)),
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None))),
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None))),
Project(
UnresolvedAlias(UnresolvedAttribute("t0.id"), None) :: Nil,
UnresolvedRelation(TableIdentifier("t0", Some("default")), None)))))
comparePlans(parsed2, expected2)
}
test("subquery") {
parser.parsePlan("select (select max(b) from s) ss from t")
parser.parsePlan("select * from t where a = (select b from s)")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment