You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/07/28 15:48:46 UTC

[3/8] hive git commit: HIVE-20213: Upgrade Calcite to 1.17.0 (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/8cb8c1af/ql/src/test/results/clientpositive/perf/tez/query4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query4.q.out b/ql/src/test/results/clientpositive/perf/tez/query4.q.out
index 918a8e4..8aba5dd 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query4.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query4.q.out
@@ -246,32 +246,32 @@ Stage-0
       File Output Operator [FS_357]
         Limit [LIM_356] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_355] (rows=212958399 width=88)
+          Select Operator [SEL_355] (rows=479156399 width=88)
             Output:["_col0"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_139]
-              Select Operator [SEL_138] (rows=212958399 width=88)
+              Select Operator [SEL_138] (rows=479156399 width=88)
                 Output:["_col0"]
-                Filter Operator [FIL_136] (rows=212958399 width=88)
-                  predicate:(((_col1 / _col8) > (_col10 / _col12)) and ((_col1 / _col8) > (_col6 / _col3)))
+                Filter Operator [FIL_136] (rows=479156399 width=88)
+                  predicate:(CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col5 is not null) THEN (((_col9 / _col5) > (_col12 / _col3))) ELSE ((null > (_col12 / _col3))) END) ELSE (CASE WHEN (_col5 is not null) THEN (((_col9 / _col5) > null)) ELSE (null) END) END and CASE WHEN (_col7 is not null) THEN (CASE WHEN (_col5 is not null) THEN (((_col9 / _col5) > (_col1 / _col7))) ELSE ((null > (_col1 / _col7))) END) ELSE (CASE WHEN (_col5 is not null) THEN (((_col9 / _col5) > null)) ELSE (null) END) END)
                   Merge Join Operator [MERGEJOIN_296] (rows=1916625598 width=88)
-                    Conds:RS_325._col0=RS_342._col0(Inner),RS_342._col0=RS_337._col0(Inner),RS_342._col0=RS_330._col0(Inner),RS_342._col0=RS_349._col0(Inner),RS_342._col0=RS_354._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8","_col10","_col12"]
+                    Conds:RS_325._col0=RS_354._col0(Inner),RS_354._col0=RS_342._col0(Inner),RS_354._col0=RS_330._col0(Inner),RS_354._col0=RS_337._col0(Inner),RS_354._col0=RS_349._col0(Inner),Output:["_col1","_col3","_col5","_col7","_col9","_col11","_col12"]
                   <-Reducer 13 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_337]
                       PartitionCols:_col0
-                      Select Operator [SEL_336] (rows=348477374 width=88)
-                        Output:["_col0","_col1","_col2"]
-                        Group By Operator [GBY_335] (rows=348477374 width=88)
+                      Select Operator [SEL_336] (rows=174233858 width=135)
+                        Output:["_col0","_col1"]
+                        Group By Operator [GBY_335] (rows=174233858 width=135)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                         <-Reducer 12 [SIMPLE_EDGE]
-                          SHUFFLE [RS_61]
+                          SHUFFLE [RS_105]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                            Group By Operator [GBY_60] (rows=696954748 width=88)
+                            Group By Operator [GBY_104] (rows=348467716 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                              Select Operator [SEL_58] (rows=696954748 width=88)
+                              Select Operator [SEL_102] (rows=348467716 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_289] (rows=696954748 width=88)
-                                  Conds:RS_55._col1=RS_318._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                Merge Join Operator [MERGEJOIN_293] (rows=348467716 width=135)
+                                  Conds:RS_99._col1=RS_318._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
                                 <-Map 25 [SIMPLE_EDGE] vectorized
                                   SHUFFLE [RS_318]
                                     PartitionCols:_col0
@@ -279,12 +279,12 @@ Stage-0
                                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                                       Filter Operator [FIL_315] (rows=80000000 width=860)
                                         predicate:(c_customer_id is not null and c_customer_sk is not null)
-                                        TableScan [TS_92] (rows=80000000 width=860)
+                                        TableScan [TS_114] (rows=80000000 width=860)
                                           default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_country","c_login","c_email_address"]
                                 <-Reducer 11 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_55]
