http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/perf/tez/query74.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query74.q.out 
b/ql/src/test/results/clientpositive/perf/tez/query74.q.out
index 738e64f..854e6dc 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query74.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query74.q.out
@@ -121,10 +121,10 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 22 (BROADCAST_EDGE)
-Map 11 <- Reducer 21 (BROADCAST_EDGE), Reducer 25 (BROADCAST_EDGE)
-Map 15 <- Reducer 20 (BROADCAST_EDGE)
-Map 7 <- Reducer 23 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE)
+Map 1 <- Reducer 21 (BROADCAST_EDGE)
+Map 11 <- Reducer 23 (BROADCAST_EDGE)
+Map 15 <- Reducer 20 (BROADCAST_EDGE), Reducer 25 (BROADCAST_EDGE)
+Map 7 <- Reducer 22 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
 Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 19 (SIMPLE_EDGE)
 Reducer 13 <- Map 24 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
@@ -154,36 +154,36 @@ Stage-0
       File Output Operator [FS_356]
         Limit [LIM_355] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_354] (rows=383325119 width=88)
+          Select Operator [SEL_354] (rows=574987679 width=88)
             Output:["_col0","_col1","_col2"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_89]
-              Select Operator [SEL_88] (rows=383325119 width=88)
+              Select Operator [SEL_88] (rows=574987679 width=88)
                 Output:["_col0","_col1","_col2"]
-                Filter Operator [FIL_87] (rows=383325119 width=88)
-                  predicate:((_col9 / _col1) > (_col7 / _col3))
+                Filter Operator [FIL_87] (rows=574987679 width=88)
+                  predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN 
(_col5 is not null) THEN (((_col1 / _col5) > (_col9 / _col3))) ELSE ((null > 
(_col9 / _col3))) END) ELSE (CASE WHEN (_col5 is not null) THEN (((_col1 / 
_col5) > null)) ELSE (null) END) END
                   Merge Join Operator [MERGEJOIN_279] (rows=1149975359 
width=88)
-                    
Conds:RS_323._col0=RS_335._col0(Inner),RS_335._col0=RS_345._col0(Inner),RS_335._col0=RS_353._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col9"]
+                    
Conds:RS_321._col0=RS_333._col0(Inner),RS_333._col0=RS_343._col0(Inner),RS_333._col0=RS_353._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col9"]
                   <-Reducer 10 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_335]
+                    SHUFFLE [RS_333]
                       PartitionCols:_col0
-                      Select Operator [SEL_334] (rows=116159124 width=88)
+                      Select Operator [SEL_332] (rows=116159124 width=88)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_333] (rows=116159124 width=88)
+                        Filter Operator [FIL_331] (rows=116159124 width=88)
                           predicate:(_col4 > 0)
-                          Select Operator [SEL_332] (rows=348477374 width=88)
+                          Select Operator [SEL_330] (rows=348477374 width=88)
                             Output:["_col0","_col4"]
-                            Group By Operator [GBY_331] (rows=348477374 
width=88)
+                            Group By Operator [GBY_329] (rows=348477374 
width=88)
                               
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2, KEY._col3
                             <-Reducer 9 [SIMPLE_EDGE]
-                              SHUFFLE [RS_38]
+                              SHUFFLE [RS_37]
                                 PartitionCols:_col0, _col1, _col2, _col3
-                                Group By Operator [GBY_37] (rows=696954748 
width=88)
+                                Group By Operator [GBY_36] (rows=696954748 
width=88)
                                   
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6,
 _col7, _col8, _col4
                                   Merge Join Operator [MERGEJOIN_274] 
(rows=696954748 width=88)
-                                    
Conds:RS_33._col1=RS_313._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                                    
Conds:RS_32._col1=RS_312._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                                   <-Map 24 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_313]
+                                    SHUFFLE [RS_312]
                                       PartitionCols:_col0
                                       Select Operator [SEL_308] (rows=80000000 
width=860)
                                         
Output:["_col0","_col1","_col2","_col3"]
@@ -192,212 +192,212 @@ Stage-0
                                           TableScan [TS_68] (rows=80000000 
width=860)
                                             
default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_first_name","c_last_name"]
                                   <-Reducer 8 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_33]
+                                    SHUFFLE [RS_32]
                                       PartitionCols:_col1
                                       Merge Join Operator [MERGEJOIN_273] 
(rows=633595212 width=88)
-                                        
Conds:RS_330._col0=RS_292._col0(Inner),Output:["_col1","_col2","_col4"]
+                                        
Conds:RS_328._col0=RS_290._col0(Inner),Output:["_col1","_col2","_col4"]
                                       <-Map 19 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_292]
+                                        SHUFFLE [RS_290]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_285] 
(rows=18262 width=1119)
+                                          Select Operator [SEL_284] 
(rows=18262 width=1119)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_282] 
(rows=18262 width=1119)
+                                            Filter Operator [FIL_281] 
(rows=18262 width=1119)
                                               predicate:((d_year = 2001) and 
(d_year) IN (2001, 2002) and d_date_sk is not null)
                                               TableScan [TS_65] (rows=73049 
width=1119)
                                                 
