This is an automated email from the ASF dual-hosted git repository.
ayushsaxena pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 3ae03fb9baa HIVE-27649: Support ORDER BY clause in subqueries with set
operators (#4628). (Nicolas Richard reviewed by Ayush Saxena)
3ae03fb9baa is described below
commit 3ae03fb9baa379e911659837ab50d30277eadbd8
Author: Nicolas Richard <[email protected]>
AuthorDate: Fri Sep 29 11:50:28 2023 -0400
HIVE-27649: Support ORDER BY clause in subqueries with set operators
(#4628). (Nicolas Richard reviewed by Ayush Saxena)
---
.../src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g | 2 +-
.../test/org/apache/hadoop/hive/ql/parse/TestParseDriver.java | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/parser/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
b/parser/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
index c1dc2224274..a5c37faec8a 100644
--- a/parser/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
+++ b/parser/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
@@ -108,7 +108,7 @@ atomjoinSource
: tableSource (lateralView^)*
| virtualTableSource (lateralView^)*
| (LPAREN (KW_WITH|KW_SELECT|KW_MAP|KW_REDUCE|KW_FROM)) => subQuerySource
(lateralView^)*
- | (LPAREN LPAREN atomSelectStatement RPAREN setOperator ) =>
subQuerySource (lateralView^)*
+ | (LPAREN LPAREN selectStatement RPAREN setOperator ) => subQuerySource
(lateralView^)*
| (LPAREN valuesSource) => subQuerySource (lateralView^)*
| partitionedTableFunction (lateralView^)*
| LPAREN! joinSource RPAREN!
diff --git
a/parser/src/test/org/apache/hadoop/hive/ql/parse/TestParseDriver.java
b/parser/src/test/org/apache/hadoop/hive/ql/parse/TestParseDriver.java
index 672bd885c78..f2d90d4f190 100644
--- a/parser/src/test/org/apache/hadoop/hive/ql/parse/TestParseDriver.java
+++ b/parser/src/test/org/apache/hadoop/hive/ql/parse/TestParseDriver.java
@@ -305,6 +305,15 @@ public class TestParseDriver {
}
+ @Test
+ public void testSubQueryWithSetOpSupportsOrderBy() throws Exception {
+ String q = "SELECT a FROM ((SELECT a FROM t1 ORDER BY a) UNION ALL (SELECT
a FROM t2 DISTRIBUTE BY a)) B";
+ System.out.println(q);
+
+ ASTNode root = parseDriver.parse(q).getTree();
+ System.out.println(root.dump());
+ }
+
@Test
public void testParseCreateScheduledQuery() throws Exception {
parseDriver.parse("create scheduled query asd cron '123' as select 1");