+                                  SHUFFLE [RS_99]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_288] (rows=633595212 width=88)
+                                    Merge Join Operator [MERGEJOIN_292] (rows=316788826 width=135)
                                       Conds:RS_333._col0=RS_310._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                     <-Map 24 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_310]
@@ -293,54 +293,54 @@ Stage-0
                                           Output:["_col0"]
                                           Filter Operator [FIL_301] (rows=36524 width=1119)
                                             predicate:((d_year = 2002) and d_date_sk is not null)
-                                            TableScan [TS_89] (rows=73049 width=1119)
+                                            TableScan [TS_111] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                                     <-Map 10 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_333]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_332] (rows=575995635 width=88)
+                                        Select Operator [SEL_332] (rows=287989836 width=135)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_331] (rows=575995635 width=88)
-                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                            TableScan [TS_43] (rows=575995635 width=88)
-                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_discount_amt","ss_ext_sales_price","ss_ext_wholesale_cost","ss_ext_list_price"]
+                                          Filter Operator [FIL_331] (rows=287989836 width=135)
+                                            predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+                                            TableScan [TS_87] (rows=287989836 width=135)
+                                              default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_ext_discount_amt","cs_ext_sales_price","cs_ext_wholesale_cost","cs_ext_list_price"]
                   <-Reducer 16 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_342]
                       PartitionCols:_col0
-                      Select Operator [SEL_341] (rows=116159124 width=88)
+                      Select Operator [SEL_341] (rows=58077952 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_340] (rows=116159124 width=88)
+                        Filter Operator [FIL_340] (rows=58077952 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_339] (rows=348477374 width=88)
+                          Select Operator [SEL_339] (rows=174233858 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_338] (rows=348477374 width=88)
+                            Group By Operator [GBY_338] (rows=174233858 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                             <-Reducer 15 [SIMPLE_EDGE]
-                              SHUFFLE [RS_39]
+                              SHUFFLE [RS_61]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_38] (rows=696954748 width=88)
+                                Group By Operator [GBY_60] (rows=348467716 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                  Select Operator [SEL_36] (rows=696954748 width=88)
+                                  Select Operator [SEL_58] (rows=348467716 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_287] (rows=696954748 width=88)
-                                      Conds:RS_33._col1=RS_320._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    Merge Join Operator [MERGEJOIN_289] (rows=348467716 width=135)
+                                      Conds:RS_55._col1=RS_321._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
                                     <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_320]
+                                      SHUFFLE [RS_321]
                                         PartitionCols:_col0
                                          Please refer to the previous Select Operator [SEL_316]
                                     <-Reducer 14 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_33]
+                                      SHUFFLE [RS_55]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_286] (rows=633595212 width=88)
-                                          Conds:RS_334._col0=RS_312._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        Merge Join Operator [MERGEJOIN_288] (rows=316788826 width=135)
+                                          Conds:RS_334._col0=RS_313._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                         <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_312]
+                                          SHUFFLE [RS_313]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_306] (rows=36524 width=1119)
+                                            Select Operator [SEL_307] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_302] (rows=36524 width=1119)
+                                              Filter Operator [FIL_303] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
-                                                 Please refer to the previous TableScan [TS_89]
+                                                 Please refer to the previous TableScan [TS_111]
                                         <-Map 10 [SIMPLE_EDGE] vectorized
                                           SHUFFLE [RS_334]
                                             PartitionCols:_col0
@@ -348,27 +348,27 @@ Stage-0
                   <-Reducer 20 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_349]
                       PartitionCols:_col0
