http://git-wip-us.apache.org/repos/asf/hive/blob/975a49b6/ql/src/test/results/clientpositive/tez/explainuser_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/explainuser_1.q.out 
b/ql/src/test/results/clientpositive/tez/explainuser_1.q.out
deleted file mode 100644
index de4e5f9..0000000
--- a/ql/src/test/results/clientpositive/tez/explainuser_1.q.out
+++ /dev/null
@@ -1,5930 +0,0 @@
-PREHOOK: query: explain create table src_orc_merge_test_part(key int, value 
string) partitioned by (ds string, ts string) stored as orc
-PREHOOK: type: CREATETABLE
-POSTHOOK: query: explain create table src_orc_merge_test_part(key int, value 
string) partitioned by (ds string, ts string) stored as orc
-POSTHOOK: type: CREATETABLE
-Stage-0
-  Create Table Operator:
-    name:default.src_orc_merge_test_part
-
-PREHOOK: query: create table src_orc_merge_test_part(key int, value string) 
partitioned by (ds string, ts string) stored as orc
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: query: create table src_orc_merge_test_part(key int, value string) 
partitioned by (ds string, ts string) stored as orc
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@src_orc_merge_test_part
-PREHOOK: query: alter table src_orc_merge_test_part add partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31')
-PREHOOK: type: ALTERTABLE_ADDPARTS
-PREHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: query: alter table src_orc_merge_test_part add partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31')
-POSTHOOK: type: ALTERTABLE_ADDPARTS
-POSTHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: Output: 
default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-PREHOOK: query: desc extended src_orc_merge_test_part partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31')
-PREHOOK: type: DESCTABLE
-PREHOOK: Input: default@src_orc_merge_test_part
-POSTHOOK: query: desc extended src_orc_merge_test_part partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31')
-POSTHOOK: type: DESCTABLE
-POSTHOOK: Input: default@src_orc_merge_test_part
-key                    int                                         
-value                  string                                      
-ds                     string                                      
-ts                     string                                      
-                
-# Partition Information                 
-# col_name             data_type               comment             
-                
-ds                     string                                      
-ts                     string                                      
-                
-#### A masked pattern was here ####
-PREHOOK: query: explain insert overwrite table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-PREHOOK: type: QUERY
-POSTHOOK: query: explain insert overwrite table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Stage-3
-  Stats-Aggr Operator
-    Stage-0
-      Move Operator
-        table:{"name:":"default.src_orc_merge_test_part"}
-        Stage-2
-          Dependency Collection{}
-            Stage-1
-              Map 1
-              File Output Operator [FS_3]
-                table:{"name:":"default.src_orc_merge_test_part"}
-                Select Operator [SEL_1] (rows=500 width=95)
-                  Output:["_col0","_col1"]
-                  TableScan [TS_0] (rows=500 width=178)
-                    
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-
-PREHOOK: query: insert overwrite table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Output: 
default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-POSTHOOK: query: insert overwrite table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Output: 
default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-POSTHOOK: Lineage: src_orc_merge_test_part 
PARTITION(ds=2012-01-03,ts=2012-01-03+14:46:31).key EXPRESSION 
[(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: src_orc_merge_test_part 
PARTITION(ds=2012-01-03,ts=2012-01-03+14:46:31).value SIMPLE 
[(src)src.FieldSchema(name:value, type:string, comment:default), ]
-PREHOOK: query: explain insert into table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src limit 100
-PREHOOK: type: QUERY
-POSTHOOK: query: explain insert into table src_orc_merge_test_part 
partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src limit 100
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-3
-  Stats-Aggr Operator
-    Stage-0
-      Move Operator
-        table:{"name:":"default.src_orc_merge_test_part"}
-        Stage-2
-          Dependency Collection{}
-            Stage-1
-              Reducer 2
-              File Output Operator [FS_7]
-                table:{"name:":"default.src_orc_merge_test_part"}
-                Select Operator [SEL_6] (rows=100 width=95)
-                  Output:["_col0","_col1"]
-                  Limit [LIM_5] (rows=100 width=178)
-                    Number of rows:100
-                    Select Operator [SEL_4] (rows=100 width=178)
-                      Output:["_col0","_col1"]
-                    <-Map 1 [SIMPLE_EDGE]
-                      SHUFFLE [RS_3]
-                        Limit [LIM_2] (rows=100 width=178)
-                          Number of rows:100
-                          Select Operator [SEL_1] (rows=500 width=178)
-                            Output:["_col0","_col1"]
-                            TableScan [TS_0] (rows=500 width=178)
-                              
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-
-PREHOOK: query: explain select count(1) from src_orc_merge_test_part where 
ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select count(1) from src_orc_merge_test_part where 
ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=8)
-          Output:["_col0"],aggregations:["count(VALUE._col0)"]
-        <-Map 1 [SIMPLE_EDGE]
-          SHUFFLE [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=8)
-              Output:["_col0"],aggregations:["count(1)"]
-              Select Operator [SEL_2] (rows=500 width=102)
-                TableScan [TS_0] (rows=500 width=102)
-                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:COMPLETE
-
-PREHOOK: query: explain select sum(hash(key)), sum(hash(value)) from 
src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select sum(hash(key)), sum(hash(value)) from 
src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=16)
-          
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
-        <-Map 1 [SIMPLE_EDGE]
-          SHUFFLE [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=16)
-              Output:["_col0","_col1"],aggregations:["sum(_col0)","sum(_col1)"]
-              Select Operator [SEL_2] (rows=500 width=102)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=500 width=102)
-                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-
-PREHOOK: query: alter table src_orc_merge_test_part partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31') concatenate
-PREHOOK: type: ALTER_PARTITION_MERGE
-PREHOOK: Input: default@src_orc_merge_test_part
-PREHOOK: Output: 
default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-POSTHOOK: query: alter table src_orc_merge_test_part partition 
(ds='2012-01-03', ts='2012-01-03+14:46:31') concatenate
-POSTHOOK: type: ALTER_PARTITION_MERGE
-POSTHOOK: Input: default@src_orc_merge_test_part
-POSTHOOK: Output: 
default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-PREHOOK: query: explain select count(1) from src_orc_merge_test_part where 
ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select count(1) from src_orc_merge_test_part where 
ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=8)
-          Output:["_col0"],aggregations:["count(VALUE._col0)"]
-        <-Map 1 [SIMPLE_EDGE]
-          SHUFFLE [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=8)
-              Output:["_col0"],aggregations:["count(1)"]
-              Select Operator [SEL_2] (rows=500 width=102)
-                TableScan [TS_0] (rows=500 width=102)
-                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:COMPLETE
-
-PREHOOK: query: explain select sum(hash(key)), sum(hash(value)) from 
src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select sum(hash(key)), sum(hash(value)) from 
src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=16)
-          
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
-        <-Map 1 [SIMPLE_EDGE]
-          SHUFFLE [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=16)
-              Output:["_col0","_col1"],aggregations:["sum(_col0)","sum(_col1)"]
-              Select Operator [SEL_2] (rows=500 width=102)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=500 width=102)
-                  
default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-
-PREHOOK: query: drop table src_orc_merge_test_part
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@src_orc_merge_test_part
-PREHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: query: drop table src_orc_merge_test_part
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@src_orc_merge_test_part
-POSTHOOK: Output: default@src_orc_merge_test_part
-Warning: Map Join MAPJOIN[20][bigTable=?] in task 'Map 1' is a cross product
-PREHOOK: query: explain select sum(hash(a.k1,a.v1,a.k2, a.v2))
-from (
-select src1.key as k1, src1.value as v1, 
-       src2.key as k2, src2.value as v2 FROM 
-  (select * FROM src WHERE src.key < 10) src1 
-    JOIN 
-  (select * FROM src WHERE src.key < 10) src2
-  SORT BY k1, v1, k2, v2
-) a
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select sum(hash(a.k1,a.v1,a.k2, a.v2))
-from (
-select src1.key as k1, src1.value as v1, 
-       src2.key as k2, src2.value as v2 FROM 
-  (select * FROM src WHERE src.key < 10) src1 
-    JOIN 
-  (select * FROM src WHERE src.key < 10) src2
-  SORT BY k1, v1, k2, v2
-) a
-POSTHOOK: type: QUERY
-Plan not optimized by CBO.
-
-Vertex dependency in root stage
-Map 1 <- Map 4 (BROADCAST_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_17]
-        Group By Operator [GBY_15] (rows=1 width=8)
-          Output:["_col0"],aggregations:["sum(VALUE._col0)"]
-        <-Reducer 2 [SIMPLE_EDGE]
-          SHUFFLE [RS_14]
-            Group By Operator [GBY_13] (rows=1 width=8)
-              
Output:["_col0"],aggregations:["sum(hash(_col0,_col1,_col2,_col3))"]
-              Select Operator [SEL_11] (rows=27556 width=356)
-                Output:["_col0","_col1","_col2","_col3"]
-              <-Map 1 [SIMPLE_EDGE]
-                SHUFFLE [RS_10]
-                  Map Join Operator [MAPJOIN_20] (rows=27556 width=356)
-                    Conds:(Inner),Output:["_col0","_col1","_col2","_col3"]
-                  <-Map 4 [BROADCAST_EDGE]
-                    BROADCAST [RS_7]
-                      Select Operator [SEL_5] (rows=166 width=178)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_19] (rows=166 width=178)
-                          predicate:(key < 10)
-                          TableScan [TS_3] (rows=500 width=178)
-                            
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                  <-Select Operator [SEL_2] (rows=166 width=178)
-                      Output:["_col0","_col1"]
-                      Filter Operator [FIL_18] (rows=166 width=178)
-                        predicate:(key < 10)
-                        TableScan [TS_0] (rows=500 width=178)
-                          
default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-
-PREHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 
group by c_float, cbo_t1.c_int, key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 
group by c_float, cbo_t1.c_int, key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_7]
-        Select Operator [SEL_5] (rows=10 width=21)
-          Output:["_col0","_col1","_col2"]
-          Group By Operator [GBY_4] (rows=10 width=21)
-            
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-          <-Map 1 [SIMPLE_EDGE]
-            SHUFFLE [RS_3]
-              PartitionCols:_col0, _col1, _col2
-              Group By Operator [GBY_2] (rows=20 width=21)
-                
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                Select Operator [SEL_1] (rows=20 width=21)
-                  Output:["key","c_int","c_float"]
-                  TableScan [TS_0] (rows=20 width=21)
-                    
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select x, y, count(*) from (select key, 
(c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, 
cbo_t1.c_int, key) R group by y, x
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select x, y, count(*) from (select key, 
(c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, 
cbo_t1.c_int, key) R group by y, x
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_12]
-        Select Operator [SEL_11] (rows=5 width=21)
-          Output:["_col0","_col1","_col2"]
-          Group By Operator [GBY_10] (rows=5 width=21)
-            
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-          <-Reducer 2 [SIMPLE_EDGE]
-            SHUFFLE [RS_9]
-              PartitionCols:_col0, _col1
-              Group By Operator [GBY_8] (rows=10 width=21)
-                
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col0, _col1
-                Select Operator [SEL_5] (rows=10 width=21)
-                  Output:["_col0","_col1"]
-                  Group By Operator [GBY_4] (rows=10 width=21)
-                    
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                  <-Map 1 [SIMPLE_EDGE]
-                    SHUFFLE [RS_3]
-                      PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_2] (rows=20 width=21)
-                        
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                        Select Operator [SEL_1] (rows=20 width=21)
-                          Output:["key","c_int","c_float"]
-                          TableScan [TS_0] (rows=20 width=21)
-                            
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key 
order by a) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from 
cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 
0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r asc) cbo_t2 on 
cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or 
c_int >= 0) group by cbo_t3.c_int, c order by cbo_t3.c_int+c desc, c
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key 
order by a) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from 
cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 
0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r asc) cbo_t2 on 
cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or 
c_int >= 0) group by cbo_t3.c_int, c order by cbo_t3.c_int+c desc, c
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 7
-      File Output Operator [FS_42]
-        Select Operator [SEL_41] (rows=6 width=87)
-          Output:["_col0","_col1","_col2"]
-        <-Reducer 6 [SIMPLE_EDGE]
-          SHUFFLE [RS_40]
-            Select Operator [SEL_38] (rows=6 width=87)
-              Output:["_col0","_col1","_col2"]
-              Group By Operator [GBY_37] (rows=6 width=87)
-                
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-              <-Reducer 5 [SIMPLE_EDGE]
-                SHUFFLE [RS_36]
-                  PartitionCols:_col0, _col1
-                  Group By Operator [GBY_35] (rows=12 width=87)
-                    
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col2, _col6
-                    Select Operator [SEL_34] (rows=12 width=87)
-                      Output:["_col2","_col6"]
-                      Filter Operator [FIL_33] (rows=12 width=87)
-                        predicate:((_col1 > 0) or (_col6 >= 0))
-                        Merge Join Operator [MERGEJOIN_52] (rows=19 width=87)
-                          
Conds:RS_30._col0=RS_31._col0(Inner),Output:["_col1","_col2","_col6"]
-                        <-Map 11 [SIMPLE_EDGE]
-                          SHUFFLE [RS_31]
-                            PartitionCols:_col0
-                            Select Operator [SEL_29] (rows=18 width=84)
-                              Output:["_col0","_col1"]
-                              Filter Operator [FIL_50] (rows=18 width=84)
-                                predicate:key is not null
-                                TableScan [TS_27] (rows=20 width=84)
-                                  
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                        <-Reducer 4 [SIMPLE_EDGE]
-                          SHUFFLE [RS_30]
-                            PartitionCols:_col0
-                            Select Operator [SEL_26] (rows=1 width=23)
-                              Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_25] (rows=1 width=23)
-                                predicate:((_col1 + _col4) >= 0)
-                                Merge Join Operator [MERGEJOIN_51] (rows=2 
width=23)
-                                  
Conds:RS_22._col0=RS_23._col0(Inner),Output:["_col0","_col1","_col2","_col4"]
-                                <-Reducer 10 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_23]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_20] (rows=2 width=21)
-                                      Output:["_col0","_col1"]
-                                    <-Reducer 9 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_19]
-                                        Select Operator [SEL_17] (rows=2 
width=21)
-                                          
Output:["_col0","_col1","_col2","_col3"]
-                                          Group By Operator [GBY_16] (rows=2 
width=21)
-                                            
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                                          <-Map 8 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_15]
-                                              PartitionCols:_col0, _col1, _col2
-                                              Group By Operator [GBY_14] 
(rows=4 width=21)
-                                                
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                                Filter Operator [FIL_49] 
(rows=4 width=21)
-                                                  predicate:(((c_int + 1) >= 
0) and ((c_int > 0) or (c_float >= 0)) and key is not null)
-                                                  TableScan [TS_11] (rows=20 
width=21)
-                                                    
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-                                <-Reducer 3 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_22]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_9] (rows=2 width=21)
-                                      Output:["_col0","_col1","_col2"]
-                                    <-Reducer 2 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_8]
-                                        Select Operator [SEL_6] (rows=2 
width=21)
-                                          Output:["_col0","_col1","_col2"]
-                                          Group By Operator [GBY_5] (rows=2 
width=21)
-                                            
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                                          <-Map 1 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_4]
-                                              PartitionCols:_col0, _col1, _col2
-                                              Group By Operator [GBY_3] 
(rows=4 width=21)
-                                                
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                                Filter Operator [FIL_48] 
(rows=4 width=21)
-                                                  predicate:(((c_int + 1) >= 
0) and ((c_int > 0) or (c_float >= 0)) and key is not null)
-                                                  TableScan [TS_0] (rows=20 
width=21)
-                                                    
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0 order by b % c asc, b desc) cbo_t1 left outer join (select key as p, 
c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and 
(cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key  
having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0) cbo_t2 on cbo_t1.a=p left outer join cbo_t3 on cbo_t1.a=key where (b + 
cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c  having 
cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + c) >= 0  order by 
cbo_t3.c_int % c asc, cbo_t3.c_int desc
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0 order by b % c asc, b desc) cbo_t1 left outer join (select key as p, 
c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and 
(cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key  
having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0) cbo_t2 on cbo_t1.a=p left outer join cbo_t3 on cbo_t1.a=key where (b + 
cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c  having 
cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + c) >= 0  order by 
cbo_t3.c_int % c asc, cbo_t3.c_int desc
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 5 <- Map 10 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 7
-      File Output Operator [FS_39]
-        Select Operator [SEL_38] (rows=1 width=87)
-          Output:["_col0","_col1","_col2"]
-        <-Reducer 6 [SIMPLE_EDGE]
-          SHUFFLE [RS_37]
-            Group By Operator [GBY_34] (rows=1 width=87)
-              
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-            <-Reducer 5 [SIMPLE_EDGE]
-              SHUFFLE [RS_33]
-                PartitionCols:_col0, _col1
-                Group By Operator [GBY_32] (rows=2 width=87)
-                  
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col6, _col2
-                  Select Operator [SEL_31] (rows=2 width=87)
-                    Output:["_col6","_col2"]
-                    Filter Operator [FIL_30] (rows=2 width=87)
-                      predicate:(((_col1 > 0) or (_col6 >= 0)) and ((_col6 >= 
1) or (_col2 >= 1)) and ((UDFToLong(_col6) + _col2) >= 0))
-                      Merge Join Operator [MERGEJOIN_48] (rows=19 width=87)
-                        
Conds:RS_27._col0=RS_28._col0(Inner),Output:["_col1","_col2","_col6"]
-                      <-Map 10 [SIMPLE_EDGE]
-                        SHUFFLE [RS_28]
-                          PartitionCols:_col0
-                          Select Operator [SEL_26] (rows=18 width=84)
-                            Output:["_col0","_col1"]
-                            Filter Operator [FIL_46] (rows=18 width=84)
-                              predicate:((c_int > 0) and key is not null)
-                              TableScan [TS_24] (rows=20 width=84)
-                                
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                      <-Reducer 4 [SIMPLE_EDGE]
-                        SHUFFLE [RS_27]
-                          PartitionCols:_col0
-                          Select Operator [SEL_23] (rows=1 width=23)
-                            Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_22] (rows=1 width=23)
-                              predicate:((_col1 + _col4) >= 0)
-                              Merge Join Operator [MERGEJOIN_47] (rows=1 
width=23)
-                                Conds:RS_19._col0=RS_20._col0(Left 
Outer),Output:["_col0","_col1","_col2","_col4"]
-                              <-Reducer 3 [SIMPLE_EDGE]
-                                SHUFFLE [RS_19]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_9] (rows=1 width=21)
-                                    Output:["_col0","_col1","_col2"]
-                                  <-Reducer 2 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_8]
-                                      Select Operator [SEL_6] (rows=1 width=21)
-                                        
Output:["_col0","_col1","_col2","_col3"]
-                                        Group By Operator [GBY_5] (rows=1 
width=21)
-                                          
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                                        <-Map 1 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_4]
-                                            PartitionCols:_col0, _col1, _col2
-                                            Group By Operator [GBY_3] (rows=1 
width=21)
-                                              
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                              Filter Operator [FIL_44] (rows=1 
width=21)
-                                                predicate:(((c_int + 1) >= 0) 
and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or 
(c_float >= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0) and key is not null)
-                                                TableScan [TS_0] (rows=20 
width=21)
-                                                  
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-                              <-Reducer 9 [SIMPLE_EDGE]
-                                SHUFFLE [RS_20]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_17] (rows=1 width=21)
-                                    Output:["_col0","_col1"]
-                                    Group By Operator [GBY_16] (rows=1 
width=21)
-                                      
Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                                    <-Map 8 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_15]
-                                        PartitionCols:_col0, _col1, _col2
-                                        Group By Operator [GBY_14] (rows=1 
width=21)
-                                          
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
-                                          Filter Operator [FIL_45] (rows=1 
width=21)
-                                            predicate:(((c_int + 1) >= 0) and 
((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float 
>= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0) and key is not null)
-                                            TableScan [TS_11] (rows=20 
width=21)
-                                              
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0 order by b+c, a desc) cbo_t1 right outer join (select key as p, c_int+1 as 
q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int 
> 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having 
cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) 
cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on cbo_t1.a=key where (b + 
cbo_t2.q >= 2) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0 order by b+c, a desc) cbo_t1 right outer join (select key as p, c_int+1 as 
q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int 
> 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having 
cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) 
cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on cbo_t1.a=key where (b + 
cbo_t2.q >= 2) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 8 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Reducer 7 
(SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 5
-      File Output Operator [FS_31]
-        Select Operator [SEL_30] (rows=4 width=84)
-          Output:["_col0","_col1","_col2"]
-          Group By Operator [GBY_29] (rows=4 width=84)
-            
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-          <-Reducer 4 [SIMPLE_EDGE]
-            SHUFFLE [RS_28]
-              PartitionCols:_col0, _col1
-              Group By Operator [GBY_27] (rows=8 width=84)
-                
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col2, _col6
-                Select Operator [SEL_26] (rows=8 width=84)
-                  Output:["_col2","_col6"]
-                  Filter Operator [FIL_25] (rows=8 width=84)
-                    predicate:(((_col1 + _col4) >= 2) and ((_col1 > 0) or 
(_col6 >= 0)))
-                    Merge Join Operator [MERGEJOIN_36] (rows=44 width=84)
-                      Conds:RS_21._col0=RS_22._col0(Right 
Outer),RS_21._col0=RS_23._col0(Right 
Outer),Output:["_col1","_col2","_col4","_col6"]
-                    <-Map 8 [SIMPLE_EDGE]
-                      SHUFFLE [RS_23]
-                        PartitionCols:_col0
-                        Select Operator [SEL_20] (rows=20 width=84)
-                          Output:["_col0","_col1"]
-                          TableScan [TS_19] (rows=20 width=84)
-                            
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                    <-Reducer 3 [SIMPLE_EDGE]
-                      SHUFFLE [RS_21]
-                        PartitionCols:_col0
-                        Select Operator [SEL_9] (rows=1 width=21)
-                          Output:["_col0","_col1","_col2"]
-                        <-Reducer 2 [SIMPLE_EDGE]
-                          SHUFFLE [RS_8]
-                            Select Operator [SEL_6] (rows=1 width=21)
-                              Output:["_col0","_col1","_col2","_col3"]
-                              Group By Operator [GBY_5] (rows=1 width=21)
-                                
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                              <-Map 1 [SIMPLE_EDGE]
-                                SHUFFLE [RS_4]
-                                  PartitionCols:_col0, _col1, _col2
-                                  Group By Operator [GBY_3] (rows=1 width=21)
-                                    
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                    Filter Operator [FIL_34] (rows=1 width=21)
-                                      predicate:(((c_int + 1) >= 0) and 
((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float 
>= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0))
-                                      TableScan [TS_0] (rows=20 width=21)
-                                        
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-                    <-Reducer 7 [SIMPLE_EDGE]
-                      SHUFFLE [RS_22]
-                        PartitionCols:_col0
-                        Select Operator [SEL_17] (rows=1 width=21)
-                          Output:["_col0","_col1"]
-                          Group By Operator [GBY_16] (rows=1 width=21)
-                            Output:["_col0","_col1","_col2"],keys:KEY._col0, 
KEY._col1, KEY._col2
-                          <-Map 6 [SIMPLE_EDGE]
-                            SHUFFLE [RS_15]
-                              PartitionCols:_col0, _col1, _col2
-                              Group By Operator [GBY_14] (rows=1 width=21)
-                                Output:["_col0","_col1","_col2"],keys:key, 
c_int, c_float
-                                Filter Operator [FIL_35] (rows=1 width=21)
-                                  predicate:(((c_int + 1) >= 0) and ((c_int > 
0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) 
and ((UDFToFloat(c_int) + c_float) >= 0.0))
-                                  TableScan [TS_11] (rows=20 width=21)
-                                    
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0 order by c+a desc) cbo_t1 full outer join (select key as p, c_int+1 as q, 
sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 
or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having 
cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 
order by p+q desc, r asc) cbo_t2 on cbo_t1.a=p full outer join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by 
cbo_t3.c_int, c having cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + 
c) >= 0 order by cbo_t3.c_int
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0 order by c+a desc) cbo_t1 full outer join (select key as p, c_int+1 as q, 
sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 
or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having 
cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 
order by p+q desc, r asc) cbo_t2 on cbo_t1.a=p full outer join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by 
cbo_t3.c_int, c having cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + 
c) >= 0 order by cbo_t3.c_int
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Reducer 9 
(SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 8 <- Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 6
-      File Output Operator [FS_37]
-        Select Operator [SEL_36] (rows=1 width=84)
-          Output:["_col0","_col1","_col2"]
-        <-Reducer 5 [SIMPLE_EDGE]
-          SHUFFLE [RS_35]
-            Group By Operator [GBY_33] (rows=1 width=84)
-              
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-            <-Reducer 4 [SIMPLE_EDGE]
-              SHUFFLE [RS_32]
-                PartitionCols:_col0, _col1
-                Group By Operator [GBY_31] (rows=1 width=84)
-                  
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col6, _col2
-                  Select Operator [SEL_30] (rows=1 width=84)
-                    Output:["_col6","_col2"]
-                    Filter Operator [FIL_29] (rows=1 width=84)
-                      predicate:(((_col1 + _col4) >= 0) and ((_col1 > 0) or 
(_col6 >= 0)) and ((_col6 >= 1) or (_col2 >= 1)) and ((UDFToLong(_col6) + 
_col2) >= 0))
-                      Merge Join Operator [MERGEJOIN_42] (rows=44 width=84)
-                        
Conds:RS_25._col0=RS_26._col0(Outer),RS_25._col0=RS_27._col0(Right 
Outer),Output:["_col1","_col2","_col4","_col6"]
-                      <-Map 10 [SIMPLE_EDGE]
-                        SHUFFLE [RS_27]
-                          PartitionCols:_col0
-                          Select Operator [SEL_24] (rows=20 width=84)
-                            Output:["_col0","_col1"]
-                            Filter Operator [FIL_41] (rows=20 width=84)
-                              predicate:(c_int > 0)
-                              TableScan [TS_22] (rows=20 width=84)
-                                
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        SHUFFLE [RS_25]
-                          PartitionCols:_col0
-                          Select Operator [SEL_9] (rows=1 width=21)
-                            Output:["_col0","_col1","_col2"]
-                          <-Reducer 2 [SIMPLE_EDGE]
-                            SHUFFLE [RS_8]
-                              Select Operator [SEL_6] (rows=1 width=21)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Group By Operator [GBY_5] (rows=1 width=21)
-                                  
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                                <-Map 1 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_4]
-                                    PartitionCols:_col0, _col1, _col2
-                                    Group By Operator [GBY_3] (rows=1 width=21)
-                                      
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                      Filter Operator [FIL_39] (rows=1 
width=21)
-                                        predicate:(((c_int + 1) >= 0) and 
((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float 
>= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0))
-                                        TableScan [TS_0] (rows=20 width=21)
-                                          
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-                      <-Reducer 9 [SIMPLE_EDGE]
-                        SHUFFLE [RS_26]
-                          PartitionCols:_col0
-                          Select Operator [SEL_20] (rows=1 width=21)
-                            Output:["_col0","_col1"]
-                          <-Reducer 8 [SIMPLE_EDGE]
-                            SHUFFLE [RS_19]
-                              Select Operator [SEL_17] (rows=1 width=21)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Group By Operator [GBY_16] (rows=1 width=21)
-                                  
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                                <-Map 7 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_15]
-                                    PartitionCols:_col0, _col1, _col2
-                                    Group By Operator [GBY_14] (rows=1 
width=21)
-                                      
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                      Filter Operator [FIL_40] (rows=1 
width=21)
-                                        predicate:(((c_int + 1) >= 0) and 
((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float 
>= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0))
-                                        TableScan [TS_11] (rows=20 width=21)
-                                          
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 
where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  
group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or 
c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by 
cbo_t3.c_int, c
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key 
having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) 
>= 0) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 
where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  
group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or 
c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by 
cbo_t3.c_int, c
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 4 <- Map 8 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 5
-      File Output Operator [FS_33]
-        Select Operator [SEL_32] (rows=6 width=87)
-          Output:["_col0","_col1","_col2"]
-          Group By Operator [GBY_31] (rows=6 width=87)
-            
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-          <-Reducer 4 [SIMPLE_EDGE]
-            SHUFFLE [RS_30]
-              PartitionCols:_col0, _col1
-              Group By Operator [GBY_29] (rows=12 width=87)
-                
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col2, _col6
-                Select Operator [SEL_28] (rows=12 width=87)
-                  Output:["_col2","_col6"]
-                  Filter Operator [FIL_27] (rows=12 width=87)
-                    predicate:((_col1 > 0) or (_col6 >= 0))
-                    Merge Join Operator [MERGEJOIN_43] (rows=19 width=87)
-                      
Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col1","_col2","_col6"]
-                    <-Map 8 [SIMPLE_EDGE]
-                      SHUFFLE [RS_25]
-                        PartitionCols:_col0
-                        Select Operator [SEL_23] (rows=18 width=84)
-                          Output:["_col0","_col1"]
-                          Filter Operator [FIL_41] (rows=18 width=84)
-                            predicate:key is not null
-                            TableScan [TS_21] (rows=20 width=84)
-                              
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                    <-Reducer 3 [SIMPLE_EDGE]
-                      SHUFFLE [RS_24]
-                        PartitionCols:_col0
-                        Select Operator [SEL_20] (rows=1 width=23)
-                          Output:["_col0","_col1","_col2"]
-                          Filter Operator [FIL_19] (rows=1 width=23)
-                            predicate:((_col1 + _col4) >= 0)
-                            Merge Join Operator [MERGEJOIN_42] (rows=1 
width=23)
-                              
Conds:RS_16._col0=RS_17._col0(Inner),Output:["_col0","_col1","_col2","_col4"]
-                            <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_16]
-                                PartitionCols:_col0
-                                Select Operator [SEL_6] (rows=1 width=21)
-                                  Output:["_col0","_col1","_col2"]
-                                  Group By Operator [GBY_5] (rows=1 width=21)
-                                    
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                                  <-Map 1 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_4]
-                                      PartitionCols:_col0, _col1, _col2
-                                      Group By Operator [GBY_3] (rows=1 
width=21)
-                                        
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                        Filter Operator [FIL_39] (rows=1 
width=21)
-                                          predicate:(((c_int + 1) >= 0) and 
((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float 
>= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0) and key is not null)
-                                          TableScan [TS_0] (rows=20 width=21)
-                                            
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-                            <-Reducer 7 [SIMPLE_EDGE]
-                              SHUFFLE [RS_17]
-                                PartitionCols:_col0
-                                Select Operator [SEL_14] (rows=1 width=21)
-                                  Output:["_col0","_col1"]
-                                  Group By Operator [GBY_13] (rows=1 width=21)
-                                    
Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                                  <-Map 6 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_12]
-                                      PartitionCols:_col0, _col1, _col2
-                                      Group By Operator [GBY_11] (rows=1 
width=21)
-                                        
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
-                                        Filter Operator [FIL_40] (rows=1 
width=21)
-                                          predicate:(((c_int + 1) >= 0) and 
((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float 
>= 1)) and ((UDFToFloat(c_int) + c_float) >= 0.0) and key is not null)
-                                          TableScan [TS_8] (rows=20 width=21)
-                                            
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select unionsrc.key FROM (select 'tst1' as key, 
count(1) as value from src) unionsrc
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select unionsrc.key FROM (select 'tst1' as key, 
count(1) as value from src) unionsrc
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_7]
-        Select Operator [SEL_5] (rows=1 width=88)
-          Output:["_col0"]
-          Group By Operator [GBY_4] (rows=1 width=8)
-            Output:["_col0"],aggregations:["count(VALUE._col0)"]
-          <-Map 1 [SIMPLE_EDGE]
-            SHUFFLE [RS_3]
-              Group By Operator [GBY_2] (rows=1 width=8)
-                Output:["_col0"],aggregations:["count(key)"]
-                Select Operator [SEL_1] (rows=500 width=87)
-                  Output:["key"]
-                  TableScan [TS_0] (rows=500 width=87)
-                    default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select unionsrc.key FROM (select 'max' as key, 
max(c_int) as value from cbo_t3 s1
-       UNION  ALL
-       select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc 
order by unionsrc.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select unionsrc.key FROM (select 'max' as key, 
max(c_int) as value from cbo_t3 s1
-       UNION  ALL
-       select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc 
order by unionsrc.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Union 3 (CONTAINS)
-Reducer 4 <- Union 3 (SIMPLE_EDGE)
-Reducer 6 <- Map 5 (SIMPLE_EDGE), Union 3 (CONTAINS)
-Reducer 8 <- Map 7 (SIMPLE_EDGE), Union 3 (CONTAINS)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_26]
-        Select Operator [SEL_25] (rows=3 width=87)
-          Output:["_col0"]
-        <-Union 3 [SIMPLE_EDGE]
-          <-Reducer 2 [CONTAINS]
-            Reduce Output Operator [RS_24]
-              Select Operator [SEL_5] (rows=1 width=87)
-                Output:["_col0"]
-                Group By Operator [GBY_4] (rows=1 width=8)
-                  Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                <-Map 1 [SIMPLE_EDGE]
-                  SHUFFLE [RS_3]
-                    Group By Operator [GBY_2] (rows=1 width=8)
-                      Output:["_col0"],aggregations:["count(key)"]
-                      Select Operator [SEL_1] (rows=20 width=80)
-                        Output:["key"]
-                        TableScan [TS_0] (rows=20 width=80)
-                          
default@cbo_t3,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-          <-Reducer 6 [CONTAINS]
-            Reduce Output Operator [RS_24]
-              Select Operator [SEL_12] (rows=1 width=87)
-                Output:["_col0"]
-                Group By Operator [GBY_11] (rows=1 width=8)
-                  Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                <-Map 5 [SIMPLE_EDGE]
-                  SHUFFLE [RS_10]
-                    Group By Operator [GBY_9] (rows=1 width=8)
-                      Output:["_col0"],aggregations:["count(key)"]
-                      Select Operator [SEL_8] (rows=20 width=80)
-                        Output:["key"]
-                        TableScan [TS_7] (rows=20 width=80)
-                          
default@cbo_t3,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-          <-Reducer 8 [CONTAINS]
-            Reduce Output Operator [RS_24]
-              Select Operator [SEL_21] (rows=1 width=87)
-                Output:["_col0"]
-                Group By Operator [GBY_20] (rows=1 width=8)
-                  Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                <-Map 7 [SIMPLE_EDGE]
-                  SHUFFLE [RS_19]
-                    Group By Operator [GBY_18] (rows=1 width=8)
-                      Output:["_col0"],aggregations:["count(key)"]
-                      Select Operator [SEL_17] (rows=20 width=80)
-                        Output:["key"]
-                        TableScan [TS_16] (rows=20 width=80)
-                          
default@cbo_t3,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select unionsrc.key, count(1) FROM (select 'max' as 
key, max(c_int) as value from cbo_t3 s1
-    UNION  ALL
-        select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc 
group by unionsrc.key order by unionsrc.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select unionsrc.key, count(1) FROM (select 'max' as 
key, max(c_int) as value from cbo_t3 s1
-    UNION  ALL
-        select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc 
group by unionsrc.key order by unionsrc.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Union 3 (CONTAINS)
-Reducer 4 <- Union 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE), Union 3 (CONTAINS)
-Reducer 9 <- Map 8 (SIMPLE_EDGE), Union 3 (CONTAINS)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 5
-      File Output Operator [FS_31]
-        Select Operator [SEL_30] (rows=1 width=95)
-          Output:["_col0","_col1"]
-        <-Reducer 4 [SIMPLE_EDGE]
-          SHUFFLE [RS_29]
-            Group By Operator [GBY_27] (rows=1 width=95)
-              
Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
-            <-Union 3 [SIMPLE_EDGE]
-              <-Reducer 2 [CONTAINS]
-                Reduce Output Operator [RS_26]
-                  PartitionCols:_col0
-                  Group By Operator [GBY_25] (rows=1 width=95)
-                    
Output:["_col0","_col1"],aggregations:["count(1)"],keys:_col0
-                    Select Operator [SEL_5] (rows=1 width=87)
-                      Output:["_col0"]
-                      Group By Operator [GBY_4] (rows=1 width=8)
-                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                      <-Map 1 [SIMPLE_EDGE]
-                        SHUFFLE [RS_3]
-                          Group By Operator [GBY_2] (rows=1 width=8)
-                            Output:["_col0"],aggregations:["count(key)"]
-                            Select Operator [SEL_1] (rows=20 width=80)
-                              Output:["key"]
-                              TableScan [TS_0] (rows=20 width=80)
-                                
default@cbo_t3,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-              <-Reducer 7 [CONTAINS]
-                Reduce Output Operator [RS_26]
-                  PartitionCols:_col0
-                  Group By Operator [GBY_25] (rows=1 width=95)
-                    
Output:["_col0","_col1"],aggregations:["count(1)"],keys:_col0
-                    Select Operator [SEL_12] (rows=1 width=87)
-                      Output:["_col0"]
-                      Group By Operator [GBY_11] (rows=1 width=8)
-                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                      <-Map 6 [SIMPLE_EDGE]
-                        SHUFFLE [RS_10]
-                          Group By Operator [GBY_9] (rows=1 width=8)
-                            Output:["_col0"],aggregations:["count(key)"]
-                            Select Operator [SEL_8] (rows=20 width=80)
-                              Output:["key"]
-                              TableScan [TS_7] (rows=20 width=80)
-                                
default@cbo_t3,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-              <-Reducer 9 [CONTAINS]
-                Reduce Output Operator [RS_26]
-                  PartitionCols:_col0
-                  Group By Operator [GBY_25] (rows=1 width=95)
-                    
Output:["_col0","_col1"],aggregations:["count(1)"],keys:_col0
-                    Select Operator [SEL_21] (rows=1 width=87)
-                      Output:["_col0"]
-                      Group By Operator [GBY_20] (rows=1 width=8)
-                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                      <-Map 8 [SIMPLE_EDGE]
-                        SHUFFLE [RS_19]
-                          Group By Operator [GBY_18] (rows=1 width=8)
-                            Output:["_col0"],aggregations:["count(key)"]
-                            Select Operator [SEL_17] (rows=20 width=80)
-                              Output:["key"]
-                              TableScan [TS_16] (rows=20 width=80)
-                                
default@cbo_t3,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select cbo_t1.key from cbo_t1 join cbo_t3 where 
cbo_t1.key=cbo_t3.key and cbo_t1.key >= 1
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t1.key from cbo_t1 join cbo_t3 where 
cbo_t1.key=cbo_t3.key and cbo_t1.key >= 1
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_10]
-        Merge Join Operator [MERGEJOIN_15] (rows=6 width=23)
-          Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0"]
-        <-Map 1 [SIMPLE_EDGE]
-          SHUFFLE [RS_6]
-            PartitionCols:_col0
-            Select Operator [SEL_2] (rows=6 width=21)
-              Output:["_col0"]
-              Filter Operator [FIL_13] (rows=6 width=21)
-                predicate:(UDFToDouble(key) >= 1.0)
-                TableScan [TS_0] (rows=20 width=21)
-                  default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key"]
-        <-Map 3 [SIMPLE_EDGE]
-          SHUFFLE [RS_7]
-            PartitionCols:_col0
-            Select Operator [SEL_5] (rows=6 width=85)
-              Output:["_col0"]
-              Filter Operator [FIL_14] (rows=6 width=85)
-                predicate:(UDFToDouble(key) >= 1.0)
-                TableScan [TS_3] (rows=20 width=80)
-                  
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 left 
outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 left 
outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Select Operator [SEL_7] (rows=22 width=21)
-          Output:["_col0","_col1"]
-          Merge Join Operator [MERGEJOIN_11] (rows=22 width=21)
-            Conds:RS_4._col0=RS_5._col0(Left Outer),Output:["_col1","_col3"]
-          <-Map 1 [SIMPLE_EDGE]
-            SHUFFLE [RS_4]
-              PartitionCols:_col0
-              Select Operator [SEL_1] (rows=20 width=21)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=20 width=21)
-                  
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-          <-Map 3 [SIMPLE_EDGE]
-            SHUFFLE [RS_5]
-              PartitionCols:_col0
-              Select Operator [SEL_3] (rows=20 width=21)
-                Output:["_col0","_col1"]
-                TableScan [TS_2] (rows=20 width=21)
-                  
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-
-PREHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 full 
outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 full 
outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Select Operator [SEL_7] (rows=22 width=21)
-          Output:["_col0","_col1"]
-          Merge Join Operator [MERGEJOIN_9] (rows=22 width=21)
-            Conds:RS_4._col0=RS_5._col0(Outer),Output:["_col1","_col3"]
-          <-Map 1 [SIMPLE_EDGE]
-            SHUFFLE [RS_4]
-              PartitionCols:_col0
-              Select Operator [SEL_1] (rows=20 width=21)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=20 width=21)
-                  
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-          <-Map 3 [SIMPLE_EDGE]
-            SHUFFLE [RS_5]
-              PartitionCols:_col0
-              Select Operator [SEL_3] (rows=20 width=21)
-                Output:["_col0","_col1"]
-                TableScan [TS_2] (rows=20 width=21)
-                  
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-
-PREHOOK: query: explain select b, cbo_t1.c, cbo_t2.p, q, cbo_t3.c_int from 
(select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1) cbo_t1 join 
(select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on 
cbo_t1.a=p join cbo_t3 on cbo_t1.a=key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select b, cbo_t1.c, cbo_t2.p, q, cbo_t3.c_int from 
(select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1) cbo_t1 join 
(select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on 
cbo_t1.a=p join cbo_t3 on cbo_t1.a=key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_14]
-        Select Operator [SEL_13] (rows=44 width=21)
-          Output:["_col0","_col1","_col2","_col3","_col4"]
-          Merge Join Operator [MERGEJOIN_24] (rows=44 width=21)
-            
Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6"]
-          <-Map 1 [SIMPLE_EDGE]
-            SHUFFLE [RS_9]
-              PartitionCols:_col0
-              Select Operator [SEL_2] (rows=20 width=21)
-                Output:["_col0","_col1","_col2"]
-                Filter Operator [FIL_21] (rows=20 width=21)
-                  predicate:key is not null
-                  TableScan [TS_0] (rows=20 width=21)
-                    
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-          <-Map 3 [SIMPLE_EDGE]
-            SHUFFLE [RS_10]
-              PartitionCols:_col0
-              Select Operator [SEL_5] (rows=20 width=21)
-                Output:["_col0","_col1"]
-                Filter Operator [FIL_22] (rows=20 width=21)
-                  predicate:key is not null
-                  TableScan [TS_3] (rows=20 width=21)
-                    
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-          <-Map 4 [SIMPLE_EDGE]
-            SHUFFLE [RS_11]
-              PartitionCols:_col0
-              Select Operator [SEL_8] (rows=18 width=84)
-                Output:["_col0","_col1"]
-                Filter Operator [FIL_23] (rows=18 width=84)
-                  predicate:key is not null
-                  TableScan [TS_6] (rows=20 width=84)
-                    
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select key, cbo_t1.c_int, cbo_t2.p, q from cbo_t1 join 
(select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on 
cbo_t1.key=p join (select key as a, c_int as b, cbo_t3.c_float as c from 
cbo_t3)cbo_t3 on cbo_t1.key=a
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, cbo_t1.c_int, cbo_t2.p, q from cbo_t1 
join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) 
cbo_t2 on cbo_t1.key=p join (select key as a, c_int as b, cbo_t3.c_float as c 
from cbo_t3)cbo_t3 on cbo_t1.key=a
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_14]
-        Merge Join Operator [MERGEJOIN_24] (rows=44 width=21)
-          
Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col0","_col1","_col2","_col3"]
-        <-Map 1 [SIMPLE_EDGE]
-          SHUFFLE [RS_9]
-            PartitionCols:_col0
-            Select Operator [SEL_2] (rows=20 width=21)
-              Output:["_col0","_col1"]
-              Filter Operator [FIL_21] (rows=20 width=21)
-                predicate:key is not null
-                TableScan [TS_0] (rows=20 width=21)
-                  
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-        <-Map 3 [SIMPLE_EDGE]
-          SHUFFLE [RS_10]
-            PartitionCols:_col0
-            Select Operator [SEL_5] (rows=20 width=21)
-              Output:["_col0","_col1"]
-              Filter Operator [FIL_22] (rows=20 width=21)
-                predicate:key is not null
-                TableScan [TS_3] (rows=20 width=21)
-                  
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-        <-Map 4 [SIMPLE_EDGE]
-          SHUFFLE [RS_11]
-            PartitionCols:_col0
-            Select Operator [SEL_8] (rows=18 width=80)
-              Output:["_col0"]
-              Filter Operator [FIL_23] (rows=18 width=80)
-                predicate:key is not null
-                TableScan [TS_6] (rows=20 width=80)
-                  
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, 
cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1 
 where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) 
