You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pv...@apache.org on 2020/04/01 09:13:26 UTC

[hive] branch master updated: HIVE-23101: Fix topnkey_grouping_sets (Kasa Krisztian, reviewed by Zoltan Haindrich)

This is an automated email from the ASF dual-hosted git repository.

pvary 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 94f90bc  HIVE-23101: Fix topnkey_grouping_sets (Kasa Krisztian, reviewed by Zoltan Haindrich)
94f90bc is described below

commit 94f90bcef60c9a527d9a689283b4fe0004f4c946
Author: Krisztian Kasa <kk...@cloudera.com>
AuthorDate: Wed Apr 1 11:12:42 2020 +0200

    HIVE-23101: Fix topnkey_grouping_sets (Kasa Krisztian, reviewed by Zoltan Haindrich)
---
 .../test/resources/testconfiguration.properties    |    1 +
 .../queries/clientpositive/topnkey_grouping_sets.q |   54 +-
 .../llap/topnkey_grouping_sets.q.out               |  188 ++-
 .../clientpositive/topnkey_grouping_sets.q.out     | 1236 --------------------
 4 files changed, 120 insertions(+), 1359 deletions(-)

diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index cfe83d6..3e89071 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -16,6 +16,7 @@ disabled.query.files=cbo_rp_subq_in.q,\
   sample4.q,\
   root_dir_external_table.q,\
   sort_acid.q,\
+  topnkey_grouping_sets.q,\
   input31.q
 
 
diff --git a/ql/src/test/queries/clientpositive/topnkey_grouping_sets.q b/ql/src/test/queries/clientpositive/topnkey_grouping_sets.q
index e8c5401..3efd0b9 100644
--- a/ql/src/test/queries/clientpositive/topnkey_grouping_sets.q
+++ b/ql/src/test/queries/clientpositive/topnkey_grouping_sets.q
@@ -20,75 +20,75 @@ INSERT INTO t_test_grouping_sets VALUES
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3;
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3;
+SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3;
+SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3;
 
 set hive.optimize.topnkey=false;
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3;
+SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=true;
 EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7;
 
 set hive.optimize.topnkey=false;
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7;
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7;
 
 
 set hive.optimize.topnkey=true;
diff --git a/ql/src/test/results/clientpositive/llap/topnkey_grouping_sets.q.out b/ql/src/test/results/clientpositive/llap/topnkey_grouping_sets.q.out
index 41a8c3a..c376b15 100644
--- a/ql/src/test/results/clientpositive/llap/topnkey_grouping_sets.q.out
+++ b/ql/src/test/results/clientpositive/llap/topnkey_grouping_sets.q.out
@@ -44,12 +44,12 @@ POSTHOOK: Lineage: t_test_grouping_sets.a SCRIPT []
 POSTHOOK: Lineage: t_test_grouping_sets.b SCRIPT []
 POSTHOOK: Lineage: t_test_grouping_sets.c SCRIPT []
 PREHOOK: query: EXPLAIN
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
+SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
+SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -109,17 +109,17 @@ STAGE PLANS:
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4
                   Statistics: Num rows: 26 Data size: 712 Basic stats: COMPLETE Column stats: COMPLETE
                   Reduce Output Operator
-                    key expressions: _col0 (type: int)
-                    null sort order: z
-                    sort order: +
+                    key expressions: _col0 (type: int), _col1 (type: int)
+                    null sort order: zz
+                    sort order: ++
                     Statistics: Num rows: 26 Data size: 712 Basic stats: COMPLETE Column stats: COMPLETE
                     TopN Hash Memory Usage: 0.1
-                    value expressions: _col1 (type: int), _col2 (type: bigint), _col3 (type: bigint), _col4 (type: bigint)
+                    value expressions: _col2 (type: bigint), _col3 (type: bigint), _col4 (type: bigint)
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
               Select Operator
-                expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: bigint), VALUE._col2 (type: bigint), VALUE._col3 (type: bigint)
+                expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int), VALUE._col0 (type: bigint), VALUE._col1 (type: bigint), VALUE._col2 (type: bigint)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
                 Statistics: Num rows: 26 Data size: 712 Basic stats: COMPLETE Column stats: COMPLETE
                 Limit
@@ -139,22 +139,22 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
+PREHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
+POSTHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 5	1	0	0	0
 5	2	0	0	0
 5	NULL	0	1	1
-PREHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
+PREHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
+POSTHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 3
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -162,12 +162,12 @@ POSTHOOK: Input: default@t_test_grouping_sets
 5	2	0	0	0
 5	NULL	0	1	1
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -224,17 +224,16 @@ STAGE PLANS:
                 Statistics: Num rows: 26 Data size: 296 Basic stats: COMPLETE Column stats: COMPLETE
                 pruneGroupingSetId: true
                 Reduce Output Operator
-                  key expressions: _col0 (type: int)
-                  null sort order: z
-                  sort order: +
+                  key expressions: _col0 (type: int), _col1 (type: int)
+                  null sort order: zz
+                  sort order: ++
                   Statistics: Num rows: 26 Data size: 296 Basic stats: COMPLETE Column stats: COMPLETE
                   TopN Hash Memory Usage: 0.1
-                  value expressions: _col1 (type: int)
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
               Select Operator
-                expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int)
+                expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 26 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
                 Limit
@@ -254,49 +253,49 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 5	1
 5	2
 5	NULL
-6	NULL
 6	2
+6	NULL
 7	8
 7	NULL
 10	11
 10	NULL
-NULL	2
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
+NULL	1
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY a, b LIMIT 10
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 5	1
 5	2
 5	NULL
-6	NULL
 6	2
-7	NULL
+6	NULL
 7	8
+7	NULL
 10	11
 10	NULL
 NULL	1
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -346,23 +345,22 @@ STAGE PLANS:
                 Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                 pruneGroupingSetId: true
                 Top N Key Operator
-                  sort order: +
-                  keys: _col1 (type: int)
-                  null sort order: z
+                  sort order: ++
+                  keys: _col1 (type: int), _col0 (type: int)
+                  null sort order: zz
                   Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                   top n: 3
                   Reduce Output Operator
-                    key expressions: _col1 (type: int)
-                    null sort order: z
-                    sort order: +
+                    key expressions: _col1 (type: int), _col0 (type: int)
+                    null sort order: zz
+                    sort order: ++
                     Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                     TopN Hash Memory Usage: 0.1
-                    value expressions: _col0 (type: int)
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
               Select Operator
-                expressions: VALUE._col0 (type: int), KEY.reducesinkkey0 (type: int)
+                expressions: KEY.reducesinkkey1 (type: int), KEY.reducesinkkey0 (type: int)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 26 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
                 Limit
@@ -382,22 +380,22 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 5	1
 NULL	1
 5	2
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 3
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -405,12 +403,12 @@ POSTHOOK: Input: default@t_test_grouping_sets
 NULL	1
 5	2
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -460,23 +458,22 @@ STAGE PLANS:
                 Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                 pruneGroupingSetId: true
                 Top N Key Operator
-                  sort order: +
-                  keys: _col1 (type: int)
-                  null sort order: z
+                  sort order: ++
+                  keys: _col1 (type: int), _col0 (type: int)
+                  null sort order: zz
                   Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                   top n: 1
                   Reduce Output Operator
-                    key expressions: _col1 (type: int)
-                    null sort order: z
-                    sort order: +
+                    key expressions: _col1 (type: int), _col0 (type: int)
+                    null sort order: zz
+                    sort order: ++
                     Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                     TopN Hash Memory Usage: 0.1
-                    value expressions: _col0 (type: int)
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
               Select Operator
-                expressions: VALUE._col0 (type: int), KEY.reducesinkkey0 (type: int)
+                expressions: KEY.reducesinkkey1 (type: int), KEY.reducesinkkey0 (type: int)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 26 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
                 Limit
@@ -496,31 +493,31 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 5	1
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a), (b), ()) ORDER BY b, a LIMIT 1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 5	1
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -570,23 +567,22 @@ STAGE PLANS:
                 Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
                 pruneGroupingSetId: true
                 Top N Key Operator
-                  sort order: +
-                  keys: _col1 (type: int)
-                  null sort order: z
+                  sort order: ++
+                  keys: _col1 (type: int), _col0 (type: int)
+                  null sort order: zz
                   Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
                   top n: 7
                   Reduce Output Operator
-                    key expressions: _col1 (type: int)
-                    null sort order: z
-                    sort order: +
+                    key expressions: _col1 (type: int), _col0 (type: int)
+                    null sort order: zz
+                    sort order: ++
                     Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
                     TopN Hash Memory Usage: 0.1
-                    value expressions: _col0 (type: int)
         Reducer 3 
             Execution mode: llap
             Reduce Operator Tree:
               Select Operator
-                expressions: VALUE._col0 (type: int), KEY.reducesinkkey0 (type: int)
+                expressions: KEY.reducesinkkey1 (type: int), KEY.reducesinkkey0 (type: int)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 13 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                 Limit
@@ -606,11 +602,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -618,14 +614,14 @@ NULL	1
 NULL	2
 NULL	8
 NULL	11