-                      Select Operator [SEL_348] (rows=87121617 width=135)
-                        Output:["_col0","_col1"]
-                        Group By Operator [GBY_347] (rows=87121617 width=135)
+                      Select Operator [SEL_348] (rows=348477374 width=88)
+                        Output:["_col0","_col1","_col2"]
+                        Group By Operator [GBY_347] (rows=348477374 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                         <-Reducer 19 [SIMPLE_EDGE]
-                          SHUFFLE [RS_104]
+                          SHUFFLE [RS_126]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                            Group By Operator [GBY_103] (rows=174243235 width=135)
+                            Group By Operator [GBY_125] (rows=696954748 width=88)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                              Select Operator [SEL_101] (rows=174243235 width=135)
+                              Select Operator [SEL_123] (rows=696954748 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_293] (rows=174243235 width=135)
-                                  Conds:RS_98._col1=RS_317._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                Merge Join Operator [MERGEJOIN_295] (rows=696954748 width=88)
+                                  Conds:RS_120._col1=RS_317._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
                                 <-Map 25 [SIMPLE_EDGE] vectorized
                                   SHUFFLE [RS_317]
                                     PartitionCols:_col0
                                      Please refer to the previous Select Operator [SEL_316]
                                 <-Reducer 18 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_98]
+                                  SHUFFLE [RS_120]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_292] (rows=158402938 width=135)
+                                    Merge Join Operator [MERGEJOIN_294] (rows=633595212 width=88)
                                       Conds:RS_345._col0=RS_309._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                     <-Map 24 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_309]
@@ -377,49 +377,49 @@ Stage-0
                                     <-Map 17 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_345]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_344] (rows=144002668 width=135)
+                                        Select Operator [SEL_344] (rows=575995635 width=88)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_343] (rows=144002668 width=135)
-                                            predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
-                                            TableScan [TS_86] (rows=144002668 width=135)
-                                              default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_ext_discount_amt","ws_ext_sales_price","ws_ext_wholesale_cost","ws_ext_list_price"]
+                                          Filter Operator [FIL_343] (rows=575995635 width=88)
+                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                            TableScan [TS_108] (rows=575995635 width=88)
+                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_discount_amt","ss_ext_sales_price","ss_ext_wholesale_cost","ss_ext_list_price"]
                   <-Reducer 23 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_354]
                       PartitionCols:_col0
-                      Select Operator [SEL_353] (rows=29040539 width=135)
+                      Select Operator [SEL_353] (rows=116159124 width=88)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_352] (rows=29040539 width=135)
+                        Filter Operator [FIL_352] (rows=116159124 width=88)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_351] (rows=87121617 width=135)
+                          Select Operator [SEL_351] (rows=348477374 width=88)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_350] (rows=87121617 width=135)
+                            Group By Operator [GBY_350] (rows=348477374 width=88)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                             <-Reducer 22 [SIMPLE_EDGE]
-                              SHUFFLE [RS_125]
+                              SHUFFLE [RS_39]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_124] (rows=174243235 width=135)
+                                Group By Operator [GBY_38] (rows=696954748 width=88)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                  Select Operator [SEL_122] (rows=174243235 width=135)
+                                  Select Operator [SEL_36] (rows=696954748 width=88)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_295] (rows=174243235 width=135)
-                                      Conds:RS_119._col1=RS_322._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    Merge Join Operator [MERGEJOIN_287] (rows=696954748 width=88)
+                                      Conds:RS_33._col1=RS_320._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
                                     <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_322]
+                                      SHUFFLE [RS_320]
                                         PartitionCols:_col0
                                          Please refer to the previous Select Operator [SEL_316]
                                     <-Reducer 21 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_119]
+                                      SHUFFLE [RS_33]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_294] (rows=158402938 width=135)
-                                          Conds:RS_346._col0=RS_314._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        Merge Join Operator [MERGEJOIN_286] (rows=633595212 width=88)
+                                          Conds:RS_346._col0=RS_312._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                         <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_314]
+                                          SHUFFLE [RS_312]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_308] (rows=36524 width=1119)
+                                            Select Operator [SEL_306] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_304] (rows=36524 width=1119)
+                                              Filter Operator [FIL_302] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
-                                                 Please refer to the previous TableScan [TS_89]
+                                                 Please refer to the previous TableScan [TS_111]
                                         <-Map 17 [SIMPLE_EDGE] vectorized
                                           SHUFFLE [RS_346]
                                             PartitionCols:_col0
@@ -427,18 +427,18 @@ Stage-0
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_325]
                       PartitionCols:_col0