cbo_t1 full outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r 
from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or 
cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b 
+ cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 1 = 2) and (R.b > 0 
or c_int >= 0)
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, 
cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1 
 where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) 
cbo_t1 full outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r 
from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or 
cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b 
+ cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 1 = 2) and (R.b > 0 
or c_int >= 0)
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
-Reducer 3 <- Map 5 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_19]
-        Select Operator [SEL_18] (rows=12 width=87)
-          Output:["_col0","_col1","_col2","_col3","_col4"]
-          Filter Operator [FIL_17] (rows=12 width=87)
-            predicate:((_col1 > 0) or (_col6 >= 0))
-            Merge Join Operator [MERGEJOIN_28] (rows=19 width=87)
-              
Conds:RS_14._col0=RS_15._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6"]
-            <-Map 5 [SIMPLE_EDGE]
-              SHUFFLE [RS_15]
-                PartitionCols:_col0
-                Select Operator [SEL_13] (rows=18 width=84)
-                  Output:["_col0","_col1"]
-                  Filter Operator [FIL_26] (rows=18 width=84)
-                    predicate:key is not null
-                    TableScan [TS_11] (rows=20 width=84)
-                      
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-            <-Reducer 2 [SIMPLE_EDGE]
-              SHUFFLE [RS_14]
-                PartitionCols:_col0
-                Filter Operator [FIL_9] (rows=1 width=23)
-                  predicate:(((_col1 + _col4) = 2) and ((_col4 + 1) = 2))
-                  Merge Join Operator [MERGEJOIN_27] (rows=6 width=23)
-                    Conds:RS_6._col0=RS_7._col0(Left 
Outer),Output:["_col0","_col1","_col2","_col3","_col4"]
-                  <-Map 1 [SIMPLE_EDGE]
-                    SHUFFLE [RS_6]
-                      PartitionCols:_col0
-                      Select Operator [SEL_2] (rows=6 width=21)
-                        Output:["_col0","_col1","_col2"]
-                        Filter Operator [FIL_24] (rows=6 width=21)
-                          predicate:(((c_int + 1) = 2) and ((c_int > 0) or 
(c_float >= 0)) and key is not null)
-                          TableScan [TS_0] (rows=20 width=21)
-                            
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-                  <-Map 4 [SIMPLE_EDGE]
-                    SHUFFLE [RS_7]
-                      PartitionCols:_col0
-                      Select Operator [SEL_5] (rows=6 width=21)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_25] (rows=6 width=21)
-                          predicate:(((c_int + 1) = 2) and ((c_int > 0) or 
(c_float >= 0)) and key is not null)
-                          TableScan [TS_3] (rows=20 width=21)
-                            
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, 
cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1 
 where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) 