-10	NULL
-NULL	NULL
+5	NULL
 6	NULL
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
+7	NULL
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b, a LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -633,16 +629,16 @@ NULL	1
 NULL	2
 NULL	8
 NULL	11
-10	NULL
-NULL	NULL
+5	NULL
 6	NULL
+7	NULL
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -728,11 +724,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -743,11 +739,11 @@ POSTHOOK: Input: default@t_test_grouping_sets
 6	2
 6	NULL
 5	1
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (a)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -759,12 +755,12 @@ POSTHOOK: Input: default@t_test_grouping_sets
 6	NULL
 5	1
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -850,11 +846,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -865,11 +861,11 @@ POSTHOOK: Input: default@t_test_grouping_sets
 5	2
 NULL	1
 NULL	2
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), (b)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -881,12 +877,12 @@ POSTHOOK: Input: default@t_test_grouping_sets
 NULL	1
 NULL	2
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -972,11 +968,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -987,11 +983,11 @@ POSTHOOK: Input: default@t_test_grouping_sets
 5	2
 NULL	NULL
 NULL	NULL
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a, b), ()) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -1003,12 +999,12 @@ POSTHOOK: Input: default@t_test_grouping_sets
 NULL	NULL
 NULL	NULL
 PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
 POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
+SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -1094,11 +1090,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
@@ -1109,11 +1105,11 @@ POSTHOOK: Input: default@t_test_grouping_sets
 5	2
 NULL	NULL
 NULL	NULL
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
+PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
+POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a, b)) ORDER BY a DESC, b ASC LIMIT 7
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_test_grouping_sets
 #### A masked pattern was here ####