-                      Select Operator [SEL_324] (rows=174233858 width=135)
+                      Select Operator [SEL_324] (rows=87121617 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_323] (rows=174233858 width=135)
+                        Group By Operator [GBY_323] (rows=87121617 width=135)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                         <-Reducer 3 [SIMPLE_EDGE]
                           SHUFFLE [RS_18]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                            Group By Operator [GBY_17] (rows=348467716 width=135)
+                            Group By Operator [GBY_17] (rows=174243235 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                              Select Operator [SEL_15] (rows=348467716 width=135)
+                              Select Operator [SEL_15] (rows=174243235 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_285] (rows=348467716 width=135)
+                                Merge Join Operator [MERGEJOIN_285] (rows=174243235 width=135)
                                   Conds:RS_12._col1=RS_319._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
                                 <-Map 25 [SIMPLE_EDGE] vectorized
                                   SHUFFLE [RS_319]
@@ -447,7 +447,7 @@ Stage-0
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_12]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_284] (rows=316788826 width=135)
+                                    Merge Join Operator [MERGEJOIN_284] (rows=158402938 width=135)
                                       Conds:RS_299._col0=RS_311._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                     <-Map 24 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_311]
@@ -456,49 +456,49 @@ Stage-0
                                     <-Map 1 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_299]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_298] (rows=287989836 width=135)
+                                        Select Operator [SEL_298] (rows=144002668 width=135)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_297] (rows=287989836 width=135)
-                                            predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
-                                            TableScan [TS_0] (rows=287989836 width=135)
-                                              default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_ext_discount_amt","cs_ext_sales_price","cs_ext_wholesale_cost","cs_ext_list_price"]
+                                          Filter Operator [FIL_297] (rows=144002668 width=135)
+                                            predicate:(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_ext_discount_amt","ws_ext_sales_price","ws_ext_wholesale_cost","ws_ext_list_price"]
                   <-Reducer 9 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_330]
                       PartitionCols:_col0
-                      Select Operator [SEL_329] (rows=58077952 width=135)
+                      Select Operator [SEL_329] (rows=29040539 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_328] (rows=58077952 width=135)
+                        Filter Operator [FIL_328] (rows=29040539 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_327] (rows=174233858 width=135)
+                          Select Operator [SEL_327] (rows=87121617 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_326] (rows=174233858 width=135)
+                            Group By Operator [GBY_326] (rows=87121617 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                             <-Reducer 8 [SIMPLE_EDGE]
-                              SHUFFLE [RS_82]
+                              SHUFFLE [RS_83]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_81] (rows=348467716 width=135)
+                                Group By Operator [GBY_82] (rows=174243235 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                  Select Operator [SEL_79] (rows=348467716 width=135)
+                                  Select Operator [SEL_80] (rows=174243235 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_291] (rows=348467716 width=135)
-                                      Conds:RS_76._col1=RS_321._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    Merge Join Operator [MERGEJOIN_291] (rows=174243235 width=135)
+                                      Conds:RS_77._col1=RS_322._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
                                     <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_321]
+                                      SHUFFLE [RS_322]
                                         PartitionCols:_col0
                                          Please refer to the previous Select Operator [SEL_316]
                                     <-Reducer 7 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_76]
+                                      SHUFFLE [RS_77]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_290] (rows=316788826 width=135)
-                                          Conds:RS_300._col0=RS_313._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        Merge Join Operator [MERGEJOIN_290] (rows=158402938 width=135)
+                                          Conds:RS_300._col0=RS_314._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                         <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_313]
+                                          SHUFFLE [RS_314]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_307] (rows=36524 width=1119)
+                                            Select Operator [SEL_308] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_303] (rows=36524 width=1119)
+                                              Filter Operator [FIL_304] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
-                                                 Please refer to the previous TableScan [TS_89]
+                                                 Please refer to the previous TableScan [TS_111]
                                         <-Map 1 [SIMPLE_EDGE] vectorized
                                           SHUFFLE [RS_300]
                                             PartitionCols:_col0