default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                                       <-Map 7 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_330]
+                                        SHUFFLE [RS_328]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_329] 
(rows=575995635 width=88)
+                                          Select Operator [SEL_327] 
(rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_328] 
(rows=575995635 width=88)
-                                              predicate:((ss_customer_sk 
BETWEEN DynamicValue(RS_34_customer_c_customer_sk_min) AND 
DynamicValue(RS_34_customer_c_customer_sk_max) and 
in_bloom_filter(ss_customer_sk, 
DynamicValue(RS_34_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk 
BETWEEN DynamicValue(RS_31_date_dim_d_date_sk_min) AND 
DynamicValue(RS_31_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, 
DynamicValue(RS_31_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not 
null and ss_sold_date_sk is not null)
-                                              TableScan [TS_21] 
(rows=575995635 width=88)
+                                            Filter Operator [FIL_326] 
(rows=575995635 width=88)
+                                              predicate:((ss_customer_sk 
BETWEEN DynamicValue(RS_33_customer_c_customer_sk_min) AND 
DynamicValue(RS_33_customer_c_customer_sk_max) and 
in_bloom_filter(ss_customer_sk, 
DynamicValue(RS_33_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk 
BETWEEN DynamicValue(RS_30_date_dim_d_date_sk_min) AND 
DynamicValue(RS_30_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, 
DynamicValue(RS_30_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not 
null and ss_sold_date_sk is not null)
+                                              TableScan [TS_20] 
(rows=575995635 width=88)
                                                 
default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_net_paid"]
-                                              <-Reducer 23 [BROADCAST_EDGE] 
vectorized
-                                                BROADCAST [RS_325]
-                                                  Group By Operator [GBY_324] 
(rows=1 width=12)
+                                              <-Reducer 22 [BROADCAST_EDGE] 
vectorized
+                                                BROADCAST [RS_323]
+                                                  Group By Operator [GBY_322] 
(rows=1 width=12)
                                                     
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=1000000)"]
                                                   <-Map 19 
[CUSTOM_SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_301]
-                                                      Group By Operator 
[GBY_297] (rows=1 width=12)
+                                                    SHUFFLE [RS_300]
+                                                      Group By Operator 
[GBY_296] (rows=1 width=12)
                                                         
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=1000000)"]
-                                                        Select Operator 
[SEL_293] (rows=18262 width=1119)
+                                                        Select Operator 
[SEL_291] (rows=18262 width=1119)
                                                           Output:["_col0"]
-                                                           Please refer to the 
previous Select Operator [SEL_285]
+                                                           Please refer to the 
previous Select Operator [SEL_284]
                                               <-Reducer 26 [BROADCAST_EDGE] 
vectorized
-                                                BROADCAST [RS_327]
-                                                  Group By Operator [GBY_326] 
(rows=1 width=12)
+                                                BROADCAST [RS_325]
+                                                  Group By Operator [GBY_324] 
(rows=1 width=12)
                                                     
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=80000000)"]
                                                   <-Map 24 
[CUSTOM_SIMPLE_EDGE] vectorized
                                                     SHUFFLE [RS_318]
                                                       Group By Operator 
[GBY_316] (rows=1 width=12)
                                                         
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=80000000)"]
-                                                        Select Operator 
[SEL_314] (rows=80000000 width=860)
+                                                        Select Operator 
[SEL_313] (rows=80000000 width=860)
                                                           Output:["_col0"]
                                                            Please refer to the 
previous Select Operator [SEL_308]
                   <-Reducer 14 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_345]
+                    SHUFFLE [RS_343]
+                      PartitionCols:_col0
+                      Select Operator [SEL_342] (rows=29040539 width=135)
+                        Output:["_col0","_col1"]
+                        Filter Operator [FIL_341] (rows=29040539 width=135)
+                          predicate:(_col4 > 0)
+                          Select Operator [SEL_340] (rows=87121617 width=135)
+                            Output:["_col0","_col4"]
+                            Group By Operator [GBY_339] (rows=87121617 
width=135)
+                              
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2, KEY._col3
+                            <-Reducer 13 [SIMPLE_EDGE]
+                              SHUFFLE [RS_58]
+                                PartitionCols:_col0, _col1, _col2, _col3
+                                Group By Operator [GBY_57] (rows=174243235 
width=135)
+                                  
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6,
 _col7, _col8, _col4
+                                  Merge Join Operator [MERGEJOIN_276] 
(rows=174243235 width=135)
+                                    
Conds:RS_53._col1=RS_314._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                                  <-Map 24 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_314]
+                                      PartitionCols:_col0
+                                       Please refer to the previous Select 
Operator [SEL_308]
+                                  <-Reducer 12 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_53]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_275] 
(rows=158402938 width=135)
+                                        
Conds:RS_338._col0=RS_292._col0(Inner),Output:["_col1","_col2","_col4"]
+                                      <-Map 19 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_292]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_285] 
(rows=18262 width=1119)
+                                            Output:["_col0","_col1"]
+                                            Filter Operator [FIL_282] 
(rows=18262 width=1119)
+                                              predicate:((d_year = 2001) and 
(d_year) IN (2001, 2002) and d_date_sk is not null)
+                                               Please refer to the previous 
TableScan [TS_65]
+                                      <-Map 11 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_338]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_337] 
(rows=144002668 width=135)
+                                            Output:["_col0","_col1","_col2"]
+                                            Filter Operator [FIL_336] 
(rows=144002668 width=135)
+                                              predicate:((ws_sold_date_sk 
BETWEEN DynamicValue(RS_51_date_dim_d_date_sk_min) AND 
DynamicValue(RS_51_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, 
DynamicValue(RS_51_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk 
is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_41] 
(rows=144002668 width=135)
+                                                
default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_net_paid"]
+                                              <-Reducer 23 [BROADCAST_EDGE] 
vectorized
+                                                BROADCAST [RS_335]
+                                                  Group By Operator [GBY_334] 
(rows=1 width=12)
+                                                    
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=1000000)"]
+                                                  <-Map 19 
[CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_301]
+                                                      Group By Operator 
[GBY_297] (rows=1 width=12)
+                                                        
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=1000000)"]
+                                                        Select Operator 
[SEL_293] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the 
previous Select Operator [SEL_285]
+                  <-Reducer 18 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_353]
                       PartitionCols:_col0
-                      Select Operator [SEL_344] (rows=348477374 width=88)
+                      Select Operator [SEL_352] (rows=348477374 width=88)
                         Output:["_col0","_col1","_col2","_col3"]
-                        Group By Operator [GBY_343] (rows=348477374 width=88)
+                        Group By Operator [GBY_351] (rows=348477374 width=88)
                           
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2, KEY._col3
-                        <-Reducer 13 [SIMPLE_EDGE]
-                          SHUFFLE [RS_59]
+                        <-Reducer 17 [SIMPLE_EDGE]
+                          SHUFFLE [RS_79]
                             PartitionCols:_col0, _col1, _col2, _col3
-                            Group By Operator [GBY_58] (rows=696954748 
width=88)
+                            Group By Operator [GBY_78] (rows=696954748 
width=88)
                               
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6,
 _col7, _col8, _col4
-                              Merge Join Operator [MERGEJOIN_276] 
(rows=696954748 width=88)
-                                
Conds:RS_54._col1=RS_310._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                              Merge Join Operator [MERGEJOIN_278] 
(rows=696954748 width=88)
+                                
Conds:RS_74._col1=RS_309._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                               <-Map 24 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_310]
+                                SHUFFLE [RS_309]
                                   PartitionCols:_col0
                                    Please refer to the previous Select 
Operator [SEL_308]
-                              <-Reducer 12 [SIMPLE_EDGE]
-                                SHUFFLE [RS_54]
+                              <-Reducer 16 [SIMPLE_EDGE]
+                                SHUFFLE [RS_74]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_275] 
(rows=633595212 width=88)
-                                    
Conds:RS_342._col0=RS_288._col0(Inner),Output:["_col1","_col2","_col4"]
+                                  Merge Join Operator [MERGEJOIN_277] 
(rows=633595212 width=88)
+                                    
Conds:RS_350._col0=RS_286._col0(Inner),Output:["_col1","_col2","_col4"]
                                   <-Map 19 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_288]