cbo_t1 right outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as 
r from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or 
cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 
1 = 2) and (R.b > 0 or c_int >= 0)
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, 
cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1 
 where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) 
cbo_t1 right outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as 
r from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or 
cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on 
cbo_t1.a=key where (b + cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 
1 = 2) and (R.b > 0 or c_int >= 0)
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_14]
-        Select Operator [SEL_13] (rows=7 width=84)
-          Output:["_col0","_col1","_col2","_col3","_col4"]
-          Filter Operator [FIL_12] (rows=7 width=84)
-            predicate:(((_col1 + _col4) = 2) and ((_col1 > 0) or (_col6 >= 0)) 
and ((_col4 + 1) = 2))
-            Merge Join Operator [MERGEJOIN_19] (rows=44 width=84)
-              Conds:RS_8._col0=RS_9._col0(Right 
Outer),RS_8._col0=RS_10._col0(Right 
Outer),Output:["_col1","_col2","_col3","_col4","_col6"]
-            <-Map 1 [SIMPLE_EDGE]
-              SHUFFLE [RS_8]
-                PartitionCols:_col0
-                Select Operator [SEL_2] (rows=6 width=21)
-                  Output:["_col0","_col1","_col2"]
-                  Filter Operator [FIL_17] (rows=6 width=21)
-                    predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float 
>= 0)))
-                    TableScan [TS_0] (rows=20 width=21)
-                      
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-            <-Map 3 [SIMPLE_EDGE]
-              SHUFFLE [RS_9]
-                PartitionCols:_col0
-                Select Operator [SEL_5] (rows=6 width=21)
-                  Output:["_col0","_col1"]
-                  Filter Operator [FIL_18] (rows=6 width=21)
-                    predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float 
>= 0)))
-                    TableScan [TS_3] (rows=20 width=21)
-                      
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-            <-Map 4 [SIMPLE_EDGE]
-              SHUFFLE [RS_10]
-                PartitionCols:_col0
-                Select Operator [SEL_7] (rows=20 width=84)
-                  Output:["_col0","_col1"]
-                  TableScan [TS_6] (rows=20 width=84)
-                    
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 
group by c_float, cbo_t1.c_int, key order by x limit 1
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 
group by c_float, cbo_t1.c_int, key order by x limit 1
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_10]
-        Limit [LIM_9] (rows=1 width=21)
-          Number of rows:1
-          Select Operator [SEL_8] (rows=10 width=21)
-            Output:["_col0","_col1","_col2"]
-          <-Reducer 2 [SIMPLE_EDGE]
-            SHUFFLE [RS_7]
-              Select Operator [SEL_5] (rows=10 width=21)
-                Output:["_col0","_col1","_col2"]
-                Group By Operator [GBY_4] (rows=10 width=21)
-                  
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                <-Map 1 [SIMPLE_EDGE]
-                  SHUFFLE [RS_3]
-                    PartitionCols:_col0, _col1, _col2
-                    Group By Operator [GBY_2] (rows=20 width=21)
-                      
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                      Select Operator [SEL_1] (rows=20 width=21)
-                        Output:["key","c_int","c_float"]
-                        TableScan [TS_0] (rows=20 width=21)
-                          
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select x, y, count(*) from (select key, 
(c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, 
cbo_t1.c_int, key) R group by y, x order by x,y limit 1
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select x, y, count(*) from (select key, 
(c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, 
cbo_t1.c_int, key) R group by y, x order by x,y limit 1
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_15]
-        Limit [LIM_14] (rows=1 width=21)
-          Number of rows:1
-          Select Operator [SEL_13] (rows=5 width=21)
-            Output:["_col0","_col1","_col2"]
-          <-Reducer 3 [SIMPLE_EDGE]
-            SHUFFLE [RS_12]
-              Group By Operator [GBY_10] (rows=5 width=21)
-                
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-              <-Reducer 2 [SIMPLE_EDGE]
-                SHUFFLE [RS_9]
-                  PartitionCols:_col0, _col1
-                  Group By Operator [GBY_8] (rows=10 width=21)
-                    
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col0
-                    Select Operator [SEL_5] (rows=10 width=21)
-                      Output:["_col0","_col1"]
-                      Group By Operator [GBY_4] (rows=10 width=21)
-                        
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2
-                      <-Map 1 [SIMPLE_EDGE]
-                        SHUFFLE [RS_3]
-                          PartitionCols:_col0, _col1, _col2
-                          Group By Operator [GBY_2] (rows=20 width=21)
-                            
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                            Select Operator [SEL_1] (rows=20 width=21)
-                              Output:["key","c_int","c_float"]
-                              TableScan [TS_0] (rows=20 width=21)
-                                
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select key from(select key from (select key from 
cbo_t1 limit 5)cbo_t2  limit 5)cbo_t3  limit 5
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key from(select key from (select key from 
cbo_t1 limit 5)cbo_t2  limit 5)cbo_t3  limit 5
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:5
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_13]
-        Limit [LIM_12] (rows=5 width=21)
-          Number of rows:5
-          Limit [LIM_10] (rows=5 width=21)
-            Number of rows:5
-            Select Operator [SEL_9] (rows=5 width=21)
-              Output:["_col0"]
-            <-Reducer 2 [SIMPLE_EDGE]
-              SHUFFLE [RS_8]
-                Limit [LIM_7] (rows=5 width=21)
-                  Number of rows:5
-                  Limit [LIM_5] (rows=5 width=21)
-                    Number of rows:5
-                    Select Operator [SEL_4] (rows=5 width=21)
-                      Output:["_col0"]
-                    <-Map 1 [SIMPLE_EDGE]
-                      SHUFFLE [RS_3]
-                        Limit [LIM_2] (rows=5 width=21)
-                          Number of rows:5
-                          Select Operator [SEL_1] (rows=20 width=21)
-                            Output:["_col0"]
-                            TableScan [TS_0] (rows=20 width=21)
-                              
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key"]
-
-PREHOOK: query: explain select key, c_int from(select key, c_int from (select 
key, c_int from cbo_t1 order by c_int limit 5)cbo_t1  order by c_int limit 
5)cbo_t2  order by c_int limit 5
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, c_int from(select key, c_int from (select 
key, c_int from cbo_t1 order by c_int limit 5)cbo_t1  order by c_int limit 
5)cbo_t2  order by c_int limit 5
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:5
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_13]
-        Limit [LIM_12] (rows=5 width=21)
-          Number of rows:5
-          Select Operator [SEL_11] (rows=5 width=21)
-            Output:["_col0","_col1"]
-          <-Reducer 3 [SIMPLE_EDGE]
-            SHUFFLE [RS_10]
-              Limit [LIM_8] (rows=5 width=21)
-                Number of rows:5
-                Select Operator [SEL_7] (rows=5 width=21)
-                  Output:["_col0","_col1"]
-                <-Reducer 2 [SIMPLE_EDGE]
-                  SHUFFLE [RS_6]
-                    Limit [LIM_4] (rows=5 width=21)
-                      Number of rows:5
-                      Select Operator [SEL_3] (rows=20 width=21)
-                        Output:["_col0","_col1"]
-                      <-Map 1 [SIMPLE_EDGE]
-                        SHUFFLE [RS_2]
-                          Select Operator [SEL_1] (rows=20 width=21)
-                            Output:["_col0","_col1"]
-                            TableScan [TS_0] (rows=20 width=21)
-                              
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:NONE,Output:["key","c_int"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key 
order by a limit 5) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r 
from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or 
cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r 
asc limit 5) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + 
cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c order by 
cbo_t3.c_int+c desc, c limit 5
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as 
a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and 
(cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key 
order by a limit 5) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r 
from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or 
cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r 
asc limit 5) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + 
cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c order by 
cbo_t3.c_int+c desc, c limit 5
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE)
-
-Stage-0
-  Fetch Operator
-    limit:5
-    Stage-1
-      Reducer 7
-      File Output Operator [FS_49]
-        Limit [LIM_48] (rows=5 width=87)
-          Number of rows:5
-          Select Operator [SEL_47] (rows=6 width=87)
-            Output:["_col0","_col1","_col2"]
-          <-Reducer 6 [SIMPLE_EDGE]
-            SHUFFLE [RS_46]
-              Select Operator [SEL_44] (rows=6 width=87)
-                Output:["_col0","_col1","_col2"]
-                Group By Operator [GBY_43] (rows=6 width=87)
-                  
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
-                <-Reducer 5 [SIMPLE_EDGE]
-                  SHUFFLE [RS_42]
-                    PartitionCols:_col0, _col1
-                    Group By Operator [GBY_41] (rows=12 width=87)
-                      
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col2, _col6
-                      Select Operator [SEL_40] (rows=12 width=87)
-                        Output:["_col2","_col6"]
-                        Filter Operator [FIL_39] (rows=12 width=87)
-                          predicate:((_col1 > 0) or (_col6 >= 0))
-                          Merge Join Operator [MERGEJOIN_61] (rows=19 width=87)
-                            
Conds:RS_36._col0=RS_37._col0(Inner),Output:["_col1","_col2","_col6"]
-                          <-Map 11 [SIMPLE_EDGE]
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_35] (rows=18 width=84)
-                                Output:["_col0","_col1"]
-                                Filter Operator [FIL_59] (rows=18 width=84)
-                                  predicate:key is not null
-                                  TableScan [TS_33] (rows=20 width=84)
-                                    
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                          <-Reducer 4 [SIMPLE_EDGE]
-                            SHUFFLE [RS_36]
-                              PartitionCols:_col0
-                              Select Operator [SEL_32] (rows=1 width=23)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_31] (rows=1 width=23)
-                                  predicate:((_col1 + _col4) >= 0)
-             

<TRUNCATED>

Reply via email to