http://git-wip-us.apache.org/repos/asf/hive/blob/8cb8c1af/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 1a11aa7..d65601d 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query74.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query74.q.out
@@ -144,29 +144,29 @@ Stage-0
       File Output Operator [FS_214]
         Limit [LIM_213] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_212] (rows=383325119 width=88)
+          Select Operator [SEL_212] (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_171] (rows=1149975359 width=88)
-                    Conds:RS_211._col0=RS_199._col0(Inner),RS_199._col0=RS_194._col0(Inner),RS_199._col0=RS_206._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col9"]
+                    Conds:RS_194._col0=RS_211._col0(Inner),RS_211._col0=RS_199._col0(Inner),RS_211._col0=RS_206._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col9"]
                   <-Reducer 13 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_206]
                       PartitionCols:_col0
-                      Select Operator [SEL_205] (rows=87121617 width=135)
-                        Output:["_col0","_col1"]
-                        Group By Operator [GBY_204] (rows=87121617 width=135)
+                      Select Operator [SEL_205] (rows=348477374 width=88)
+                        Output:["_col0","_col1","_col2","_col3"]
+                        Group By Operator [GBY_204] (rows=348477374 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
                         <-Reducer 12 [SIMPLE_EDGE]
                           SHUFFLE [RS_79]
                             PartitionCols:_col0, _col1, _col2, _col3
-                            Group By Operator [GBY_78] (rows=174243235 width=135)
+                            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_170] (rows=174243235 width=135)
+                              Merge Join Operator [MERGEJOIN_170] (rows=696954748 width=88)
                                 Conds:RS_74._col1=RS_188._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                               <-Map 18 [SIMPLE_EDGE] vectorized
                                 SHUFFLE [RS_188]
@@ -180,7 +180,7 @@ Stage-0
                               <-Reducer 11 [SIMPLE_EDGE]
                                 SHUFFLE [RS_74]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_169] (rows=158402938 width=135)
+                                  Merge Join Operator [MERGEJOIN_169] (rows=633595212 width=88)
                                     Conds:RS_202._col0=RS_182._col0(Inner),Output:["_col1","_col2","_col4"]
                                   <-Map 17 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_182]
@@ -194,38 +194,38 @@ Stage-0
                                   <-Map 10 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_202]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_201] (rows=144002668 width=135)
+                                      Select Operator [SEL_201] (rows=575995635 width=88)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_200] (rows=144002668 width=135)
-                                          predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
-                                          TableScan [TS_62] (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"]
+                                        Filter Operator [FIL_200] (rows=575995635 width=88)
+                                          predicate:(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 16 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_211]
                       PartitionCols:_col0
-                      Select Operator [SEL_210] (rows=29040539 width=135)
+                      Select Operator [SEL_210] (rows=116159124 width=88)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_209] (rows=29040539 width=135)
+                        Filter Operator [FIL_209] (rows=116159124 width=88)
                           predicate:(_col4 > 0)
-                          Select Operator [SEL_208] (rows=87121617 width=135)
+                          Select Operator [SEL_208] (rows=348477374 width=88)
                             Output:["_col0","_col4"]
-                            Group By Operator [GBY_207] (rows=87121617 width=135)
+                            Group By Operator [GBY_207] (rows=348477374 width=88)
                               Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
                             <-Reducer 15 [SIMPLE_EDGE]
-                              SHUFFLE [RS_17]
+                              SHUFFLE [RS_37]
                                 PartitionCols:_col0, _col1, _col2, _col3
-                                Group By Operator [GBY_16] (rows=174243235 width=135)
+                                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_164] (rows=174243235 width=135)
-                                    Conds:RS_12._col1=RS_190._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                                  Merge Join Operator [MERGEJOIN_166] (rows=696954748 width=88)
+                                    Conds:RS_32._col1=RS_190._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                                   <-Map 18 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_190]
                                       PartitionCols:_col0
                                        Please refer to the previous Select Operator [SEL_187]
                                   <-Reducer 14 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_12]
+                                    SHUFFLE [RS_32]
                                       PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_163] (rows=158402938 width=135)