+                                    SHUFFLE [RS_286]
                                       PartitionCols:_col0
                                       Select Operator [SEL_283] (rows=18262 
width=1119)
                                         Output:["_col0","_col1"]
                                         Filter Operator [FIL_280] (rows=18262 
width=1119)
                                           predicate:((d_year = 2002) and 
(d_year) IN (2001, 2002) and d_date_sk is not null)
                                            Please refer to the previous 
TableScan [TS_65]
-                                  <-Map 11 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_342]
+                                  <-Map 15 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_350]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_341] 
(rows=575995635 width=88)
+                                      Select Operator [SEL_349] 
(rows=575995635 width=88)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_340] 
(rows=575995635 width=88)
-                                          predicate:((ss_customer_sk BETWEEN 
DynamicValue(RS_55_customer_c_customer_sk_min) AND 
DynamicValue(RS_55_customer_c_customer_sk_max) and 
in_bloom_filter(ss_customer_sk, 
DynamicValue(RS_55_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk 
BETWEEN DynamicValue(RS_52_date_dim_d_date_sk_min) AND 
DynamicValue(RS_52_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, 
DynamicValue(RS_52_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not 
null and ss_sold_date_sk is not null)
-                                          TableScan [TS_42] (rows=575995635 
width=88)
+                                        Filter Operator [FIL_348] 
(rows=575995635 width=88)
+                                          predicate:((ss_customer_sk BETWEEN 
DynamicValue(RS_75_customer_c_customer_sk_min) AND 
DynamicValue(RS_75_customer_c_customer_sk_max) and 
in_bloom_filter(ss_customer_sk, 
DynamicValue(RS_75_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk 
BETWEEN DynamicValue(RS_72_date_dim_d_date_sk_min) AND 
DynamicValue(RS_72_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, 
DynamicValue(RS_72_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not 
null and ss_sold_date_sk is not null)
+                                          TableScan [TS_62] (rows=575995635 
width=88)
                                             
default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_net_paid"]
-                                          <-Reducer 21 [BROADCAST_EDGE] 
vectorized
-                                            BROADCAST [RS_337]
-                                              Group By Operator [GBY_336] 
(rows=1 width=12)
+                                          <-Reducer 20 [BROADCAST_EDGE] 
vectorized
+                                            BROADCAST [RS_345]
+                                              Group By Operator [GBY_344] 
(rows=1 width=12)
                                                 
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=1000000)"]
                                               <-Map 19 [CUSTOM_SIMPLE_EDGE] 
vectorized
-                                                SHUFFLE [RS_299]
-                                                  Group By Operator [GBY_295] 
(rows=1 width=12)
+                                                SHUFFLE [RS_298]
+                                                  Group By Operator [GBY_294] 
(rows=1 width=12)
                                                     
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=1000000)"]
-                                                    Select Operator [SEL_289] 
(rows=18262 width=1119)
+                                                    Select Operator [SEL_287] 
(rows=18262 width=1119)
                                                       Output:["_col0"]
                                                        Please refer to the 
previous Select Operator [SEL_283]
                                           <-Reducer 25 [BROADCAST_EDGE] 
vectorized
-                                            BROADCAST [RS_339]
-                                              Group By Operator [GBY_338] 
(rows=1 width=12)
+                                            BROADCAST [RS_347]
+                                              Group By Operator [GBY_346] 
(rows=1 width=12)
                                                 
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=80000000)"]
                                               <-Map 24 [CUSTOM_SIMPLE_EDGE] 
vectorized
                                                 SHUFFLE [RS_317]
                                                   Group By Operator [GBY_315] 
(rows=1 width=12)
                                                     
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=80000000)"]
-                                                    Select Operator [SEL_311] 
(rows=80000000 width=860)
+                                                    Select Operator [SEL_310] 
(rows=80000000 width=860)
                                                       Output:["_col0"]
                                                        Please refer to the 
previous Select Operator [SEL_308]
-                  <-Reducer 18 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_353]
+                  <-Reducer 4 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_321]
                       PartitionCols:_col0
-                      Select Operator [SEL_352] (rows=87121617 width=135)
+                      Select Operator [SEL_320] (rows=87121617 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_351] (rows=87121617 width=135)
+                        Group By Operator [GBY_319] (rows=87121617 width=135)
                           
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2, KEY._col3
-                        <-Reducer 17 [SIMPLE_EDGE]
-                          SHUFFLE [RS_79]
+                        <-Reducer 3 [SIMPLE_EDGE]
+                          SHUFFLE [RS_17]
                             PartitionCols:_col0, _col1, _col2, _col3
-                            Group By Operator [GBY_78] (rows=174243235 
width=135)
+                            Group By Operator [GBY_16] (rows=174243235 
width=135)
                               
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6,
 _col7, _col8, _col4
-                              Merge Join Operator [MERGEJOIN_278] 
(rows=174243235 width=135)
-                                
Conds:RS_74._col1=RS_309._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                              Merge Join Operator [MERGEJOIN_272] 
(rows=174243235 width=135)
+                                
Conds:RS_12._col1=RS_311._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                               <-Map 24 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_309]
+                                SHUFFLE [RS_311]
                                   PartitionCols:_col0
                                    Please refer to the previous Select 
Operator [SEL_308]
-                              <-Reducer 16 [SIMPLE_EDGE]
-                                SHUFFLE [RS_74]
+                              <-Reducer 2 [SIMPLE_EDGE]
+                                SHUFFLE [RS_12]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_277] 
(rows=158402938 width=135)
-                                    
Conds:RS_350._col0=RS_286._col0(Inner),Output:["_col1","_col2","_col4"]
+                                  Merge Join Operator [MERGEJOIN_271] 
(rows=158402938 width=135)
+                                    
Conds:RS_306._col0=RS_288._col0(Inner),Output:["_col1","_col2","_col4"]
                                   <-Map 19 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_286]
+                                    SHUFFLE [RS_288]
                                       PartitionCols:_col0
                                        Please refer to the previous Select 
Operator [SEL_283]
-                                  <-Map 15 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_350]
+                                  <-Map 1 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_306]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_349] 
(rows=144002668 width=135)
+                                      Select Operator [SEL_305] 
(rows=144002668 width=135)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_348] 
(rows=144002668 width=135)
-                                          predicate:((ws_sold_date_sk BETWEEN 
DynamicValue(RS_72_date_dim_d_date_sk_min) AND 
DynamicValue(RS_72_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, 
DynamicValue(RS_72_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk 
is not null and ws_sold_date_sk is not null)
-                                          TableScan [TS_62] (rows=144002668 
width=135)
+                                        Filter Operator [FIL_304] 
(rows=144002668 width=135)
+                                          predicate:((ws_sold_date_sk BETWEEN 
DynamicValue(RS_10_date_dim_d_date_sk_min) AND 
DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, 
DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk 
is not null and ws_sold_date_sk is not null)
+                                          TableScan [TS_0] (rows=144002668 
width=135)
                                             
default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_net_paid"]
-                                          <-Reducer 20 [BROADCAST_EDGE] 
vectorized
-                                            BROADCAST [RS_347]
-                                              Group By Operator [GBY_346] 
(rows=1 width=12)
+                                          <-Reducer 21 [BROADCAST_EDGE] 
vectorized
+                                            BROADCAST [RS_303]
+                                              Group By Operator [GBY_302] 
(rows=1 width=12)
                                                 
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=1000000)"]
                                               <-Map 19 [CUSTOM_SIMPLE_EDGE] 
vectorized
-                                                SHUFFLE [RS_298]
-                                                  Group By Operator [GBY_294] 
(rows=1 width=12)
+                                                SHUFFLE [RS_299]
+                                                  Group By Operator [GBY_295] 
(rows=1 width=12)
                                                     
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=1000000)"]
-                                                    Select Operator [SEL_287] 
(rows=18262 width=1119)
+                                                    Select Operator [SEL_289] 
(rows=18262 width=1119)
                                                       Output:["_col0"]
                                                        Please refer to the 
previous Select Operator [SEL_283]
-                  <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_323]
-                      PartitionCols:_col0
-                      Select Operator [SEL_322] (rows=29040539 width=135)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_321] (rows=29040539 width=135)
-                          predicate:(_col4 > 0)
-                          Select Operator [SEL_320] (rows=87121617 width=135)
-                            Output:["_col0","_col4"]
-                            Group By Operator [GBY_319] (rows=87121617 
width=135)
-                              
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0,
 KEY._col1, KEY._col2, KEY._col3