diff --git a/ql/src/test/results/clientpositive/topnkey_grouping_sets.q.out b/ql/src/test/results/clientpositive/topnkey_grouping_sets.q.out
deleted file mode 100644
index 27998ef..0000000
--- a/ql/src/test/results/clientpositive/topnkey_grouping_sets.q.out
+++ /dev/null
@@ -1,1236 +0,0 @@
-PREHOOK: query: CREATE TABLE t_test_grouping_sets(
-  a int,
-  b int,
-  c int
-)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@t_test_grouping_sets
-POSTHOOK: query: CREATE TABLE t_test_grouping_sets(
-  a int,
-  b int,
-  c int
-)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@t_test_grouping_sets
-PREHOOK: query: INSERT INTO t_test_grouping_sets VALUES
-(NULL, NULL, NULL),
-(5, 2, 3),
-(10, 11, 12),
-(NULL, NULL, NULL),
-(NULL, NULL, NULL),
-(6, 2, 1),
-(7, 8, 4), (7, 8, 4), (7, 8, 4),
-(5, 1, 2), (5, 1, 2), (5, 1, 2),
-(NULL, NULL, NULL)
-PREHOOK: type: QUERY
-PREHOOK: Input: _dummy_database@_dummy_table
-PREHOOK: Output: default@t_test_grouping_sets
-POSTHOOK: query: INSERT INTO t_test_grouping_sets VALUES
-(NULL, NULL, NULL),
-(5, 2, 3),
-(10, 11, 12),
-(NULL, NULL, NULL),
-(NULL, NULL, NULL),
-(6, 2, 1),
-(7, 8, 4), (7, 8, 4), (7, 8, 4),
-(5, 1, 2), (5, 1, 2), (5, 1, 2),
-(NULL, NULL, NULL)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: _dummy_database@_dummy_table
-POSTHOOK: Output: default@t_test_grouping_sets
-POSTHOOK: Lineage: t_test_grouping_sets.a SCRIPT []
-POSTHOOK: Lineage: t_test_grouping_sets.b SCRIPT []
-POSTHOOK: Lineage: t_test_grouping_sets.c SCRIPT []
-PREHOOK: query: EXPLAIN
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: _col0, _col1
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: _col0 (type: int), _col1 (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-                  TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-          Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), grouping(_col2, 1L) (type: bigint), grouping(_col2, 0L) (type: bigint), grouping(_col2, 1L, 0L) (type: bigint)
-            outputColumnNames: _col0, _col1, _col2, _col3, _col4
-            Statistics: Num rows: 26 Data size: 776 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int)
-              null sort order: z
-              sort order: +
-              Statistics: Num rows: 26 Data size: 776 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col1 (type: int), _col2 (type: bigint), _col3 (type: bigint), _col4 (type: bigint)
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int), VALUE._col1 (type: bigint), VALUE._col2 (type: bigint), VALUE._col3 (type: bigint)
-          outputColumnNames: _col0, _col1, _col2, _col3, _col4
-          Statistics: Num rows: 26 Data size: 776 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 3
-            Statistics: Num rows: 3 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 3 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 3
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-5	NULL	0	1	1
-5	2	0	0	0
-5	1	0	0	0
-PREHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b, grouping(a), grouping(b), grouping(a, b) FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 3
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-5	NULL	0	1	1
-5	2	0	0	0
-5	1	0	0	0
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-                  TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int)
-              null sort order: z
-              sort order: +
-              Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col1 (type: int)
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 26 Data size: 152 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 10
-            Statistics: Num rows: 10 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 10 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 10
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-5	NULL
-5	2
-5	1
-6	2
-6	NULL
-7	NULL
-7	8
-10	11
-10	NULL
-NULL	1
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY a LIMIT 10
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-5	NULL
-5	2
-5	1
-6	2
-6	NULL
-7	NULL
-7	8
-10	11
-10	NULL
-NULL	1
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col1 (type: int)
-              null sort order: z
-              sort order: +
-              Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col0 (type: int)
-      Reduce Operator Tree:
-        Select Operator
-          expressions: VALUE._col0 (type: int), KEY.reducesinkkey0 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 26 Data size: 152 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 3
-            Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 3
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-NULL	1
-5	1
-6	2
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 3
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-NULL	1
-5	1
-6	2
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col1 (type: int)
-              null sort order: z
-              sort order: +
-              Statistics: Num rows: 26 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col0 (type: int)
-      Reduce Operator Tree:
-        Select Operator
-          expressions: VALUE._col0 (type: int), KEY.reducesinkkey0 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 26 Data size: 152 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 1
-            Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-5	1
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a), (b), ()) ORDER BY b LIMIT 1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-5	1
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col1 (type: int)
-              null sort order: z
-              sort order: +
-              Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col0 (type: int)
-      Reduce Operator Tree:
-        Select Operator
-          expressions: VALUE._col0 (type: int), KEY.reducesinkkey0 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 7
-            Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 7
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-NULL	1
-NULL	2
-NULL	8
-NULL	11
-5	NULL
-7	NULL
-NULL	NULL
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a), (b)) ORDER BY b LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-NULL	1
-NULL	2
-NULL	8
-NULL	11
-5	NULL
-7	NULL
-NULL	NULL
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: -++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                  TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int), _col1 (type: int)
-              null sort order: zz
-              sort order: -+
-              Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 7
-            Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 7
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-10	NULL
-7	8
-7	NULL
-6	2
-6	NULL
-5	1
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (a)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-10	NULL
-7	8
-7	NULL
-6	2
-6	NULL
-5	1
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: -++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                  TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int), _col1 (type: int)
-              null sort order: zz
-              sort order: -+
-              Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 7
-            Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 7
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-7	8
-6	2
-5	1
-5	2
-NULL	1
-NULL	2
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), (b)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-7	8
-6	2
-5	1
-5	2
-NULL	1
-NULL	2
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: -++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                  TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int), _col1 (type: int)
-              null sort order: zz
-              sort order: -+
-              Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 7
-            Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 7
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-7	8
-6	2
-5	1
-5	2
-NULL	NULL
-NULL	NULL
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((a,b), ()) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-7	8
-6	2
-5	1
-5	2
-NULL	NULL
-NULL	NULL
-PREHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-0 depends on stages: Stage-2
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int)
-              outputColumnNames: a, b
-              Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), 0L (type: bigint)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  null sort order: zzz
-                  sort order: -++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-                  Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-                  TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int), _col1 (type: int)
-              null sort order: zz
-              sort order: -+
-              Statistics: Num rows: 13 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int)
-          outputColumnNames: _col0, _col1
-          Statistics: Num rows: 13 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 7
-            Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 7 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 7
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-7	8
-6	2
-5	1
-5	2
-NULL	NULL
-NULL	NULL
-PREHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT a, b FROM t_test_grouping_sets GROUP BY a,b GROUPING SETS ((), (a,b)) ORDER BY a DESC, b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11
-7	8
-6	2
-5	1
-5	2
-NULL	NULL
-NULL	NULL
-PREHOOK: query: EXPLAIN
-SELECT tmp.a, tmp.b, max(tmp.c) FROM
-  (SELECT a, b, c FROM t_test_grouping_sets GROUP BY a, b, c) tmp
-GROUP BY tmp.a, tmp.b GROUPING SETS ((), (tmp.a,tmp.b)) ORDER BY tmp.a DESC, tmp.b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: EXPLAIN
-SELECT tmp.a, tmp.b, max(tmp.c) FROM
-  (SELECT a, b, c FROM t_test_grouping_sets GROUP BY a, b, c) tmp
-GROUP BY tmp.a, tmp.b GROUPING SETS ((), (tmp.a,tmp.b)) ORDER BY tmp.a DESC, tmp.b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-2 depends on stages: Stage-1
-  Stage-3 depends on stages: Stage-2
-  Stage-0 depends on stages: Stage-3
-
-STAGE PLANS:
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: t_test_grouping_sets
-            Statistics: Num rows: 13 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
-            Select Operator
-              expressions: a (type: int), b (type: int), c (type: int)
-              outputColumnNames: a, b, c
-              Statistics: Num rows: 13 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
-              Group By Operator
-                keys: a (type: int), b (type: int), c (type: int)
-                minReductionHashAggr: 0.99
-                mode: hash
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 6 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
-                  null sort order: zzz
-                  sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 6 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE
-      Reduce Operator Tree:
-        Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 6 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE
-          Group By Operator
-            aggregations: max(_col2)
-            keys: _col0 (type: int), _col1 (type: int), 0L (type: bigint)
-            minReductionHashAggr: 0.99
-            mode: hash
-            outputColumnNames: _col0, _col1, _col2, _col3
-            Statistics: Num rows: 6 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-              null sort order: zzz
-              sort order: -++
-              Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
-              Statistics: Num rows: 6 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col3 (type: int)
-      Reduce Operator Tree:
-        Group By Operator
-          aggregations: max(VALUE._col0)
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
-          mode: mergepartial
-          outputColumnNames: _col0, _col1, _col3
-          Statistics: Num rows: 6 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE
-          pruneGroupingSetId: true
-          Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col3 (type: int)
-            outputColumnNames: _col0, _col1, _col2
-            Statistics: Num rows: 6 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-3
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            Reduce Output Operator
-              key expressions: _col0 (type: int), _col1 (type: int)
-              null sort order: zz
-              sort order: -+
-              Statistics: Num rows: 6 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-              TopN Hash Memory Usage: 0.1
-              value expressions: _col2 (type: int)
-      Reduce Operator Tree:
-        Select Operator
-          expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int), VALUE._col0 (type: int)
-          outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 6 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-          Limit
-            Number of rows: 7
-            Statistics: Num rows: 6 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 6 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
-              table:
-                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: 7
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: SELECT tmp.a, tmp.b, max(tmp.c) FROM
-  (SELECT a, b, c FROM t_test_grouping_sets GROUP BY a, b, c) tmp
-GROUP BY tmp.a, tmp.b GROUPING SETS ((), (tmp.a,tmp.b)) ORDER BY tmp.a DESC, tmp.b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT tmp.a, tmp.b, max(tmp.c) FROM
-  (SELECT a, b, c FROM t_test_grouping_sets GROUP BY a, b, c) tmp
-GROUP BY tmp.a, tmp.b GROUPING SETS ((), (tmp.a,tmp.b)) ORDER BY tmp.a DESC, tmp.b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11	12
-7	8	4
-6	2	1
-5	1	2
-5	2	3
-NULL	NULL	12
-NULL	NULL	NULL
-PREHOOK: query: SELECT tmp.a, tmp.b, max(tmp.c) FROM
-  (SELECT a, b, c FROM t_test_grouping_sets GROUP BY a, b, c) tmp
-GROUP BY tmp.a, tmp.b GROUPING SETS ((), (tmp.a,tmp.b)) ORDER BY tmp.a DESC, tmp.b ASC LIMIT 7
-PREHOOK: type: QUERY
-PREHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT tmp.a, tmp.b, max(tmp.c) FROM
-  (SELECT a, b, c FROM t_test_grouping_sets GROUP BY a, b, c) tmp
-GROUP BY tmp.a, tmp.b GROUPING SETS ((), (tmp.a,tmp.b)) ORDER BY tmp.a DESC, tmp.b ASC LIMIT 7
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@t_test_grouping_sets
-#### A masked pattern was here ####
-10	11	12
-7	8	4
-6	2	1
-5	1	2
-5	2	3
-NULL	NULL	12
-NULL	NULL	NULL
-PREHOOK: query: DROP TABLE IF EXISTS t_test_grouping_sets
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@t_test_grouping_sets
-PREHOOK: Output: default@t_test_grouping_sets
-POSTHOOK: query: DROP TABLE IF EXISTS t_test_grouping_sets
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@t_test_grouping_sets
-POSTHOOK: Output: default@t_test_grouping_sets