+                                      Merge Join Operator [MERGEJOIN_165] (rows=633595212 width=88)
                                         Conds:RS_203._col0=RS_184._col0(Inner),Output:["_col1","_col2","_col4"]
                                       <-Map 17 [SIMPLE_EDGE] vectorized
                                         SHUFFLE [RS_184]
@@ -242,25 +242,25 @@ Stage-0
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_194]
                       PartitionCols:_col0
-                      Select Operator [SEL_193] (rows=348477374 width=88)
-                        Output:["_col0","_col1","_col2","_col3"]
-                        Group By Operator [GBY_192] (rows=348477374 width=88)
+                      Select Operator [SEL_193] (rows=87121617 width=135)
+                        Output:["_col0","_col1"]
+                        Group By Operator [GBY_192] (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_59]
+                          SHUFFLE [RS_17]
                             PartitionCols:_col0, _col1, _col2, _col3
-                            Group By Operator [GBY_58] (rows=696954748 width=88)
+                            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_168] (rows=696954748 width=88)
-                                Conds:RS_54._col1=RS_189._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                              Merge Join Operator [MERGEJOIN_164] (rows=174243235 width=135)
+                                Conds:RS_12._col1=RS_189._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                               <-Map 18 [SIMPLE_EDGE] vectorized
                                 SHUFFLE [RS_189]
                                   PartitionCols:_col0
                                    Please refer to the previous Select Operator [SEL_187]
                               <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_54]
+                                SHUFFLE [RS_12]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_167] (rows=633595212 width=88)
+                                  Merge Join Operator [MERGEJOIN_163] (rows=158402938 width=135)
                                     Conds:RS_174._col0=RS_183._col0(Inner),Output:["_col1","_col2","_col4"]
                                   <-Map 17 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_183]
@@ -269,38 +269,38 @@ Stage-0
                                   <-Map 1 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_174]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_173] (rows=575995635 width=88)
+                                      Select Operator [SEL_173] (rows=144002668 width=135)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_172] (rows=575995635 width=88)
-                                          predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                          TableScan [TS_42] (rows=575995635 width=88)
-                                            default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_net_paid"]
+                                        Filter Operator [FIL_172] (rows=144002668 width=135)
+                                          predicate:(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 9 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_199]
                       PartitionCols:_col0
-                      Select Operator [SEL_198] (rows=116159124 width=88)
+                      Select Operator [SEL_198] (rows=29040539 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_197] (rows=116159124 width=88)
+                        Filter Operator [FIL_197] (rows=29040539 width=135)
                           predicate:(_col4 > 0)
-                          Select Operator [SEL_196] (rows=348477374 width=88)
+                          Select Operator [SEL_196] (rows=87121617 width=135)
                             Output:["_col0","_col4"]
-                            Group By Operator [GBY_195] (rows=348477374 width=88)
+                            Group By Operator [GBY_195] (rows=87121617 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["max(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
                             <-Reducer 8 [SIMPLE_EDGE]
-                              SHUFFLE [RS_38]
+                              SHUFFLE [RS_58]
                                 PartitionCols:_col0, _col1, _col2, _col3
-                                Group By Operator [GBY_37] (rows=696954748 width=88)
+                                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_166] (rows=696954748 width=88)
-                                    Conds:RS_33._col1=RS_191._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
+                                  Merge Join Operator [MERGEJOIN_168] (rows=174243235 width=135)
+                                    Conds:RS_53._col1=RS_191._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8"]
                                   <-Map 18 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_191]
                                       PartitionCols:_col0
                                        Please refer to the previous Select Operator [SEL_187]
                                   <-Reducer 7 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_33]
+                                    SHUFFLE [RS_53]
                                       PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_165] (rows=633595212 width=88)
+                                      Merge Join Operator [MERGEJOIN_167] (rows=158402938 width=135)
                                         Conds:RS_175._col0=RS_185._col0(Inner),Output:["_col1","_col2","_col4"]
                                       <-Map 17 [SIMPLE_EDGE] vectorized
                                         SHUFFLE [RS_185]