-                            <-Reducer 3 [SIMPLE_EDGE]
-                              SHUFFLE [RS_17]
-                                PartitionCols:_col0, _col1, _col2, _col3
-                                Group By Operator [GBY_16] (rows=174243235 
width=135)
-                                  
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(_col2)"],keys:_col6,
 _col7, _col8, _col4
-                                  Merge Join Operator [MERGEJOIN_272] 
(rows=174243235 width=135)
-                                    
Conds:RS_12._col1=RS_312._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
-                                  <-Map 24 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_312]
-                                      PartitionCols:_col0
-                                       Please refer to the previous Select 
Operator [SEL_308]
-                                  <-Reducer 2 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_12]
-                                      PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_271] 
(rows=158402938 width=135)
-                                        
Conds:RS_306._col0=RS_290._col0(Inner),Output:["_col1","_col2","_col4"]
-                                      <-Map 19 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_290]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_284] 
(rows=18262 width=1119)
-                                            Output:["_col0","_col1"]
-                                            Filter Operator [FIL_281] 
(rows=18262 width=1119)
-                                              predicate:((d_year = 2001) and 
(d_year) IN (2001, 2002) and d_date_sk is not null)
-                                               Please refer to the previous 
TableScan [TS_65]
-                                      <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_306]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_305] 
(rows=144002668 width=135)
-                                            Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_304] 
(rows=144002668 width=135)
-                                              predicate:((ws_sold_date_sk 
BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND 
DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, 
DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk 
is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_0] (rows=144002668 
width=135)
-                                                
default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_net_paid"]
-                                              <-Reducer 22 [BROADCAST_EDGE] 
vectorized
-                                                BROADCAST [RS_303]
-                                                  Group By Operator [GBY_302] 
(rows=1 width=12)
-                                                    
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2,
 expectedEntries=1000000)"]
-                                                  <-Map 19 
[CUSTOM_SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_300]
-                                                      Group By Operator 
[GBY_296] (rows=1 width=12)
-                                                        
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0,
 expectedEntries=1000000)"]
-                                                        Select Operator 
[SEL_291] (rows=18262 width=1119)
-                                                          Output:["_col0"]
-                                                           Please refer to the 
previous Select Operator [SEL_284]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out 
b/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
index 7509697..df4e476 100644
--- a/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
+++ b/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
@@ -468,25 +468,26 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: table3_n0
-                  filterExpr: (id = 100) (type: boolean)
-                  Statistics: Num rows: 5 Data size: 15 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: (id = 100) (type: boolean)
-                    Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE 
Column stats: NONE
-                    Select Operator
-                      expressions: 100 (type: int), true (type: boolean)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 2 Data size: 6 Basic stats: 
COMPLETE Column stats: NONE
-                      Group By Operator
-                        keys: _col0 (type: int), _col1 (type: boolean)
-                        mode: hash
+                  Statistics: Num rows: 5 Data size: 15 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    Statistics: Num rows: 5 Data size: 20 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Filter Operator
+                      predicate: false (type: boolean)
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      Select Operator
+                        expressions: 100 (type: int), true (type: boolean)
                         outputColumnNames: _col0, _col1
-                        Statistics: Num rows: 2 Data size: 6 Basic stats: 
COMPLETE Column stats: NONE
-                        Reduce Output Operator
-                          key expressions: _col0 (type: int), _col1 (type: 
boolean)
-                          sort order: ++
-                          Map-reduce partition columns: _col0 (type: int), 
_col1 (type: boolean)
-                          Statistics: Num rows: 2 Data size: 6 Basic stats: 
COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: COMPLETE
+                        Group By Operator
+                          keys: _col0 (type: int), _col1 (type: boolean)
+                          mode: hash
+                          outputColumnNames: _col0, _col1
+                          Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: COMPLETE
+                          Reduce Output Operator
+                            key expressions: _col0 (type: int), _col1 (type: 
boolean)
+                            sort order: ++
+                            Map-reduce partition columns: _col0 (type: int), 
_col1 (type: boolean)
+                            Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: COMPLETE
             Execution mode: vectorized
         Reducer 2 
             Reduce Operator Tree:
