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");

Reply via email to