http://git-wip-us.apache.org/repos/asf/hive/blob/8cb8c1af/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 cd42a5a..e1e36c0 100644
--- a/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
+++ b/ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
@@ -65,7 +65,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 3 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -142,12 +142,12 @@ PREHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id where table1_n10.val = 't1val01'
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 1	t1val01	val101
 3	t1val01	val104
 3	t1val01	val106
@@ -163,8 +163,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 4 (PARTITION-LEVEL SORT, 4)
-        Reducer 3 <- Map 5 (PARTITION-LEVEL SORT, 4), Reducer 2 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
+        Reducer 3 <- Map 5 (PARTITION-LEVEL SORT, 2), Reducer 2 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -277,13 +277,13 @@ PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table2_n6
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table2_n6.val2 from table1_n10 inner join table2_n6 on table1_n10.val = 't1val01' and table1_n10.id = table2_n6.id left semi join table3_n0 on table1_n10.dimid = table3_n0.id
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table2_n6
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 1	t1val01	t2val201
 3	t1val01	t2val203
 3	t1val01	t2val203
@@ -299,8 +299,8 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 4 (PARTITION-LEVEL SORT, 4)
-        Reducer 3 <- Map 5 (PARTITION-LEVEL SORT, 4), Reducer 2 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
+        Reducer 3 <- Map 5 (PARTITION-LEVEL SORT, 2), Reducer 2 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -412,13 +412,13 @@ PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table2_n6
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table2_n6.val2 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id inner join table2_n6 on table1_n10.val = 't1val01' and table1_n10.id = table2_n6.id
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table2_n6
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 1	t1val01	t2val201
 3	t1val01	t2val203
 3	t1val01	t2val203
@@ -434,7 +434,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 3 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -460,24 +460,26 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: table3_n0
-                  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:
@@ -488,10 +490,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
@@ -507,12 +509,12 @@ PREHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid <> 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 PREHOOK: query: explain select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  IN (100,200)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  IN (100,200)
@@ -525,7 +527,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 3 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -598,12 +600,12 @@ PREHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  IN (100,200)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 1	t1val01	val101
 3	t1val01	val104
 PREHOOK: query: explain select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  = 200
@@ -618,7 +620,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 3 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -644,24 +646,26 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: table3_n0
-                  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:
@@ -672,10 +676,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
@@ -691,12 +695,12 @@ PREHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  = 200
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 PREHOOK: query: explain select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  = 100
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  = 100
@@ -709,7 +713,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 3 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -782,12 +786,12 @@ PREHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100 where table1_n10.dimid  = 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 1	t1val01	val101
 3	t1val01	val104
 PREHOOK: query: explain select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100
@@ -802,7 +806,7 @@ STAGE PLANS:
   Stage: Stage-1
     Spark
       Edges:
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 4), Map 3 (PARTITION-LEVEL SORT, 4)
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -875,11 +879,11 @@ PREHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1_n10
 PREHOOK: Input: default@table3_n0
-PREHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 POSTHOOK: query: select table1_n10.id, table1_n10.val, table1_n10.val1 from table1_n10 left semi join table3_n0 on table1_n10.dimid = table3_n0.id and table3_n0.id = 100
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1_n10
 POSTHOOK: Input: default@table3_n0
-POSTHOOK: Output: hdfs://### HDFS PATH ###
+#### A masked pattern was here ####
 1	t1val01	val101
 3	t1val01	val104

http://git-wip-us.apache.org/repos/asf/hive/blob/8cb8c1af/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 913a77a..fd450fe 100644
--- a/ql/src/test/results/clientpositive/spark/pcr.q.out
+++ b/ql/src/test/results/clientpositive/spark/pcr.q.out
@@ -1919,7 +1919,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

http://git-wip-us.apache.org/repos/asf/hive/blob/8cb8c1af/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/8cb8c1af/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 4224c67..0de142d 100644
--- a/ql/src/test/results/clientpositive/spark/subquery_multi.q.out
+++ b/ql/src/test/results/clientpositive/spark/subquery_multi.q.out
@@ -849,7 +849,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)