@@ -497,10 +498,10 @@ STAGE PLANS:
                   0 100 (type: int), true (type: boolean)
                   1 _col0 (type: int), _col1 (type: boolean)
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE 
Column stats: NONE
+                Statistics: Num rows: 1 Data size: 22 Basic stats: COMPLETE 
Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE 
Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 22 Basic stats: COMPLETE 
Column stats: NONE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -655,25 +656,26 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: table3_n0
-                  filterExpr: (id = 100) (type: boolean)
-                  Statistics: Num rows: 5 Data size: 15 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: (id = 100) (type: boolean)
-                    Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE 
Column stats: NONE
-                    Select Operator
-                      expressions: 100 (type: int), true (type: boolean)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 2 Data size: 6 Basic stats: 
COMPLETE Column stats: NONE
-                      Group By Operator
-                        keys: _col0 (type: int), _col1 (type: boolean)
-                        mode: hash
+                  Statistics: Num rows: 5 Data size: 15 Basic stats: COMPLETE 
Column stats: COMPLETE
+                  Select Operator
+                    Statistics: Num rows: 5 Data size: 20 Basic stats: 
COMPLETE Column stats: COMPLETE
+                    Filter Operator
+                      predicate: false (type: boolean)
+                      Statistics: Num rows: 1 Data size: 4 Basic stats: 
COMPLETE Column stats: COMPLETE
+                      Select Operator
+                        expressions: 100 (type: int), true (type: boolean)
                         outputColumnNames: _col0, _col1
-                        Statistics: Num rows: 2 Data size: 6 Basic stats: 
COMPLETE Column stats: NONE
-                        Reduce Output Operator
-                          key expressions: _col0 (type: int), _col1 (type: 
boolean)
-                          sort order: ++
-                          Map-reduce partition columns: _col0 (type: int), 
_col1 (type: boolean)
-                          Statistics: Num rows: 2 Data size: 6 Basic stats: 
COMPLETE Column stats: NONE
+                        Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: COMPLETE
+                        Group By Operator
+                          keys: _col0 (type: int), _col1 (type: boolean)
+                          mode: hash
+                          outputColumnNames: _col0, _col1
+                          Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: COMPLETE
+                          Reduce Output Operator
+                            key expressions: _col0 (type: int), _col1 (type: 
boolean)
+                            sort order: ++
+                            Map-reduce partition columns: _col0 (type: int), 
_col1 (type: boolean)
+                            Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: COMPLETE
             Execution mode: vectorized
         Reducer 2 
             Reduce Operator Tree:
@@ -684,10 +686,10 @@ STAGE PLANS:
                   0 100 (type: int), true (type: boolean)
                   1 _col0 (type: int), _col1 (type: boolean)
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE 
Column stats: NONE
+                Statistics: Num rows: 1 Data size: 22 Basic stats: COMPLETE 
Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE 
Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 22 Basic stats: COMPLETE 
Column stats: NONE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/pcr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/pcr.q.out 
b/ql/src/test/results/clientpositive/spark/pcr.q.out
index 11c7891..83437e5 100644
--- a/ql/src/test/results/clientpositive/spark/pcr.q.out
+++ b/ql/src/test/results/clientpositive/spark/pcr.q.out
@@ -1927,7 +1927,7 @@ POSTHOOK: query: explain extended select key, value from 
pcr_t1 where ds>='2000-
 POSTHOOK: type: QUERY
 OPTIMIZED SQL: SELECT `key`, `value`
 FROM `default`.`pcr_t1`
-WHERE `ds` >= '2000-04-08' OR `ds` < '2000-04-10'
+WHERE `ds` >= '2000-04-08' OR `ds` IS NOT NULL
 ORDER BY `key`, `value`
 STAGE DEPENDENCIES:
   Stage-1 is a root stage
@@ -1944,7 +1944,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pcr_t1
-                  filterExpr: ((ds >= '2000-04-08') or (ds < '2000-04-10')) 
(type: boolean)
+                  filterExpr: ((ds >= '2000-04-08') or ds is not null) (type: 
boolean)
                   Statistics: Num rows: 60 Data size: 480 Basic stats: 
COMPLETE Column stats: NONE
                   GatherStats: false
                   Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out 
b/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
index b488129..c5d0d63 100644
--- a/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
+++ b/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
@@ -428,24 +428,24 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 4
-      File Output Operator [FS_32]
-        Select Operator [SEL_30] (rows=1 width=20)
+      File Output Operator [FS_33]
+        Select Operator [SEL_31] (rows=1 width=20)
           Output:["_col0","_col1","_col2"]
         <-Reducer 3 [SORT]
-          SORT [RS_29]
-            Select Operator [SEL_28] (rows=1 width=28)
+          SORT [RS_30]
+            Select Operator [SEL_29] (rows=1 width=28)
               Output:["_col0","_col1","_col2","_col3"]
-              Group By Operator [GBY_27] (rows=1 width=20)
+              Group By Operator [GBY_28] (rows=1 width=20)
                 
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
               <-Reducer 2 [GROUP]
-                GROUP [RS_26]
+                GROUP [RS_27]
                   PartitionCols:_col0, _col1
-                  Group By Operator [GBY_25] (rows=1 width=20)
+                  Group By Operator [GBY_26] (rows=1 width=20)
                     
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-                    Select Operator [SEL_24] (rows=1 width=20)
+                    Select Operator [SEL_25] (rows=1 width=20)
                       Output:["_col1","_col4"]
                       Filter Operator [FIL_21] (rows=1 width=20)
-                        predicate:(((UDFToLong(_col1) + _col4) >= 0) and 
((_col1 >= 1) or (_col4 >= 1L)) and ((_col3 + _col6) >= 0))
+                        predicate:(((UDFToLong(_col1) + _col4) >= 0) and 
((_col1 >= 1) or (_col4 >= 1L)) and ((_col3 + _col6) >= 0) and ((_col3 > 0) or 
_col1 is not null))
                         Join Operator [JOIN_20] (rows=3 width=18)
                           Output:["_col1","_col3","_col4","_col6"],condition 
map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
                         <-Map 1 [PARTITION-LEVEL SORT]
@@ -453,7 +453,7 @@ Stage-0
                             PartitionCols:_col0
                             Select Operator [SEL_2] (rows=18 width=84)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_33] (rows=18 width=84)
+                              Filter Operator [FIL_34] (rows=18 width=84)
                                 predicate:((c_int > 0) and key is not null)
                                 TableScan [TS_0] (rows=20 width=84)
                                   
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
@@ -469,8 +469,8 @@ Stage-0
                                   PartitionCols:_col0, _col1, _col2
                                   Group By Operator [GBY_6] (rows=1 width=101)
                                     
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                    Filter Operator [FIL_34] (rows=2 width=93)
-                                      predicate:(((UDFToFloat(c_int) + 
c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and 
((c_int >= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                    Filter Operator [FIL_35] (rows=2 width=93)
+                                      predicate:(((UDFToFloat(c_int) + 
c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) 
and ((c_int >= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                       TableScan [TS_3] (rows=20 width=88)
                                         
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
                         <-Reducer 8 [PARTITION-LEVEL SORT]
@@ -485,8 +485,8 @@ Stage-0
                                   PartitionCols:_col0, _col1, _col2
                                   Group By Operator [GBY_13] (rows=1 width=93)
                                     Output:["_col0","_col1","_col2"],keys:key, 
c_int, c_float
-                                    Filter Operator [FIL_35] (rows=2 width=93)
-                                      predicate:(((UDFToFloat(c_int) + 
c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and 
((c_int >= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                    Filter Operator [FIL_36] (rows=2 width=93)
+                                      predicate:(((UDFToFloat(c_int) + 
c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) 
and ((c_int >= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                       TableScan [TS_10] (rows=20 width=88)
                                         
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
 
@@ -543,7 +543,7 @@ Stage-0
                             Group By Operator [GBY_6] (rows=1 width=101)
                               
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
                               Filter Operator [FIL_30] (rows=2 width=93)
-                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 1) 
or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int 
>= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                 TableScan [TS_3] (rows=20 width=88)
                                   
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
                   <-Reducer 7 [PARTITION-LEVEL SORT]
@@ -559,7 +559,7 @@ Stage-0
                             Group By Operator [GBY_13] (rows=1 width=93)
                               Output:["_col0","_col1","_col2"],keys:key, 
c_int, c_float
                               Filter Operator [FIL_31] (rows=2 width=93)
-                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 1) 
or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int 
>= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                 TableScan [TS_10] (rows=20 width=88)
                                   
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
 
@@ -581,22 +581,22 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 4
-      File Output Operator [FS_31]
-        Select Operator [SEL_30] (rows=1 width=20)
+      File Output Operator [FS_32]
+        Select Operator [SEL_31] (rows=1 width=20)
           Output:["_col0","_col1","_col2"]
         <-Reducer 3 [SORT]
-          SORT [RS_29]
-            Group By Operator [GBY_27] (rows=1 width=20)
+          SORT [RS_30]
+            Group By Operator [GBY_28] (rows=1 width=20)
               
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
             <-Reducer 2 [GROUP]
-              GROUP [RS_26]
+              GROUP [RS_27]
                 PartitionCols:_col0, _col1
-                Group By Operator [GBY_25] (rows=1 width=20)
+                Group By Operator [GBY_26] (rows=1 width=20)
                   
Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-                  Select Operator [SEL_24] (rows=1 width=20)
+                  Select Operator [SEL_25] (rows=1 width=20)
                     Output:["_col1","_col4"]
                     Filter Operator [FIL_21] (rows=1 width=20)
-                      predicate:(((UDFToLong(_col1) + _col4) >= 0) and ((_col1 
>= 1) or (_col4 >= 1L)) and ((_col3 + _col6) >= 0))
+                      predicate:(((UDFToLong(_col1) + _col4) >= 0) and ((_col1 
>= 1) or (_col4 >= 1L)) and ((_col3 + _col6) >= 0) and ((_col3 > 0) or _col1 is 
not null))
                       Join Operator [JOIN_20] (rows=3 width=18)
                         Output:["_col1","_col3","_col4","_col6"],condition 
map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
                       <-Map 1 [PARTITION-LEVEL SORT]
@@ -604,7 +604,7 @@ Stage-0
                           PartitionCols:_col0
                           Select Operator [SEL_2] (rows=18 width=84)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_32] (rows=18 width=84)
+                            Filter Operator [FIL_33] (rows=18 width=84)
                               predicate:((c_int > 0) and key is not null)
                               TableScan [TS_0] (rows=20 width=84)
                                 
default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
@@ -620,8 +620,8 @@ Stage-0
                                 PartitionCols:_col0, _col1, _col2
                                 Group By Operator [GBY_6] (rows=1 width=101)
                                   
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
-                                  Filter Operator [FIL_33] (rows=2 width=93)
-                                    predicate:(((UDFToFloat(c_int) + c_float) 
>= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 
1) or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                  Filter Operator [FIL_34] (rows=2 width=93)
+                                    predicate:(((UDFToFloat(c_int) + c_float) 
>= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and 
((c_int >= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                     TableScan [TS_3] (rows=20 width=88)
                                       
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
                       <-Reducer 8 [PARTITION-LEVEL SORT]
@@ -636,8 +636,8 @@ Stage-0
                                 PartitionCols:_col0, _col1, _col2
                                 Group By Operator [GBY_13] (rows=1 width=93)
                                   Output:["_col0","_col1","_col2"],keys:key, 
c_int, c_float
-                                  Filter Operator [FIL_34] (rows=2 width=93)
-                                    predicate:(((UDFToFloat(c_int) + c_float) 
>= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 
1) or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                  Filter Operator [FIL_35] (rows=2 width=93)
+                                    predicate:(((UDFToFloat(c_int) + c_float) 
>= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and 
((c_int >= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                     TableScan [TS_10] (rows=20 width=88)
                                       
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
 
@@ -694,7 +694,7 @@ Stage-0
                             Group By Operator [GBY_6] (rows=1 width=101)
                               
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
                               Filter Operator [FIL_30] (rows=2 width=93)
-                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 1) 
or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int 
>= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                 TableScan [TS_3] (rows=20 width=88)
                                   
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
                   <-Reducer 7 [PARTITION-LEVEL SORT]
@@ -710,7 +710,7 @@ Stage-0
                             Group By Operator [GBY_13] (rows=1 width=93)
                               Output:["_col0","_col1","_col2"],keys:key, 
c_int, c_float
                               Filter Operator [FIL_31] (rows=2 width=93)
-                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 1) 
or (c_float >= 1)) and (c_float > 0) and key is not null)
+                                predicate:(((UDFToFloat(c_int) + c_float) >= 
0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int 
>= 1) or (c_float >= 1)) and (c_float > 0) and key is not null)
                                 TableScan [TS_10] (rows=20 width=88)
                                   
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
 
@@ -1537,7 +1537,7 @@ Stage-0
                                   Group By Operator [GBY_3] (rows=1 width=101)
                                     
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, 
c_int, c_float
                                     Filter Operator [FIL_35] (rows=1 width=93)
-                                      predicate:((((c_int + 1) + 1) >= 0) and 
(((c_int + 1) > 0) or (UDFToDouble(key) >= 0.0D)) and ((UDFToFloat(c_int) + 
c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and 
((c_int >= 1) or (c_float >= 1)) and (UDFToDouble(key) > 0.0D) and (c_float > 
0))
+                                      predicate:((((c_int + 1) + 1) >= 0) and 
(((c_int + 1) > 0) or (UDFToDouble(key) >= 0.0D)) and ((UDFToFloat(c_int) + 
c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) 
and ((c_int >= 1) or (c_float >= 1)) and (UDFToDouble(key) > 0.0D) and (c_float 
> 0))
                                       TableScan [TS_0] (rows=20 width=88)
                                         
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
                     <-Reducer 7 [PARTITION-LEVEL SORT]
@@ -1555,7 +1555,7 @@ Stage-0
                                 Group By Operator [GBY_12] (rows=1 width=93)
                                   Output:["_col0","_col1","_col2"],keys:key, 
c_int, c_float
                                   Filter Operator [FIL_36] (rows=1 width=93)
-                                    predicate:(((UDFToFloat(c_int) + c_float) 
>= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and ((c_int >= 
1) or (c_float >= 1)) and (UDFToDouble(key) > 0.0D) and (c_float > 0))
+                                    predicate:(((UDFToFloat(c_int) + c_float) 
>= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and 
((c_int >= 1) or (c_float >= 1)) and (UDFToDouble(key) > 0.0D) and (c_float > 
0))
                                     TableScan [TS_9] (rows=20 width=88)
                                       
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/subquery_multi.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/subquery_multi.q.out 
b/ql/src/test/results/clientpositive/spark/subquery_multi.q.out
index 80a48b7..8d3635e 100644
--- a/ql/src/test/results/clientpositive/spark/subquery_multi.q.out
+++ b/ql/src/test/results/clientpositive/spark/subquery_multi.q.out
@@ -859,7 +859,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col10, _col11, _col13
                 Statistics: Num rows: 1 Data size: 39416 Basic stats: COMPLETE 
Column stats: NONE
                 Filter Operator
-                  predicate: ((_col10 = 0L) or (_col13 is null and _col3 is 
not null and (_col11 >= _col10))) (type: boolean)
+                  predicate: ((_col10 = 0L) or (_col13 is null and (_col11 >= 
_col10))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 39416 Basic stats: 
COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: string), _col7 (type: double), _col8 (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out 
b/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
index 9105f58..e2d51e8 100644
--- a/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
+++ b/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
@@ -1788,15 +1788,15 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col12
                 Statistics: Num rows: 28 Data size: 3601 Basic stats: COMPLETE 
Column stats: NONE
                 Filter Operator
-                  predicate: _col5 BETWEEN CASE WHEN (_col10 is null) THEN 
(null) ELSE (_col9) END AND _col12 (type: boolean)
-                  Statistics: Num rows: 3 Data size: 385 Basic stats: COMPLETE 
Column stats: NONE
+                  predicate: CASE WHEN (_col10 is null) THEN (_col5 BETWEEN 
null AND _col12) ELSE (_col5 BETWEEN _col9 AND _col12) END (type: boolean)
+                  Statistics: Num rows: 14 Data size: 1800 Basic stats: 
COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8
-                    Statistics: Num rows: 3 Data size: 385 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 14 Data size: 1800 Basic stats: 
COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
-                      Statistics: Num rows: 3 Data size: 385 Basic stats: 
COMPLETE Column stats: NONE
+                      Statistics: Num rows: 14 Data size: 1800 Basic stats: 
COMPLETE Column stats: NONE
                       table:
                           input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2307,15 +2307,15 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10
                 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE 
Column stats: NONE
                 Filter Operator
-                  predicate: (UDFToLong(_col5) <> CASE WHEN (_col10 is null) 
THEN (0) ELSE (_col9) END) (type: boolean)
-                  Statistics: Num rows: 28 Data size: 3461 Basic stats: 
COMPLETE Column stats: NONE
+                  predicate: CASE WHEN (_col10 is null) THEN 
((UDFToLong(_col5) <> 0)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: 
COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8
-                    Statistics: Num rows: 28 Data size: 3461 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 14 Data size: 1730 Basic stats: 
COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
-                      Statistics: Num rows: 28 Data size: 3461 Basic stats: 
COMPLETE Column stats: NONE
+                      Statistics: Num rows: 14 Data size: 1730 Basic stats: 
COMPLETE Column stats: NONE
                       table:
                           input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4624,15 +4624,15 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11
                 Statistics: Num rows: 5 Data size: 261 Basic stats: COMPLETE 
Column stats: NONE
                 Filter Operator
-                  predicate: (UDFToLong(_col2) <> CASE WHEN (_col11 is null) 
THEN (0) ELSE (_col10) END) (type: boolean)
-                  Statistics: Num rows: 5 Data size: 261 Basic stats: COMPLETE 
Column stats: NONE
+                  predicate: CASE WHEN (_col11 is null) THEN 
((UDFToLong(_col2) <> 0)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: 
boolean)
+                  Statistics: Num rows: 2 Data size: 104 Basic stats: COMPLETE 
Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 
(type: date)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9
-                    Statistics: Num rows: 5 Data size: 261 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 2 Data size: 104 Basic stats: 
COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
-                      Statistics: Num rows: 5 Data size: 261 Basic stats: 
COMPLETE Column stats: NONE
+                      Statistics: Num rows: 2 Data size: 104 Basic stats: 
COMPLETE Column stats: NONE
                       table:
                           input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4886,17 +4886,17 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11
                 Statistics: Num rows: 5 Data size: 261 Basic stats: COMPLETE 
Column stats: NONE
                 Filter Operator
-                  predicate: (UDFToLong(_col2) <> CASE WHEN (_col11 is null) 
THEN (0) ELSE (_col10) END) (type: boolean)
-                  Statistics: Num rows: 5 Data size: 261 Basic stats: COMPLETE 
Column stats: NONE
+                  predicate: CASE WHEN (_col11 is null) THEN 
((UDFToLong(_col2) <> 0)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: 
boolean)
+                  Statistics: Num rows: 2 Data size: 104 Basic stats: COMPLETE 
Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 
(type: date)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9
-                    Statistics: Num rows: 5 Data size: 261 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 2 Data size: 104 Basic stats: 
COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col2 (type: int)
                       sort order: +
                       Map-reduce partition columns: _col2 (type: int)
-                      Statistics: Num rows: 5 Data size: 261 Basic stats: 
COMPLETE Column stats: NONE
+                      Statistics: Num rows: 2 Data size: 104 Basic stats: 
COMPLETE Column stats: NONE
                       value expressions: _col0 (type: int), _col1 (type: 
string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 
(type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
         Reducer 3 
             Reduce Operator Tree:
@@ -4907,9 +4907,9 @@ STAGE PLANS:
                   0 _col2 (type: int)
                   1 _col2 (type: int)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col13, _col14
-                Statistics: Num rows: 5 Data size: 287 Basic stats: COMPLETE 
Column stats: NONE
+                Statistics: Num rows: 2 Data size: 114 Basic stats: COMPLETE 
Column stats: NONE
                 Filter Operator
-                  predicate: (UDFToLong(_col0) > CASE WHEN (_col14 is null) 
THEN (0) ELSE (_col13) END) (type: boolean)
+                  predicate: CASE WHEN (_col14 is null) THEN 
((UDFToLong(_col0) > 0)) ELSE ((UDFToLong(_col0) > _col13)) END (type: boolean)
                   Statistics: Num rows: 1 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 
(type: date)
@@ -5913,15 +5913,15 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10
                 Statistics: Num rows: 185 Data size: 45180 Basic stats: 
COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (UDFToLong(_col5) <> CASE WHEN (_col10 is null) 
THEN (0) ELSE (_col9) END) (type: boolean)
-                  Statistics: Num rows: 185 Data size: 45180 Basic stats: 
COMPLETE Column stats: NONE
+                  predicate: CASE WHEN (_col10 is null) THEN 
((UDFToLong(_col5) <> 0)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
+                  Statistics: Num rows: 92 Data size: 22467 Basic stats: 
COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: string), 
_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: 
int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8
-                    Statistics: Num rows: 185 Data size: 45180 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 92 Data size: 22467 Basic stats: 
COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
-                      Statistics: Num rows: 185 Data size: 45180 Basic stats: 
COMPLETE Column stats: NONE
+                      Statistics: Num rows: 92 Data size: 22467 Basic stats: 
COMPLETE Column stats: NONE
                       table:
                           input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                           output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/subquery_views.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/subquery_views.q.out 
b/ql/src/test/results/clientpositive/spark/subquery_views.q.out
index 67711c2..54a8894 100644
--- a/ql/src/test/results/clientpositive/spark/subquery_views.q.out
+++ b/ql/src/test/results/clientpositive/spark/subquery_views.q.out
@@ -337,7 +337,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col4, _col5, _col8
                 Statistics: Num rows: 365 Data size: 3878 Basic stats: 
COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 
is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) 
THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
+                  predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 
is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN ((_col5 < 
_col4)) THEN (false) ELSE (true) END (type: boolean)
                   Statistics: Num rows: 182 Data size: 1933 Basic stats: 
COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: string), _col1 (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorized_case.q.out 
b/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
index 4d322cf..0bf2a4b 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
@@ -1239,7 +1239,7 @@ where (case when cint % 2 = 0 then cint else 0 end) = 
cint) a
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-0
+4086
 PREHOOK: query: select count(*)
 from (
 select

http://git-wip-us.apache.org/repos/asf/hive/blob/47dd953c/ql/src/test/results/clientpositive/stat_estimate_related_col.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/stat_estimate_related_col.q.out 
b/ql/src/test/results/clientpositive/stat_estimate_related_col.q.out
index 78524d6..669adaf 100644
--- a/ql/src/test/results/clientpositive/stat_estimate_related_col.q.out
+++ b/ql/src/test/results/clientpositive/stat_estimate_related_col.q.out
@@ -594,10 +594,10 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t8
-            filterExpr: ((b = 2) and ((b = 1) or (b = 2))) (type: boolean)
+            filterExpr: (b = 2) (type: boolean)
             Statistics: Num rows: 40/40 Data size: 320 Basic stats: COMPLETE 
Column stats: COMPLETE
             Filter Operator
-              predicate: (((b = 1) or (b = 2)) and (b = 2)) (type: boolean)
+              predicate: (b = 2) (type: boolean)
               Statistics: Num rows: 8/8 Data size: 64 Basic stats: COMPLETE 
Column stats: COMPLETE
               Select Operator
                 expressions: a (type: int)
@@ -663,27 +663,22 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t8
-            filterExpr: ((b = 2) and ((b = 1) or (b = 2)) and ((b = 1) or (b = 
3))) (type: boolean)
-            Statistics: Num rows: 40/40 Data size: 320 Basic stats: COMPLETE 
Column stats: COMPLETE
+            Statistics: Num rows: 40/1 Data size: 320 Basic stats: COMPLETE 
Column stats: COMPLETE
             Filter Operator
-              predicate: (((b = 1) or (b = 2)) and ((b = 1) or (b = 3)) and (b 
= 2)) (type: boolean)
-              Statistics: Num rows: 8/0 Data size: 64 Basic stats: COMPLETE 
Column stats: COMPLETE
-              Select Operator
-                expressions: a (type: int)
-                outputColumnNames: _col1
-                Statistics: Num rows: 8/0 Data size: 64 Basic stats: COMPLETE 
Column stats: COMPLETE
-                Group By Operator
-                  aggregations: sum(_col1)
-                  keys: 2 (type: int)
-                  mode: hash
-                  outputColumnNames: _col0, _col1
+              predicate: false (type: boolean)
+              Statistics: Num rows: 1/0 Data size: 8 Basic stats: COMPLETE 
Column stats: COMPLETE
+              Group By Operator
+                aggregations: sum(a)
+                keys: b (type: int)
+                mode: hash
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 1/0 Data size: 12 Basic stats: COMPLETE 
Column stats: COMPLETE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 1/0 Data size: 12 Basic stats: 
COMPLETE Column stats: COMPLETE
-                  Reduce Output Operator
-                    key expressions: _col0 (type: int)
-                    sort order: +
-                    Map-reduce partition columns: _col0 (type: int)
-                    Statistics: Num rows: 1/0 Data size: 12 Basic stats: 
COMPLETE Column stats: COMPLETE
-                    value expressions: _col1 (type: bigint)
+                  value expressions: _col1 (type: bigint)
       Execution mode: vectorized
       Reduce Operator Tree:
         Group By Operator
@@ -748,10 +743,10 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t8
-            filterExpr: ((b = 2) and ((b = 1) or (b = 2)) and (a = 3) and ((a 
= 3) or (a = 4))) (type: boolean)
+            filterExpr: ((b = 2) and (a = 3)) (type: boolean)
             Statistics: Num rows: 40/40 Data size: 320 Basic stats: COMPLETE 
Column stats: COMPLETE
             Filter Operator
-              predicate: (((a = 3) or (a = 4)) and ((b = 1) or (b = 2)) and (a 
= 3) and (b = 2)) (type: boolean)
+              predicate: ((a = 3) and (b = 2)) (type: boolean)
               Statistics: Num rows: 8/0 Data size: 64 Basic stats: COMPLETE 
Column stats: COMPLETE
               Select Operator
                 Statistics: Num rows: 8/0 Data size: 64 Basic stats: COMPLETE 
Column stats: COMPLETE

Reply via email to