You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2018/06/26 04:16:20 UTC

[01/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Repository: hive
Updated Branches:
  refs/heads/master-txnstats 4743c7984 -> 61c55a3f6


http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query60.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query60.q.out b/ql/src/test/results/clientpositive/perf/tez/query60.q.out
index 515d5e0..f10a728 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query60.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query60.q.out
@@ -155,213 +155,324 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 2 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 13 <- Map 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 16 <- Map 22 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
-Reducer 19 <- Map 22 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE)
-Reducer 20 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 21 <- Map 22 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 17 <- Reducer 21 (BROADCAST_EDGE), Reducer 29 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Map 32 <- Reducer 11 (BROADCAST_EDGE), Reducer 24 (BROADCAST_EDGE), Reducer 30 (BROADCAST_EDGE)
+Map 33 <- Reducer 14 (BROADCAST_EDGE), Reducer 27 (BROADCAST_EDGE), Reducer 31 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 11 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Reducer 2 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE)
+Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 14 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE)
+Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
+Reducer 19 <- Map 28 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 16 (ONE_TO_ONE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 22 <- Map 20 (SIMPLE_EDGE), Map 32 (SIMPLE_EDGE)
+Reducer 23 <- Map 28 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 20 (SIMPLE_EDGE), Map 33 (SIMPLE_EDGE)
+Reducer 26 <- Map 28 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 19 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 28 (CUSTOM_SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 6 <- Union 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 19 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 8 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 2 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_226]
-        Limit [LIM_225] (rows=100 width=108)
+      File Output Operator [FS_370]
+        Limit [LIM_369] (rows=100 width=108)
           Number of rows:100
-          Select Operator [SEL_224] (rows=335408073 width=108)
+          Select Operator [SEL_368] (rows=335408073 width=108)
             Output:["_col0","_col1"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_223]
-              Group By Operator [GBY_222] (rows=335408073 width=108)
+            SHUFFLE [RS_367]
+              Group By Operator [GBY_366] (rows=335408073 width=108)
                 Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
               <-Union 5 [SIMPLE_EDGE]
-                <-Reducer 11 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_238]
+                <-Reducer 10 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_382]
                     PartitionCols:_col0
-                    Group By Operator [GBY_237] (rows=670816147 width=108)
+                    Group By Operator [GBY_381] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_236] (rows=95833781 width=135)
+                      Group By Operator [GBY_380] (rows=191657247 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 10 [SIMPLE_EDGE]
-                        SHUFFLE [RS_109]
+                      <-Reducer 9 [SIMPLE_EDGE]
+                        SHUFFLE [RS_71]
                           PartitionCols:_col0
-                          Group By Operator [GBY_108] (rows=191667562 width=135)
+                          Group By Operator [GBY_70] (rows=383314495 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_184] (rows=191667562 width=135)
-                              Conds:RS_104._col0=RS_105._col3(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_303] (rows=383314495 width=135)
+                              Conds:RS_66._col0=RS_67._col4(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_104]
+                              SHUFFLE [RS_66]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_173] (rows=508200 width=1436)
-                                  Conds:RS_199._col1=RS_205._col0(Inner),Output:["_col0","_col1"]
+                                Merge Join Operator [MERGEJOIN_293] (rows=508200 width=1436)
+                                  Conds:RS_319._col1=RS_325._col0(Inner),Output:["_col0","_col1"]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_199]
+                                  SHUFFLE [RS_319]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_198] (rows=462000 width=1436)
+                                    Select Operator [SEL_318] (rows=462000 width=1436)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_197] (rows=462000 width=1436)
+                                      Filter Operator [FIL_317] (rows=462000 width=1436)
                                         predicate:(i_item_id is not null and i_item_sk is not null)
                                         TableScan [TS_0] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
-                                <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
-                                  FORWARD [RS_205]
+                                <-Reducer 16 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_325]
                                     PartitionCols:_col0
-                                    Group By Operator [GBY_204] (rows=115500 width=1436)
+                                    Group By Operator [GBY_324] (rows=115500 width=1436)
                                       Output:["_col0"],keys:KEY._col0
-                                    <-Map 12 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_203]
+                                    <-Map 15 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_323]
                                         PartitionCols:_col0
-                                        Group By Operator [GBY_202] (rows=231000 width=1436)
+                                        Group By Operator [GBY_322] (rows=231000 width=1436)
                                           Output:["_col0"],keys:i_item_id
-                                          Select Operator [SEL_201] (rows=231000 width=1436)
+                                          Select Operator [SEL_321] (rows=231000 width=1436)
                                             Output:["i_item_id"]
-                                            Filter Operator [FIL_200] (rows=231000 width=1436)
+                                            Filter Operator [FIL_320] (rows=231000 width=1436)
                                               predicate:((i_category = 'Children') and i_item_id is not null)
                                               TableScan [TS_3] (rows=462000 width=1436)
                                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_id","i_category"]
-                            <-Reducer 21 [SIMPLE_EDGE]
-                              SHUFFLE [RS_105]
-                                PartitionCols:_col3
-                                Select Operator [SEL_100] (rows=174243235 width=135)
-                                  Output:["_col3","_col5"]
-                                  Merge Join Operator [MERGEJOIN_181] (rows=174243235 width=135)
-                                    Conds:RS_97._col2=RS_218._col0(Inner),Output:["_col1","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_218]
+                            <-Reducer 23 [SIMPLE_EDGE]
+                              SHUFFLE [RS_67]
+                                PartitionCols:_col4
+                                Select Operator [SEL_62] (rows=348467716 width=135)
+                                  Output:["_col4","_col5"]
+                                  Merge Join Operator [MERGEJOIN_298] (rows=348467716 width=135)
+                                    Conds:RS_59._col1=RS_346._col0(Inner),Output:["_col2","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_346]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_215] (rows=20000000 width=1014)
+                                      Select Operator [SEL_343] (rows=20000000 width=1014)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_214] (rows=20000000 width=1014)
+                                        Filter Operator [FIL_342] (rows=20000000 width=1014)
                                           predicate:((ca_gmt_offset = -6) and ca_address_sk is not null)
                                           TableScan [TS_16] (rows=40000000 width=1014)
                                             default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_gmt_offset"]
-                                  <-Reducer 20 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_97]
-                                      PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_180] (rows=158402938 width=135)
-                                        Conds:RS_235._col0=RS_213._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_213]
+                                  <-Reducer 22 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_59]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_297] (rows=316788826 width=135)
+                                        Conds:RS_379._col0=RS_330._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_330]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_210] (rows=18262 width=1119)
+                                          Select Operator [SEL_327] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_209] (rows=18262 width=1119)
+                                            Filter Operator [FIL_326] (rows=18262 width=1119)
                                               predicate:((d_moy = 9) and (d_year = 1999) and d_date_sk is not null)
                                               TableScan [TS_13] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                      <-Map 24 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_235]
+                                      <-Map 32 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_379]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_234] (rows=144002668 width=135)
+                                          Select Operator [SEL_378] (rows=287989836 width=135)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_233] (rows=144002668 width=135)
-                                              predicate:(ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_85] (rows=144002668 width=135)
-                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
-                <-Reducer 4 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_221]
+                                            Filter Operator [FIL_377] (rows=287989836 width=135)
+                                              predicate:((cs_bill_addr_sk BETWEEN DynamicValue(RS_60_customer_address_ca_address_sk_min) AND DynamicValue(RS_60_customer_address_ca_address_sk_max) and in_bloom_filter(cs_bill_addr_sk, DynamicValue(RS_60_customer_address_ca_address_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_66_item_i_item_sk_min) AND DynamicValue(RS_66_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_66_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                              TableScan [TS_47] (rows=287989836 width=135)
+                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_376]
+                                                  Group By Operator [GBY_375] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_240]
+                                                      Group By Operator [GBY_239] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_238] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                                              <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_372]
+                                                  Group By Operator [GBY_371] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_338]
+                                                      Group By Operator [GBY_335] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_331] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 30 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_374]
+                                                  Group By Operator [GBY_373] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_354]
+                                                      Group By Operator [GBY_351] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_347] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                <-Reducer 13 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_394]
                     PartitionCols:_col0
-                    Group By Operator [GBY_220] (rows=670816147 width=108)
+                    Group By Operator [GBY_393] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_219] (rows=383325119 width=88)
+                      Group By Operator [GBY_392] (rows=95833781 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        SHUFFLE [RS_34]
+                      <-Reducer 12 [SIMPLE_EDGE]
+                        SHUFFLE [RS_109]
                           PartitionCols:_col0
-                          Group By Operator [GBY_33] (rows=766650239 width=88)
+                          Group By Operator [GBY_108] (rows=191667562 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_182] (rows=766650239 width=88)
-                              Conds:RS_29._col0=RS_30._col3(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_304] (rows=191667562 width=135)
+                              Conds:RS_104._col0=RS_105._col3(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_29]
+                              SHUFFLE [RS_104]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_173]
-                            <-Reducer 16 [SIMPLE_EDGE]
-                              SHUFFLE [RS_30]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                            <-Reducer 26 [SIMPLE_EDGE]
+                              SHUFFLE [RS_105]
                                 PartitionCols:_col3
-                                Select Operator [SEL_25] (rows=696954748 width=88)
+                                Select Operator [SEL_100] (rows=174243235 width=135)
                                   Output:["_col3","_col5"]
-                                  Merge Join Operator [MERGEJOIN_175] (rows=696954748 width=88)
-                                    Conds:RS_22._col2=RS_216._col0(Inner),Output:["_col1","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_216]
+                                  Merge Join Operator [MERGEJOIN_301] (rows=174243235 width=135)
+                                    Conds:RS_97._col2=RS_348._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_348]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_215]
-                                  <-Reducer 15 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_22]
+                                       Please refer to the previous Select Operator [SEL_343]
+                                  <-Reducer 25 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_97]
                                       PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_174] (rows=633595212 width=88)
-                                        Conds:RS_208._col0=RS_211._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_211]
+                                      Merge Join Operator [MERGEJOIN_300] (rows=158402938 width=135)
+                                        Conds:RS_391._col0=RS_332._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_332]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_210]
-                                      <-Map 14 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_208]
+                                           Please refer to the previous Select Operator [SEL_327]
+                                      <-Map 33 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_391]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_207] (rows=575995635 width=88)
+                                          Select Operator [SEL_390] (rows=144002668 width=135)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_206] (rows=575995635 width=88)
-                                              predicate:(ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
-                                              TableScan [TS_10] (rows=575995635 width=88)
-                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
-                <-Reducer 9 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_232]
+                                            Filter Operator [FIL_389] (rows=144002668 width=135)
+                                              predicate:((ws_bill_addr_sk BETWEEN DynamicValue(RS_98_customer_address_ca_address_sk_min) AND DynamicValue(RS_98_customer_address_ca_address_sk_max) and in_bloom_filter(ws_bill_addr_sk, DynamicValue(RS_98_customer_address_ca_address_sk_bloom_filter))) and (ws_item_sk BETWEEN DynamicValue(RS_104_item_i_item_sk_min) AND DynamicValue(RS_104_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_104_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_95_date_dim_d_date_sk_min) AND DynamicValue(RS_95_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_95_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_85] (rows=144002668 width=135)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_388]
+                                                  Group By Operator [GBY_387] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_280]
+                                                      Group By Operator [GBY_279] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_278] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                                              <-Reducer 27 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_384]
+                                                  Group By Operator [GBY_383] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_339]
+                                                      Group By Operator [GBY_336] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_333] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 31 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_386]
+                                                  Group By Operator [GBY_385] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_355]
+                                                      Group By Operator [GBY_352] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_349] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                <-Reducer 4 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_365]
                     PartitionCols:_col0
-                    Group By Operator [GBY_231] (rows=670816147 width=108)
+                    Group By Operator [GBY_364] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_230] (rows=191657247 width=135)
+                      Group By Operator [GBY_363] (rows=383325119 width=88)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 8 [SIMPLE_EDGE]
-                        SHUFFLE [RS_71]
+                      <-Reducer 3 [SIMPLE_EDGE]
+                        SHUFFLE [RS_34]
                           PartitionCols:_col0
-                          Group By Operator [GBY_70] (rows=383314495 width=135)
+                          Group By Operator [GBY_33] (rows=766650239 width=88)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_183] (rows=383314495 width=135)
-                              Conds:RS_66._col0=RS_67._col4(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_302] (rows=766650239 width=88)
+                              Conds:RS_29._col0=RS_30._col3(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_66]
+                              SHUFFLE [RS_29]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_173]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_293]
                             <-Reducer 19 [SIMPLE_EDGE]
-                              SHUFFLE [RS_67]
-                                PartitionCols:_col4
-                                Select Operator [SEL_62] (rows=348467716 width=135)
-                                  Output:["_col4","_col5"]
-                                  Merge Join Operator [MERGEJOIN_178] (rows=348467716 width=135)
-                                    Conds:RS_59._col1=RS_217._col0(Inner),Output:["_col2","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_217]
+                              SHUFFLE [RS_30]
+                                PartitionCols:_col3
+                                Select Operator [SEL_25] (rows=696954748 width=88)
+                                  Output:["_col3","_col5"]
+                                  Merge Join Operator [MERGEJOIN_295] (rows=696954748 width=88)
+                                    Conds:RS_22._col2=RS_344._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_344]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_215]
+                                       Please refer to the previous Select Operator [SEL_343]
                                   <-Reducer 18 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_59]
-                                      PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_177] (rows=316788826 width=135)
-                                        Conds:RS_229._col0=RS_212._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_212]
+                                    SHUFFLE [RS_22]
+                                      PartitionCols:_col2
+                                      Merge Join Operator [MERGEJOIN_294] (rows=633595212 width=88)
+                                        Conds:RS_362._col0=RS_328._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_328]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_210]
-                                      <-Map 23 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_229]
+                                           Please refer to the previous Select Operator [SEL_327]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_362]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_228] (rows=287989836 width=135)
+                                          Select Operator [SEL_361] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_227] (rows=287989836 width=135)
-                                              predicate:(cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                              TableScan [TS_47] (rows=287989836 width=135)
-                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                            Filter Operator [FIL_360] (rows=575995635 width=88)
+                                              predicate:((ss_addr_sk BETWEEN DynamicValue(RS_23_customer_address_ca_address_sk_min) AND DynamicValue(RS_23_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_23_customer_address_ca_address_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_29_item_i_item_sk_min) AND DynamicValue(RS_29_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_29_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                              TableScan [TS_10] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
+                                              <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_341]
+                                                  Group By Operator [GBY_340] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_337]
+                                                      Group By Operator [GBY_334] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_329] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 29 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_357]
+                                                  Group By Operator [GBY_356] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_353]
+                                                      Group By Operator [GBY_350] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_345] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                                              <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_359]
+                                                  Group By Operator [GBY_358] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_200]
+                                                      Group By Operator [GBY_199] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_198] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
 


[05/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query5.q.out b/ql/src/test/results/clientpositive/perf/tez/query5.q.out
index f074ed1..340f8b1 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query5.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query5.q.out
@@ -255,20 +255,29 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 18 <- Union 19 (CONTAINS)
-Map 20 <- Union 19 (CONTAINS)
-Map 22 <- Union 23 (CONTAINS)
+Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Union 2 (CONTAINS)
+Map 22 <- Reducer 15 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE), Union 23 (CONTAINS)
+Map 24 <- Union 23 (CONTAINS)
+Map 27 <- Reducer 19 (BROADCAST_EDGE), Reducer 35 (BROADCAST_EDGE), Union 28 (CONTAINS)
+Map 29 <- Reducer 32 (BROADCAST_EDGE), Reducer 33 (BROADCAST_EDGE), Reducer 35 (BROADCAST_EDGE)
 Map 9 <- Union 2 (CONTAINS)
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Union 19 (SIMPLE_EDGE)
-Reducer 12 <- Map 21 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 14 <- Map 10 (SIMPLE_EDGE), Union 23 (SIMPLE_EDGE)
-Reducer 15 <- Map 27 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 25 <- Map 24 (SIMPLE_EDGE), Map 26 (SIMPLE_EDGE), Union 23 (CONTAINS)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 10 (SIMPLE_EDGE), Union 23 (SIMPLE_EDGE)
+Reducer 13 <- Map 25 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 15 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 10 (SIMPLE_EDGE), Union 28 (SIMPLE_EDGE)
+Reducer 17 <- Map 34 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 19 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 25 (CUSTOM_SIMPLE_EDGE)
 Reducer 3 <- Map 10 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 17 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 30 <- Map 29 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE), Union 28 (CONTAINS)
+Reducer 32 <- Map 31 (CUSTOM_SIMPLE_EDGE)
+Reducer 33 <- Map 31 (CUSTOM_SIMPLE_EDGE)
+Reducer 35 <- Map 34 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Map 20 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
 Reducer 7 <- Union 6 (SIMPLE_EDGE)
 Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
@@ -278,196 +287,287 @@ Stage-0
     limit:100
     Stage-1
       Reducer 8 vectorized
-      File Output Operator [FS_202]
-        Limit [LIM_201] (rows=100 width=110)
+      File Output Operator [FS_304]
+        Limit [LIM_303] (rows=100 width=110)
           Number of rows:100
-          Select Operator [SEL_200] (rows=1136898901 width=110)
+          Select Operator [SEL_302] (rows=1136898901 width=110)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 7 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_199]
-              Select Operator [SEL_198] (rows=1136898901 width=110)
+            SHUFFLE [RS_301]
+              Select Operator [SEL_300] (rows=1136898901 width=110)
                 Output:["_col0","_col1","_col2","_col3","_col4"]
-                Group By Operator [GBY_197] (rows=1136898901 width=110)
+                Group By Operator [GBY_299] (rows=1136898901 width=110)
                   Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2
                 <-Union 6 [SIMPLE_EDGE]
-                  <-Reducer 13 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_212]
+                  <-Reducer 14 [CONTAINS] vectorized
+                    Reduce Output Operator [RS_317]
                       PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_211] (rows=2273797803 width=110)
+                      Group By Operator [GBY_316] (rows=2273797803 width=110)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0, _col1, 0L
-                        Select Operator [SEL_210] (rows=191657181 width=132)
+                        Select Operator [SEL_315] (rows=191657181 width=132)
                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                          Group By Operator [GBY_209] (rows=191657181 width=132)
+                          Group By Operator [GBY_314] (rows=191657181 width=132)
                             Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0
-                          <-Reducer 12 [SIMPLE_EDGE]
+                          <-Reducer 13 [SIMPLE_EDGE]
                             SHUFFLE [RS_47]
                               PartitionCols:_col0
                               Group By Operator [GBY_46] (rows=383314363 width=132)
                                 Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col9
-                                Merge Join Operator [MERGEJOIN_135] (rows=383314363 width=132)
-                                  Conds:RS_42._col0=RS_208._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9"]
-                                <-Map 21 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_208]
+                                Merge Join Operator [MERGEJOIN_221] (rows=383314363 width=132)
+                                  Conds:RS_42._col0=RS_310._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9"]
+                                <-Map 25 [SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_310]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_207] (rows=46000 width=460)
+                                    Select Operator [SEL_309] (rows=46000 width=460)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_206] (rows=46000 width=460)
+                                      Filter Operator [FIL_308] (rows=46000 width=460)
                                         predicate:cp_catalog_page_sk is not null
                                         TableScan [TS_36] (rows=46000 width=460)
                                           default@catalog_page,catalog_page,Tbl:COMPLETE,Col:NONE,Output:["cp_catalog_page_sk","cp_catalog_page_id"]
-                                <-Reducer 11 [SIMPLE_EDGE]
+                                <-Reducer 12 [SIMPLE_EDGE]
                                   SHUFFLE [RS_42]
                                     PartitionCols:_col0
-                                    Merge Join Operator [MERGEJOIN_134] (rows=348467596 width=132)
-                                      Conds:Union 19._col1=RS_188._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5"]
+                                    Merge Join Operator [MERGEJOIN_220] (rows=348467596 width=132)
+                                      Conds:Union 23._col1=RS_272._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5"]
                                     <-Map 10 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_188]
+                                      SHUFFLE [RS_272]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_186] (rows=8116 width=1119)
+                                        Select Operator [SEL_269] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_185] (rows=8116 width=1119)
+                                          Filter Operator [FIL_268] (rows=8116 width=1119)
                                             predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-08-18 00:00:00.0' and d_date_sk is not null)
                                             TableScan [TS_8] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
-                                    <-Union 19 [SIMPLE_EDGE]
-                                      <-Map 18 [CONTAINS] vectorized
-                                        Reduce Output Operator [RS_222]
+                                    <-Union 23 [SIMPLE_EDGE]
+                                      <-Map 22 [CONTAINS] vectorized
+                                        Reduce Output Operator [RS_334]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_221] (rows=287989836 width=135)
+                                          Select Operator [SEL_333] (rows=287989836 width=135)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_220] (rows=287989836 width=135)
-                                              predicate:(cs_catalog_page_sk is not null and cs_sold_date_sk is not null)
-                                              TableScan [TS_163] (rows=287989836 width=135)
+                                            Filter Operator [FIL_332] (rows=287989836 width=135)
+                                              predicate:((cs_catalog_page_sk BETWEEN DynamicValue(RS_43_catalog_page_cp_catalog_page_sk_min) AND DynamicValue(RS_43_catalog_page_cp_catalog_page_sk_max) and in_bloom_filter(cs_catalog_page_sk, DynamicValue(RS_43_catalog_page_cp_catalog_page_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_40_date_dim_d_date_sk_min) AND DynamicValue(RS_40_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_40_date_dim_d_date_sk_bloom_filter))) and cs_catalog_page_sk is not null and cs_sold_date_sk is not null)
+                                              TableScan [TS_249] (rows=287989836 width=135)
                                                 Output:["cs_sold_date_sk","cs_catalog_page_sk","cs_ext_sales_price","cs_net_profit"]
-                                      <-Map 20 [CONTAINS] vectorized
-                                        Reduce Output Operator [RS_225]
+                                              <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_329]
+                                                  Group By Operator [GBY_328] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_280]
+                                                      Group By Operator [GBY_277] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_273] (rows=8116 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_269]
+                                              <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_331]
+                                                  Group By Operator [GBY_330] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_313]
+                                                      Group By Operator [GBY_312] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_311] (rows=46000 width=460)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_309]
+                                      <-Map 24 [CONTAINS] vectorized
+                                        Reduce Output Operator [RS_337]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_224] (rows=28798881 width=106)
+                                          Select Operator [SEL_336] (rows=28798881 width=106)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_223] (rows=28798881 width=106)
+                                            Filter Operator [FIL_335] (rows=28798881 width=106)
                                               predicate:(cr_catalog_page_sk is not null and cr_returned_date_sk is not null)
-                                              TableScan [TS_168] (rows=28798881 width=106)
+                                              TableScan [TS_254] (rows=28798881 width=106)
                                                 Output:["cr_returned_date_sk","cr_catalog_page_sk","cr_return_amount","cr_net_loss"]
-                  <-Reducer 16 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_219]
+                  <-Reducer 18 [CONTAINS] vectorized
+                    Reduce Output Operator [RS_327]
                       PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_218] (rows=2273797803 width=110)
+                      Group By Operator [GBY_326] (rows=2273797803 width=110)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0, _col1, 0L
-                        Select Operator [SEL_217] (rows=182955399 width=135)
+                        Select Operator [SEL_325] (rows=182955399 width=135)
                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                          Group By Operator [GBY_216] (rows=182955399 width=135)
+                          Group By Operator [GBY_324] (rows=182955399 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0
-                          <-Reducer 15 [SIMPLE_EDGE]
+                          <-Reducer 17 [SIMPLE_EDGE]
                             SHUFFLE [RS_80]
                               PartitionCols:_col0
                               Group By Operator [GBY_79] (rows=365910798 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col9
-                                Merge Join Operator [MERGEJOIN_137] (rows=365910798 width=135)
-                                  Conds:RS_75._col0=RS_215._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9"]
-                                <-Map 27 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_215]
+                                Merge Join Operator [MERGEJOIN_223] (rows=365910798 width=135)
+                                  Conds:RS_75._col0=RS_320._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9"]
+                                <-Map 34 [SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_320]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_214] (rows=84 width=1850)
+                                    Select Operator [SEL_319] (rows=84 width=1850)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_213] (rows=84 width=1850)
+                                      Filter Operator [FIL_318] (rows=84 width=1850)
                                         predicate:web_site_sk is not null
                                         TableScan [TS_69] (rows=84 width=1850)
                                           default@web_site,web_site,Tbl:COMPLETE,Col:NONE,Output:["web_site_sk","web_site_id"]
-                                <-Reducer 14 [SIMPLE_EDGE]
+                                <-Reducer 16 [SIMPLE_EDGE]
                                   SHUFFLE [RS_75]
                                     PartitionCols:_col0
-                                    Merge Join Operator [MERGEJOIN_136] (rows=332646173 width=135)
-                                      Conds:Union 23._col1=RS_189._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5"]
+                                    Merge Join Operator [MERGEJOIN_222] (rows=332646173 width=135)
+                                      Conds:Union 28._col1=RS_274._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5"]
                                     <-Map 10 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_189]
+                                      SHUFFLE [RS_274]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_186]
-                                    <-Union 23 [SIMPLE_EDGE]
-                                      <-Map 22 [CONTAINS] vectorized
-                                        Reduce Output Operator [RS_228]
+                                         Please refer to the previous Select Operator [SEL_269]
+                                    <-Union 28 [SIMPLE_EDGE]
+                                      <-Map 27 [CONTAINS] vectorized
+                                        Reduce Output Operator [RS_345]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_227] (rows=144002668 width=135)
+                                          Select Operator [SEL_344] (rows=144002668 width=135)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_226] (rows=144002668 width=135)
-                                              predicate:(ws_sold_date_sk is not null and ws_web_site_sk is not null)
-                                              TableScan [TS_173] (rows=144002668 width=135)
+                                            Filter Operator [FIL_343] (rows=144002668 width=135)
+                                              predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_73_date_dim_d_date_sk_min) AND DynamicValue(RS_73_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_73_date_dim_d_date_sk_bloom_filter))) and (ws_web_site_sk BETWEEN DynamicValue(RS_76_web_site_web_site_sk_min) AND DynamicValue(RS_76_web_site_web_site_sk_max) and in_bloom_filter(ws_web_site_sk, DynamicValue(RS_76_web_site_web_site_sk_bloom_filter))) and ws_sold_date_sk is not null and ws_web_site_sk is not null)
+                                              TableScan [TS_259] (rows=144002668 width=135)
                                                 Output:["ws_sold_date_sk","ws_web_site_sk","ws_ext_sales_price","ws_net_profit"]
-                                      <-Reducer 25 [CONTAINS]
-                                        Reduce Output Operator [RS_181]
+                                              <-Reducer 35 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_341]
+                                                  Group By Operator [GBY_340] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 34 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_323]
+                                                      Group By Operator [GBY_322] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_321] (rows=84 width=1850)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_319]
+                                              <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_339]
+                                                  Group By Operator [GBY_338] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_281]
+                                                      Group By Operator [GBY_278] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_275] (rows=8116 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_269]
+                                      <-Reducer 30 [CONTAINS]
+                                        Reduce Output Operator [RS_267]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_179] (rows=158402938 width=135)
+                                          Select Operator [SEL_265] (rows=158402938 width=135)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Merge Join Operator [MERGEJOIN_178] (rows=158402938 width=135)
-                                              Conds:RS_231._col0, _col2=RS_234._col1, _col2(Inner),Output:["_col1","_col3","_col6","_col7"]
-                                            <-Map 24 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_231]
-                                                PartitionCols:_col0, _col2
-                                                Select Operator [SEL_230] (rows=144002668 width=135)
-                                                  Output:["_col0","_col1","_col2"]
-                                                  Filter Operator [FIL_229] (rows=144002668 width=135)
-                                                    predicate:(ws_item_sk is not null and ws_order_number is not null and ws_web_site_sk is not null)
-                                                    TableScan [TS_54] (rows=144002668 width=135)
-                                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_item_sk","ws_web_site_sk","ws_order_number"]
-                                            <-Map 26 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_234]
+                                            Merge Join Operator [MERGEJOIN_264] (rows=158402938 width=135)
+                                              Conds:RS_361._col0, _col2=RS_348._col1, _col2(Inner),Output:["_col1","_col3","_col6","_col7"]
+                                            <-Map 31 [SIMPLE_EDGE] vectorized
+                                              PARTITION_ONLY_SHUFFLE [RS_348]
                                                 PartitionCols:_col1, _col2
-                                                Select Operator [SEL_233] (rows=14398467 width=92)
+                                                Select Operator [SEL_347] (rows=14398467 width=92)
                                                   Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                  Filter Operator [FIL_232] (rows=14398467 width=92)
+                                                  Filter Operator [FIL_346] (rows=14398467 width=92)
                                                     predicate:(wr_item_sk is not null and wr_order_number is not null and wr_returned_date_sk is not null)
                                                     TableScan [TS_57] (rows=14398467 width=92)
                                                       default@web_returns,web_returns,Tbl:COMPLETE,Col:NONE,Output:["wr_returned_date_sk","wr_item_sk","wr_order_number","wr_return_amt","wr_net_loss"]
+                                            <-Map 29 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_361]
+                                                PartitionCols:_col0, _col2
+                                                Select Operator [SEL_360] (rows=144002668 width=135)
+                                                  Output:["_col0","_col1","_col2"]
+                                                  Filter Operator [FIL_359] (rows=144002668 width=135)
+                                                    predicate:((ws_item_sk BETWEEN DynamicValue(RS_61_web_returns_wr_item_sk_min) AND DynamicValue(RS_61_web_returns_wr_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_61_web_returns_wr_item_sk_bloom_filter))) and (ws_order_number BETWEEN DynamicValue(RS_61_web_returns_wr_order_number_min) AND DynamicValue(RS_61_web_returns_wr_order_number_max) and in_bloom_filter(ws_order_number, DynamicValue(RS_61_web_returns_wr_order_number_bloom_filter))) and (ws_web_site_sk BETWEEN DynamicValue(RS_76_web_site_web_site_sk_min) AND DynamicValue(RS_76_web_site_web_site_sk_max) and in_bloom_filter(ws_web_site_sk, DynamicValue(RS_76_web_site_web_site_sk_bloom_filter))) and ws_item_sk is not null and ws_order_number is not null and ws_web_site_sk is not null)
+                                                    TableScan [TS_54] (rows=144002668 width=135)
+                                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_item_sk","ws_web_site_sk","ws_order_number"]
+                                                    <-Reducer 35 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_342]
+                                                         Please refer to the previous Group By Operator [GBY_340]
+                                                    <-Reducer 32 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_356]
+                                                        Group By Operator [GBY_355] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=14398467)"]
+                                                        <-Map 31 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          PARTITION_ONLY_SHUFFLE [RS_353]
+                                                            Group By Operator [GBY_351] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=14398467)"]
+                                                              Select Operator [SEL_349] (rows=14398467 width=92)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_347]
+                                                    <-Reducer 33 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_358]
+                                                        Group By Operator [GBY_357] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=14398467)"]
+                                                        <-Map 31 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          PARTITION_ONLY_SHUFFLE [RS_354]
+                                                            Group By Operator [GBY_352] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=14398467)"]
+                                                              Select Operator [SEL_350] (rows=14398467 width=92)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_347]
                   <-Reducer 5 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_196]
+                    Reduce Output Operator [RS_298]
                       PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_195] (rows=2273797803 width=110)
+                      Group By Operator [GBY_297] (rows=2273797803 width=110)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0, _col1, 0L
-                        Select Operator [SEL_194] (rows=383320021 width=87)
+                        Select Operator [SEL_296] (rows=383320021 width=87)
                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                          Group By Operator [GBY_193] (rows=383320021 width=87)
+                          Group By Operator [GBY_295] (rows=383320021 width=87)
                             Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0
                           <-Reducer 4 [SIMPLE_EDGE]
                             SHUFFLE [RS_22]
                               PartitionCols:_col0
                               Group By Operator [GBY_21] (rows=766640042 width=87)
                                 Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col9
-                                Merge Join Operator [MERGEJOIN_133] (rows=766640042 width=87)
-                                  Conds:RS_17._col0=RS_192._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9"]
-                                <-Map 17 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_192]
+                                Merge Join Operator [MERGEJOIN_219] (rows=766640042 width=87)
+                                  Conds:RS_17._col0=RS_286._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9"]
+                                <-Map 20 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_286]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_191] (rows=1704 width=1910)
+                                    Select Operator [SEL_285] (rows=1704 width=1910)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_190] (rows=1704 width=1910)
+                                      Filter Operator [FIL_284] (rows=1704 width=1910)
                                         predicate:s_store_sk is not null
                                         TableScan [TS_11] (rows=1704 width=1910)
                                           default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id"]
                                 <-Reducer 3 [SIMPLE_EDGE]
                                   SHUFFLE [RS_17]
                                     PartitionCols:_col0
-                                    Merge Join Operator [MERGEJOIN_132] (rows=696945478 width=87)
-                                      Conds:Union 2._col1=RS_187._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5"]
+                                    Merge Join Operator [MERGEJOIN_218] (rows=696945478 width=87)
+                                      Conds:Union 2._col1=RS_270._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5"]
                                     <-Map 10 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_187]
+                                      SHUFFLE [RS_270]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_186]
+                                         Please refer to the previous Select Operator [SEL_269]
                                     <-Union 2 [SIMPLE_EDGE]
                                       <-Map 1 [CONTAINS] vectorized
-                                        Reduce Output Operator [RS_184]
+                                        Reduce Output Operator [RS_294]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_183] (rows=575995635 width=88)
+                                          Select Operator [SEL_293] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_182] (rows=575995635 width=88)
-                                              predicate:(ss_sold_date_sk is not null and ss_store_sk is not null)
-                                              TableScan [TS_138] (rows=575995635 width=88)
+                                            Filter Operator [FIL_292] (rows=575995635 width=88)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_15_date_dim_d_date_sk_min) AND DynamicValue(RS_15_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_15_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_18_store_s_store_sk_min) AND DynamicValue(RS_18_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_18_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                              TableScan [TS_224] (rows=575995635 width=88)
                                                 Output:["ss_sold_date_sk","ss_store_sk","ss_ext_sales_price","ss_net_profit"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_283]
+                                                  Group By Operator [GBY_282] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_279]
+                                                      Group By Operator [GBY_276] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_271] (rows=8116 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_269]
+                                              <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_291]
+                                                  Group By Operator [GBY_290] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_289]
+                                                      Group By Operator [GBY_288] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_287] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_285]
                                       <-Map 9 [CONTAINS] vectorized
-                                        Reduce Output Operator [RS_205]
+                                        Reduce Output Operator [RS_307]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_204] (rows=57591150 width=77)
+                                          Select Operator [SEL_306] (rows=57591150 width=77)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_203] (rows=57591150 width=77)
+                                            Filter Operator [FIL_305] (rows=57591150 width=77)
                                               predicate:(sr_returned_date_sk is not null and sr_store_sk is not null)
-                                              TableScan [TS_148] (rows=57591150 width=77)
+                                              TableScan [TS_234] (rows=57591150 width=77)
                                                 Output:["sr_returned_date_sk","sr_store_sk","sr_return_amt","sr_net_loss"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query50.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query50.q.out b/ql/src/test/results/clientpositive/perf/tez/query50.q.out
index 8ea0d5c..e723140 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query50.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query50.q.out
@@ -117,26 +117,32 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Map 12 <- Reducer 10 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_79]
-        Limit [LIM_78] (rows=100 width=88)
+      File Output Operator [FS_155]
+        Limit [LIM_154] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_77] (rows=383325119 width=88)
+          Select Operator [SEL_153] (rows=383325119 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_76]
-              Group By Operator [GBY_75] (rows=383325119 width=88)
+            SHUFFLE [RS_152]
+              Group By Operator [GBY_151] (rows=383325119 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9
               <-Reducer 5 [SIMPLE_EDGE]
                 SHUFFLE [RS_30]
@@ -145,66 +151,121 @@ Stage-0
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["sum(_col10)","sum(_col11)","sum(_col12)","sum(_col13)","sum(_col14)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
                     Select Operator [SEL_27] (rows=766650239 width=88)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"]
-                      Merge Join Operator [MERGEJOIN_59] (rows=766650239 width=88)
-                        Conds:RS_24._col10=RS_74._col0(Inner),Output:["_col0","_col7","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
-                      <-Map 11 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_74]
+                      Merge Join Operator [MERGEJOIN_119] (rows=766650239 width=88)
+                        Conds:RS_24._col10=RS_142._col0(Inner),Output:["_col0","_col7","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
+                      <-Map 15 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_142]
                           PartitionCols:_col0
-                          Select Operator [SEL_73] (rows=1704 width=1910)
+                          Select Operator [SEL_141] (rows=1704 width=1910)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
-                            Filter Operator [FIL_72] (rows=1704 width=1910)
+                            Filter Operator [FIL_140] (rows=1704 width=1910)
                               predicate:s_store_sk is not null
                               TableScan [TS_12] (rows=1704 width=1910)
                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_company_id","s_street_number","s_street_name","s_street_type","s_suite_number","s_city","s_county","s_state","s_zip"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_24]
                           PartitionCols:_col10
-                          Merge Join Operator [MERGEJOIN_58] (rows=696954748 width=88)
-                            Conds:RS_21._col7=RS_71._col0(Inner),Output:["_col0","_col7","_col10"]
-                          <-Map 10 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_71]
+                          Merge Join Operator [MERGEJOIN_118] (rows=696954748 width=88)
+                            Conds:RS_21._col7=RS_134._col0(Inner),Output:["_col0","_col7","_col10"]
+                          <-Map 13 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_134]
                               PartitionCols:_col0
-                              Select Operator [SEL_70] (rows=73049 width=1119)
+                              Select Operator [SEL_133] (rows=73049 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_69] (rows=73049 width=1119)
+                                Filter Operator [FIL_132] (rows=73049 width=1119)
                                   predicate:d_date_sk is not null
                                   TableScan [TS_9] (rows=73049 width=1119)
                                     default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk"]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_21]
                               PartitionCols:_col7
-                              Merge Join Operator [MERGEJOIN_57] (rows=633595212 width=88)
-                                Conds:RS_18._col1, _col2, _col3=RS_68._col1, _col2, _col4(Inner),Output:["_col0","_col7","_col10"]
-                              <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_68]
-                                  PartitionCols:_col1, _col2, _col4
-                                  Select Operator [SEL_67] (rows=575995635 width=88)
-                                    Output:["_col0","_col1","_col2","_col3","_col4"]
-                                    Filter Operator [FIL_66] (rows=575995635 width=88)
-                                      predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
-                                      TableScan [TS_6] (rows=575995635 width=88)
-                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number"]
+                              Merge Join Operator [MERGEJOIN_117] (rows=633595212 width=88)
+                                Conds:RS_18._col1, _col2, _col3=RS_150._col1, _col2, _col4(Inner),Output:["_col0","_col7","_col10"]
                               <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_18]
+                                PARTITION_ONLY_SHUFFLE [RS_18]
                                   PartitionCols:_col1, _col2, _col3
-                                  Merge Join Operator [MERGEJOIN_56] (rows=63350266 width=77)
-                                    Conds:RS_62._col0=RS_65._col0(Inner),Output:["_col0","_col1","_col2","_col3"]
+                                  Merge Join Operator [MERGEJOIN_116] (rows=63350266 width=77)
+                                    Conds:RS_122._col0=RS_125._col0(Inner),Output:["_col0","_col1","_col2","_col3"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_62]
+                                    SHUFFLE [RS_122]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_61] (rows=57591150 width=77)
+                                      Select Operator [SEL_121] (rows=57591150 width=77)
                                         Output:["_col0","_col1","_col2","_col3"]
-                                        Filter Operator [FIL_60] (rows=57591150 width=77)
+                                        Filter Operator [FIL_120] (rows=57591150 width=77)
                                           predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
                                           TableScan [TS_0] (rows=57591150 width=77)
                                             default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number"]
-                                  <-Map 8 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_65]
+                                  <-Map 11 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_125]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_64] (rows=18262 width=1119)
+                                      Select Operator [SEL_124] (rows=18262 width=1119)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_63] (rows=18262 width=1119)
+                                        Filter Operator [FIL_123] (rows=18262 width=1119)
                                           predicate:((d_moy = 9) and (d_year = 2000) and d_date_sk is not null)
                                           TableScan [TS_3] (rows=73049 width=1119)
                                             default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                              <-Map 12 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_150]
+                                  PartitionCols:_col1, _col2, _col4
+                                  Select Operator [SEL_149] (rows=575995635 width=88)
+                                    Output:["_col0","_col1","_col2","_col3","_col4"]
+                                    Filter Operator [FIL_148] (rows=575995635 width=88)
+                                      predicate:((ss_customer_sk BETWEEN DynamicValue(RS_18_store_returns_sr_customer_sk_min) AND DynamicValue(RS_18_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_18_store_returns_sr_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_18_store_returns_sr_item_sk_min) AND DynamicValue(RS_18_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_18_store_returns_sr_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_22_d1_d_date_sk_min) AND DynamicValue(RS_22_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_22_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_25_store_s_store_sk_min) AND DynamicValue(RS_25_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_25_store_s_store_sk_bloom_filter))) and (ss_ticket_number BETWEEN DynamicValue(RS_18_store_returns_sr_ticket_number_min) AND DynamicValue(RS_18_
 store_returns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_18_store_returns_sr_ticket_number_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                      TableScan [TS_6] (rows=575995635 width=88)
+                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number"]
+                                      <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_131]
+                                          Group By Operator [GBY_130] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                          <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                            PARTITION_ONLY_SHUFFLE [RS_93]
+                                              Group By Operator [GBY_92] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                Select Operator [SEL_91] (rows=63350266 width=77)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Merge Join Operator [MERGEJOIN_116]
+                                      <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_139]
+                                          Group By Operator [GBY_138] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_137]
+                                              Group By Operator [GBY_136] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_135] (rows=73049 width=1119)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_133]
+                                      <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_147]
+                                          Group By Operator [GBY_146] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_145]
+                                              Group By Operator [GBY_144] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_143] (rows=1704 width=1910)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_141]
+                                      <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_127]
+                                          Group By Operator [GBY_126] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                          <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                            PARTITION_ONLY_SHUFFLE [RS_83]
+                                              Group By Operator [GBY_82] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                Select Operator [SEL_81] (rows=63350266 width=77)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Merge Join Operator [MERGEJOIN_116]
+                                      <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_129]
+                                          Group By Operator [GBY_128] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                          <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                            PARTITION_ONLY_SHUFFLE [RS_88]
+                                              Group By Operator [GBY_87] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                Select Operator [SEL_86] (rows=63350266 width=77)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Merge Join Operator [MERGEJOIN_116]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query51.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query51.q.out b/ql/src/test/results/clientpositive/perf/tez/query51.q.out
index 8a0802e..be123ae 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query51.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query51.q.out
@@ -89,23 +89,27 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 8 (BROADCAST_EDGE)
+Map 12 <- Reducer 11 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 7 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 8 <- Map 10 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_83]
-        Limit [LIM_82] (rows=100 width=88)
+      File Output Operator [FS_113]
+        Limit [LIM_112] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_81] (rows=116159124 width=88)
+          Select Operator [SEL_111] (rows=116159124 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_50]
@@ -120,69 +124,91 @@ Stage-0
                     <-Reducer 4 [SIMPLE_EDGE]
                       SHUFFLE [RS_43]
                         PartitionCols:CASE WHEN (_col3 is not null) THEN (_col3) ELSE (_col0) END
-                        Merge Join Operator [MERGEJOIN_67] (rows=348477374 width=88)
+                        Merge Join Operator [MERGEJOIN_87] (rows=348477374 width=88)
                           Conds:RS_40._col0, _col1=RS_41._col0, _col1(Outer),Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                        <-Reducer 3 [SIMPLE_EDGE]
-                          SHUFFLE [RS_40]
+                        <-Reducer 10 [SIMPLE_EDGE]
+                          SHUFFLE [RS_41]
                             PartitionCols:_col0, _col1
-                            Select Operator [SEL_17] (rows=316797606 width=88)
+                            Select Operator [SEL_37] (rows=79201469 width=135)
                               Output:["_col0","_col1","_col2"]
-                              PTF Operator [PTF_16] (rows=316797606 width=88)
+                              PTF Operator [PTF_36] (rows=79201469 width=135)
                                 Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"_col0"}]
-                                Group By Operator [GBY_12] (rows=316797606 width=88)
+                                Group By Operator [GBY_32] (rows=79201469 width=135)
                                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
-                                <-Reducer 2 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_11]
+                                <-Reducer 9 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_31]
                                     PartitionCols:_col0
-                                    Group By Operator [GBY_10] (rows=633595212 width=88)
+                                    Group By Operator [GBY_30] (rows=158402938 width=135)
                                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)"],keys:_col1, _col4
-                                      Merge Join Operator [MERGEJOIN_65] (rows=633595212 width=88)
-                                        Conds:RS_70._col0=RS_73._col0(Inner),Output:["_col1","_col2","_col4"]
+                                      Merge Join Operator [MERGEJOIN_86] (rows=158402938 width=135)
+                                        Conds:RS_108._col0=RS_92._col0(Inner),Output:["_col1","_col2","_col4"]
                                       <-Map 7 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_73]
+                                        SHUFFLE [RS_92]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_72] (rows=8116 width=1119)
+                                          Select Operator [SEL_89] (rows=8116 width=1119)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_71] (rows=8116 width=1119)
+                                            Filter Operator [FIL_88] (rows=8116 width=1119)
                                               predicate:(d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223)
                                               TableScan [TS_3] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
-                                      <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_70]
+                                      <-Map 12 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_108]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_69] (rows=575995635 width=88)
+                                          Select Operator [SEL_107] (rows=144002668 width=135)
                                             Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_68] (rows=575995635 width=88)
-                                              predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                              TableScan [TS_0] (rows=575995635 width=88)
-                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_sales_price"]
-                        <-Reducer 9 [SIMPLE_EDGE]
-                          SHUFFLE [RS_41]
+                                            Filter Operator [FIL_106] (rows=144002668 width=135)
+                                              predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_27_date_dim_d_date_sk_min) AND DynamicValue(RS_27_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_27_date_dim_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_20] (rows=144002668 width=135)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_sales_price"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_105]
+                                                  Group By Operator [GBY_104] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_97]
+                                                      Group By Operator [GBY_95] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_93] (rows=8116 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_89]
+                        <-Reducer 3 [SIMPLE_EDGE]
+                          SHUFFLE [RS_40]
                             PartitionCols:_col0, _col1
-                            Select Operator [SEL_37] (rows=79201469 width=135)
+                            Select Operator [SEL_17] (rows=316797606 width=88)
                               Output:["_col0","_col1","_col2"]
-                              PTF Operator [PTF_36] (rows=79201469 width=135)
+                              PTF Operator [PTF_16] (rows=316797606 width=88)
                                 Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"_col0"}]
-                                Group By Operator [GBY_32] (rows=79201469 width=135)
+                                Group By Operator [GBY_12] (rows=316797606 width=88)
                                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
-                                <-Reducer 8 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_31]
+                                <-Reducer 2 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_11]
                                     PartitionCols:_col0
-                                    Group By Operator [GBY_30] (rows=158402938 width=135)
+                                    Group By Operator [GBY_10] (rows=633595212 width=88)
                                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)"],keys:_col1, _col4
-                                      Merge Join Operator [MERGEJOIN_66] (rows=158402938 width=135)
-                                        Conds:RS_78._col0=RS_74._col0(Inner),Output:["_col1","_col2","_col4"]
+                                      Merge Join Operator [MERGEJOIN_85] (rows=633595212 width=88)
+                                        Conds:RS_102._col0=RS_90._col0(Inner),Output:["_col1","_col2","_col4"]
                                       <-Map 7 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_74]
+                                        SHUFFLE [RS_90]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_72]
-                                      <-Map 10 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_78]
+                                           Please refer to the previous Select Operator [SEL_89]
+                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_102]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_77] (rows=144002668 width=135)
+                                          Select Operator [SEL_101] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_76] (rows=144002668 width=135)
-                                              predicate:(ws_item_sk is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_20] (rows=144002668 width=135)
-                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_sales_price"]
+                                            Filter Operator [FIL_100] (rows=575995635 width=88)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                              TableScan [TS_0] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_sales_price"]
+                                              <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_99]
+                                                  Group By Operator [GBY_98] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_96]
+                                                      Group By Operator [GBY_94] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_91] (rows=8116 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_89]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query52.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query52.q.out b/ql/src/test/results/clientpositive/perf/tez/query52.q.out
index f3d03c2..eec20fb 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query52.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query52.q.out
@@ -43,64 +43,89 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_49]
-        Select Operator [SEL_48] (rows=100 width=88)
+      File Output Operator [FS_79]
+        Select Operator [SEL_78] (rows=100 width=88)
           Output:["_col0","_col1","_col2","_col3"]
-          Limit [LIM_47] (rows=100 width=88)
+          Limit [LIM_77] (rows=100 width=88)
             Number of rows:100
-            Select Operator [SEL_46] (rows=348477374 width=88)
+            Select Operator [SEL_76] (rows=348477374 width=88)
               Output:["_col0","_col1","_col2"]
             <-Reducer 4 [SIMPLE_EDGE] vectorized
-              SHUFFLE [RS_45]
-                Group By Operator [GBY_44] (rows=348477374 width=88)
+              SHUFFLE [RS_75]
+                Group By Operator [GBY_74] (rows=348477374 width=88)
                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                 <-Reducer 3 [SIMPLE_EDGE]
                   SHUFFLE [RS_17]
                     PartitionCols:_col0, _col1
                     Group By Operator [GBY_16] (rows=696954748 width=88)
                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)"],keys:_col7, _col8
-                      Merge Join Operator [MERGEJOIN_34] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_43._col0(Inner),Output:["_col2","_col7","_col8"]
-                      <-Map 7 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_43]
+                      Merge Join Operator [MERGEJOIN_54] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_65._col0(Inner),Output:["_col2","_col7","_col8"]
+                      <-Map 8 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_65]
                           PartitionCols:_col0
-                          Select Operator [SEL_42] (rows=231000 width=1436)
+                          Select Operator [SEL_64] (rows=231000 width=1436)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_41] (rows=231000 width=1436)
+                            Filter Operator [FIL_63] (rows=231000 width=1436)
                               predicate:((i_manager_id = 1) and i_item_sk is not null)
                               TableScan [TS_6] (rows=462000 width=1436)
                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand_id","i_brand","i_manager_id"]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_33] (rows=633595212 width=88)
-                            Conds:RS_37._col0=RS_40._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_36] (rows=575995635 width=88)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_35] (rows=575995635 width=88)
-                                  predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
-                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                          Merge Join Operator [MERGEJOIN_53] (rows=633595212 width=88)
+                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_40]
+                            PARTITION_ONLY_SHUFFLE [RS_57]
                               PartitionCols:_col0
-                              Select Operator [SEL_39] (rows=18262 width=1119)
+                              Select Operator [SEL_56] (rows=18262 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_38] (rows=18262 width=1119)
+                                Filter Operator [FIL_55] (rows=18262 width=1119)
                                   predicate:((d_moy = 12) and (d_year = 1998) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,dt,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_73]
+                              PartitionCols:_col0
+                              Select Operator [SEL_72] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_71] (rows=575995635 width=88)
+                                  predicate:((ss_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_10_dt_d_date_sk_min) AND DynamicValue(RS_10_dt_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_10_dt_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_62]
+                                      Group By Operator [GBY_61] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_60]
+                                          Group By Operator [GBY_59] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_58] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_56]
+                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_70]
+                                      Group By Operator [GBY_69] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_68]
+                                          Group By Operator [GBY_67] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_66] (rows=231000 width=1436)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_64]
 


[27/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing_gby.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing_gby.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing_gby.q.out
index 993ea61..5dffd15 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing_gby.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing_gby.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 20 Data size: 1767 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -85,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: wr
+                  filterExpr: cstring1 is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 899146 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing_gby2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing_gby2.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing_gby2.q.out
index 493d404..75c393e9 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing_gby2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing_gby2.q.out
@@ -873,6 +873,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 20 Data size: 1767 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -925,6 +926,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: wr
+                  filterExpr: cstring1 is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 899146 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing_multipartitioning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing_multipartitioning.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing_multipartitioning.q.out
index 1a06f08..725ed34 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing_multipartitioning.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing_multipartitioning.q.out
@@ -10238,6 +10238,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n6
+                  filterExpr: ((s = 'tom allen') or (s = 'bob steinbeck')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 344 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10515,6 +10516,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n6
+                  filterExpr: ((s = 'tom allen') or (s = 'bob steinbeck')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10781,6 +10783,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n6
+                  filterExpr: ((s = 'tom allen') or (s = 'bob steinbeck')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 336 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11053,6 +11056,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n6
+                  filterExpr: ((s = 'tom allen') or (s = 'bob steinbeck')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11332,6 +11336,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n6
+                  filterExpr: ((s = 'tom allen') or (s = 'bob steinbeck')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 304 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
index 42e9694..74ac56d 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
@@ -71,6 +71,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key = '238') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1409,6 +1410,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n7
+                  filterExpr: (((s = 'oscar allen') or (s = 'oscar carson')) and (t = 10Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing_rank.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing_rank.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing_rank.q.out
index ff7cf6c..0be304c 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing_rank.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing_rank.q.out
@@ -1021,6 +1021,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: other
+                  filterExpr: b is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1073,6 +1074,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n0
+                  filterExpr: b is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1320,6 +1322,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: other
+                  filterExpr: b is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1372,6 +1375,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n0
+                  filterExpr: b is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1621,6 +1625,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: other
+                  filterExpr: ((t < 10Y) and b is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 164 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1673,6 +1678,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n0
+                  filterExpr: b is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing_streaming.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing_streaming.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing_streaming.q.out
index 55899ef..cf8f348 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing_streaming.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing_streaming.q.out
@@ -420,6 +420,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over10k_n8
+                  filterExpr: (t < 5Y) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
index 2a8ae49..d882657 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
@@ -1609,6 +1609,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and (UDFToInteger(ctinyint) = 3569))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1806,6 +1807,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -30617,6 +30619,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cint = 49) and (cfloat = 3.5)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 45) and (cfloat = 3.02))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -30734,6 +30737,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (struct(cint,cfloat)) IN (const struct(49,3.5), const struct(47,2.09), const struct(45,3.02)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -30851,6 +30855,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cint = 49) or (cfloat = 3.5)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 45) or (cfloat = 3.02))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -30970,6 +30975,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (cstring1) IN ('biology', 'history', 'topology') (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_1.q.out b/ql/src/test/results/clientpositive/llap/vectorization_1.q.out
index bdc4de4..d2fcbc2 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_1.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or (cboolean1 < 0)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_10.q.out b/ql/src/test/results/clientpositive/llap/vectorization_10.q.out
index 5cba462..7b004d8 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_10.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_10.q.out
@@ -63,6 +63,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 <= '10') or ((UDFToDouble(ctinyint) > cdouble) and (CAST( ctinyint AS decimal(6,2)) <= -5638.15)) or ((cdouble > 6981.0D) and ((CAST( csmallint AS decimal(11,4)) = 9763215.5639) or (cstring1 like '%a')))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_11.q.out b/ql/src/test/results/clientpositive/llap/vectorization_11.q.out
index 45a3e58..41f7dd8 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_11.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_11.q.out
@@ -45,6 +45,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2381474 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_12.q.out b/ql/src/test/results/clientpositive/llap/vectorization_12.q.out
index 7b508a0..b90a7fe 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_12.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_12.q.out
@@ -83,6 +83,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (ctimestamp1 is null and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint))))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1647554 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_13.q.out b/ql/src/test/results/clientpositive/llap/vectorization_13.q.out
index 222d232..173e2cb 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_13.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_13.q.out
@@ -85,6 +85,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cfloat < 3569) and (cdouble <= 10.175D) and (cboolean1 <> 1)) or ((UDFToDouble(ctimestamp1) > 11.0D) and (UDFToDouble(ctimestamp2) <> 12.0D) and (CAST( ctinyint AS decimal(11,4)) < 9763215.5639))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2028982 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -440,6 +441,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cfloat < 3569) and (cdouble <= 10.175D) and (cboolean1 <> 1)) or ((UDFToDouble(ctimestamp1) > -1.388D) and (UDFToDouble(ctimestamp2) <> -1.3359999999999999D) and (CAST( ctinyint AS decimal(11,4)) < 9763215.5639))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2028982 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_14.q.out b/ql/src/test/results/clientpositive/llap/vectorization_14.q.out
index 6f99dde..ac63435 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_14.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_14.q.out
@@ -85,6 +85,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((UDFToLong(ctinyint) <= cbigint) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2139070 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_15.q.out b/ql/src/test/results/clientpositive/llap/vectorization_15.q.out
index 1f13589..db49ad2 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_15.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_15.q.out
@@ -81,6 +81,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 like '%ss%') or (cstring1 like '10%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_16.q.out b/ql/src/test/results/clientpositive/llap/vectorization_16.q.out
index 33e72fc..5f7c8c2 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_16.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_16.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 like '%b%') and ((cdouble >= -1.389D) or (cstring1 < 'a'))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2308074 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_17.q.out b/ql/src/test/results/clientpositive/llap/vectorization_17.q.out
index 4d5f2e5..ef47725 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_17.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_17.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint > -23L) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1647550 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_2.q.out b/ql/src/test/results/clientpositive/llap/vectorization_2.q.out
index 29850bb..88d7f65 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_2.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15)) or ((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2157324 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_3.q.out b/ql/src/test/results/clientpositive/llap/vectorization_3.q.out
index 97ad680..47b16f7 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_3.q.out
@@ -69,6 +69,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((UDFToFloat(cint) <= cfloat) and (CAST( cbigint AS decimal(22,3)) <> 79.553) and (UDFToDouble(ctimestamp2) = -29071.0D)) or ((UDFToDouble(cbigint) > cdouble) and (CAST( csmallint AS decimal(8,3)) >= 79.553) and (ctimestamp1 > ctimestamp2))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1276620 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_4.q.out b/ql/src/test/results/clientpositive/llap/vectorization_4.q.out
index c459a8c..9eabe7e 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_4.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((UDFToInteger(csmallint) >= cint) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_5.q.out b/ql/src/test/results/clientpositive/llap/vectorization_5.q.out
index 14a4691..15ee8e0 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_5.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2454862 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_6.q.out b/ql/src/test/results/clientpositive/llap/vectorization_6.q.out
index d863334..70542ac 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_6.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257))))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_7.q.out b/ql/src/test/results/clientpositive/llap/vectorization_7.q.out
index b0e682a..2bbf611 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_7.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_7.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= 0.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -15.0D) and (cdouble <= 3569.0D)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -322,6 +323,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= 0.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > 7.6850000000000005D) and (cdouble <= 3569.0D)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_8.q.out b/ql/src/test/results/clientpositive/llap/vectorization_8.q.out
index 3a09542..3eeccf8 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_8.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_8.q.out
@@ -68,6 +68,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D)) or (cfloat < -6432) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -305,6 +306,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D)) or (cfloat < -6432) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_9.q.out b/ql/src/test/results/clientpositive/llap/vectorization_9.q.out
index 33e72fc..5f7c8c2 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_9.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_9.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring2 like '%b%') and ((cdouble >= -1.389D) or (cstring1 < 'a'))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2308074 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_decimal_date.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_decimal_date.q.out b/ql/src/test/results/clientpositive/llap/vectorization_decimal_date.q.out
index f19d8a6..80a6501 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_decimal_date.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_decimal_date.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_decimal_test
+                  filterExpr: (cint is not null and cdouble is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2101500 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_div0.q.out b/ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
index 8f4acba..fcb084a 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
@@ -240,6 +240,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint > 0L) and (cbigint < 100000000L)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 146792 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -459,6 +460,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cdouble >= -500.0D) and (cdouble < -199.0D)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 146792 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -678,6 +680,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cint > 500000000) or (cdouble > 1.0E9D) or (ctinyint = 0Y)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 220184 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_input_format_excludes.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_input_format_excludes.q.out b/ql/src/test/results/clientpositive/llap/vectorization_input_format_excludes.q.out
index becc03c..547afa0 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_input_format_excludes.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_input_format_excludes.q.out
@@ -73,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypes_parquet_n0
+                  filterExpr: (cint = 528534767) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1082638 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint = 528534767) (type: boolean)
@@ -409,6 +410,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypes_parquet_n0
+                  filterExpr: (cint = 528534767) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1082638 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint = 528534767) (type: boolean)
@@ -735,6 +737,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypes_parquet_n0
+                  filterExpr: (cint = 528534767) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1082638 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint = 528534767) (type: boolean)
@@ -1119,6 +1122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypes_orc_n2
+                  filterExpr: (cint = 528534767) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1082638 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint = 528534767) (type: boolean)
@@ -1459,6 +1463,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orctbl
+                  filterExpr: (UDFToInteger((t1 + t2)) > 10) (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToInteger((t1 + t2)) > 10) (type: boolean)
@@ -1537,6 +1542,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: parquettbl
+                  filterExpr: (UDFToInteger((t1 + t2)) > 10) (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToInteger((t1 + t2)) > 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out b/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out
index ded40fd..e79cdf7 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out
@@ -25,6 +25,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 183488 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean)
@@ -121,6 +122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ctinyint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 146796 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -873,6 +875,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ctinyint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 110096 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out b/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
index d12e038..b289c92 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
@@ -92,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint = 762L) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cstring1 = 'a') or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -354,6 +355,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cbigint <= 197L) and (UDFToLong(cint) < cbigint)) or ((cdouble >= -26.28D) and (UDFToDouble(csmallint) > cdouble)) or ((UDFToFloat(ctinyint) > cfloat) and cstring1 regexp '.*ss.*') or ((cfloat > 79.553) and (cstring2 like '10%'))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2036734 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -608,6 +610,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((ctimestamp1 = ctimestamp2) or (cfloat = 762) or (cstring1 = 'ss') or ((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or (cboolean1 is not null and ctimestamp2 is not null and (cstring2 > 'a'))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -841,6 +844,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((ctimestamp2 <= ctimestamp1) and (UDFToDouble(cbigint) <> cdouble) and (cstring1 >= 'ss')) or ((csmallint < UDFToShort(ctinyint)) and (UDFToDouble(ctimestamp1) >= 0.0D)) or (cfloat = 17)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2139070 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1082,6 +1086,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cstring1 regexp 'a.*' and (cstring2 like '%ss%')) or ((cboolean2 <> 1) and (CAST( csmallint AS decimal(8,3)) < 79.553) and (UDFToInteger(ctinyint) <> -257)) or ((cdouble > UDFToDouble(ctinyint)) and (cfloat >= UDFToFloat(cint))) or ((UDFToLong(cint) < cbigint) and (UDFToLong(ctinyint) > cbigint))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3056470 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1379,6 +1384,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((UDFToInteger(ctinyint) < 197) and (UDFToLong(cint) = cbigint)) or (cbigint = 359L) or (cboolean1 < 0) or ((cstring1 like '%ss') and (cfloat <= UDFToFloat(ctinyint)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1625,6 +1631,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((CAST( csmallint AS decimal(7,2)) > -26.28) and (cstring2 like 'ss')) or ((cdouble <= UDFToDouble(cbigint)) and (cstring1 >= 'ss') and (UDFToDouble(cint) <> cdouble)) or (UDFToInteger(ctinyint) = -89010) or ((UDFToFloat(cbigint) <= cfloat) and (CAST( csmallint AS decimal(7,2)) >= -26.28))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1929,6 +1936,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((CAST( cint AS decimal(13,3)) <= -1.389) and (csmallint < UDFToShort(ctinyint)) and (UDFToInteger(csmallint) < -6432)) or ((cdouble >= UDFToDouble(cfloat)) and (cstring2 <= 'a')) or ((cstring1 like 'ss%') and (CAST( cbigint AS decimal(22,3)) < 10.175))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2528254 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2175,6 +2183,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((UDFToInteger(csmallint) >= -257) and ((UDFToInteger(csmallint) = -6432) or ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2452,6 +2461,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cdouble > 2563.58D) and (((cbigint >= UDFToLong(cint)) and (UDFToInteger(csmallint) < cint) and (cfloat < -5638.15)) or (CAST( ctinyint AS decimal(6,2)) = 2563.58) or ((cdouble <= UDFToDouble(cbigint)) and (CAST( cbigint AS decimal(21,2)) < -5638.15)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 293580 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2773,6 +2783,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((UDFToDouble(ctimestamp1) <> 0.0D) and (((UDFToInteger(ctinyint) <> -257) and cboolean2 is not null and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D)) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint))))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -3175,6 +3186,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and cstring1 is not null and (cboolean1 >= 1)) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_bucketmapjoin1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_bucketmapjoin1.q.out b/ql/src/test/results/clientpositive/llap/vectorized_bucketmapjoin1.q.out
index 386c8be..d142f09 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_bucketmapjoin1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_bucketmapjoin1.q.out
@@ -117,6 +117,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -124,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -192,6 +194,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -199,6 +202,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -267,6 +271,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -274,6 +279,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_case.q.out b/ql/src/test/results/clientpositive/llap/vectorized_case.q.out
index fb81501..78098b4 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_case.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_case.q.out
@@ -51,6 +51,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((csmallint = 418S) or (csmallint = 12205S) or (csmallint = 10583S)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -200,6 +201,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((csmallint = 418S) or (csmallint = 12205S) or (csmallint = 10583S)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1249,7 +1251,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 ####
-4086
+0
 PREHOOK: query: select count(*)
 from (
 select

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out b/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
index 8f5ce87..3141b5a 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
@@ -165,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint % 250) = 0) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_context.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_context.q.out b/ql/src/test/results/clientpositive/llap/vectorized_context.q.out
index 778ba26..6570f74 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_context.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_context.q.out
@@ -116,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_store_sk is not null and ss_hdemo_sk is not null) (type: boolean)
                   Statistics: Num rows: 6075 Data size: 72744 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -173,6 +174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: hd_demo_sk is not null (type: boolean)
                   Statistics: Num rows: 6075 Data size: 24300 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: hd_demo_sk is not null (type: boolean)
@@ -201,6 +203,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 6075 Data size: 615730 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out b/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out
index fddf320..e03948f 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out
@@ -197,6 +197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2_n9
+                  filterExpr: key BETWEEN 100 AND 102 (type: boolean)
                   Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -304,6 +305,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2_n9
+                  filterExpr: key BETWEEN 100 AND 102 (type: boolean)
                   Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key BETWEEN 100 AND 102 (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
index 53cb943..97e8be6 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
@@ -27,6 +27,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -103,6 +104,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_mapjoin3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_mapjoin3.q.out b/ql/src/test/results/clientpositive/llap/vectorized_mapjoin3.q.out
index 053826e..e9aea17 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_mapjoin3.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_mapjoin3.q.out
@@ -119,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (decimal0801_col is not null and int_col_1 is not null) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -323,6 +324,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (int_col_1 is not null and decimal0801_col is not null) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -527,6 +529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (decimal0801_col is not null and int_col_1 is not null) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out b/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
index 57b5845..aae87d8 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
@@ -119,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 293580 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_multi_output_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_multi_output_select.q.out b/ql/src/test/results/clientpositive/llap/vectorized_multi_output_select.q.out
index 052fda6..d6bad24 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_multi_output_select.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_multi_output_select.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[63][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain
 select * from (
   select count(*) as h8_30_to_9
@@ -42,6 +42,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -92,6 +93,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: ((value = 'val_278') and key is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((value = 'val_278') and key is not null) (type: boolean)
@@ -111,6 +113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: ((value = 'val_255') and key is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((value = 'val_255') and key is not null) (type: boolean)
@@ -175,7 +178,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[63][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from (
   select count(*) as h8_30_to_9
   from src

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out
index 7546dbb..27bab20 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out
@@ -23,6 +23,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v2
+                  filterExpr: ctinyint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ctinyint is not null (type: boolean)
@@ -79,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v1
+                  filterExpr: (ctinyint is not null and csmallint is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 146796 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint is not null and ctinyint is not null) (type: boolean)
@@ -108,6 +110,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v3
+                  filterExpr: csmallint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: csmallint is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_parquet.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_parquet.q.out b/ql/src/test/results/clientpositive/llap/vectorized_parquet.q.out
index 59adda0..039c206 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_parquet.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_parquet.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alltypes_parquet
+          filterExpr: (cint = 528534767) (type: boolean)
           Filter Operator
             predicate: (cint = 528534767) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out
index 53bd3c9..cc6631e 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out
@@ -359,6 +359,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5902 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -403,6 +404,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1480,6 +1482,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1658,6 +1661,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -3051,6 +3055,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out b/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
index 68c56ed..597c432 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -70,6 +71,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out b/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
index aecd67e..5281115 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
@@ -59,6 +59,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (((cbigint % 237) = 0) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1816546 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((cbigint % 237) = 0) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out b/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
index dfab9db..5b68f00 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
@@ -264,6 +264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_n2
+                  filterExpr: (ts) IN (TIMESTAMP'0001-01-01 00:00:00.0', TIMESTAMP'0002-02-02 00:00:00.0') (type: boolean)
                   Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out b/ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
index 82d43c1..14ca738 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
@@ -51,6 +51,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint % 250) = 0) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -215,6 +216,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint % 250) = 0) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/windowing_gby.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/windowing_gby.q.out b/ql/src/test/results/clientpositive/llap/windowing_gby.q.out
index deaa943..eef7562 100644
--- a/ql/src/test/results/clientpositive/llap/windowing_gby.q.out
+++ b/ql/src/test/results/clientpositive/llap/windowing_gby.q.out
@@ -22,42 +22,42 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 4 vectorized, llap
-      File Output Operator [FS_37]
-        Select Operator [SEL_36] (rows=2 width=4)
+      File Output Operator [FS_47]
+        Select Operator [SEL_46] (rows=2 width=4)
           Output:["_col0"]
-          PTF Operator [PTF_35] (rows=2 width=16)
+          PTF Operator [PTF_45] (rows=2 width=16)
             Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(UDFToDouble(_col1) / UDFToDouble(_col2)) ASC NULLS FIRST","partition by:":"0"}]
-            Select Operator [SEL_34] (rows=2 width=16)
+            Select Operator [SEL_44] (rows=2 width=16)
               Output:["_col1","_col2"]
             <-Reducer 3 [SIMPLE_EDGE] vectorized, llap
-              SHUFFLE [RS_33]
+              SHUFFLE [RS_43]
                 PartitionCols:0
-                Select Operator [SEL_32] (rows=2 width=20)
+                Select Operator [SEL_42] (rows=2 width=20)
                   Output:["_col1","_col2"]
-                  Group By Operator [GBY_31] (rows=2 width=20)
+                  Group By Operator [GBY_41] (rows=2 width=20)
                     Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0
                   <-Reducer 2 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_11]
                       PartitionCols:_col0
                       Group By Operator [GBY_10] (rows=3 width=20)
                         Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)","sum(_col1)"],keys:_col2
-                        Merge Join Operator [MERGEJOIN_24] (rows=36 width=7)
-                          Conds:RS_27._col0=RS_30._col1(Inner),Output:["_col1","_col2","_col3"]
+                        Merge Join Operator [MERGEJOIN_34] (rows=36 width=7)
+                          Conds:RS_37._col0=RS_40._col1(Inner),Output:["_col1","_col2","_col3"]
                         <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                          SHUFFLE [RS_27]
+                          SHUFFLE [RS_37]
                             PartitionCols:_col0
-                            Select Operator [SEL_26] (rows=18 width=87)
+                            Select Operator [SEL_36] (rows=18 width=87)
                               Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_25] (rows=18 width=87)
+                              Filter Operator [FIL_35] (rows=18 width=87)
                                 predicate:value is not null
                                 TableScan [TS_0] (rows=20 width=88)
                                   default@cbo_t3,ws,Tbl:COMPLETE,Col:COMPLETE,Output:["value","c_int","c_boolean"]
                         <-Map 5 [SIMPLE_EDGE] vectorized, llap
-                          SHUFFLE [RS_30]
+                          SHUFFLE [RS_40]
                             PartitionCols:_col1
-                            Select Operator [SEL_29] (rows=9174 width=73)
+                            Select Operator [SEL_39] (rows=9174 width=73)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_28] (rows=9174 width=73)
+                              Filter Operator [FIL_38] (rows=9174 width=73)
                                 predicate:cstring1 is not null
                                 TableScan [TS_3] (rows=12288 width=73)
                                   default@alltypesorc,wr,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cstring1"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/load_dyn_part10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/load_dyn_part10.q.out b/ql/src/test/results/clientpositive/load_dyn_part10.q.out
index 38fd78d..5320999 100644
--- a/ql/src/test/results/clientpositive/load_dyn_part10.q.out
+++ b/ql/src/test/results/clientpositive/load_dyn_part10.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds > '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/load_dyn_part13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/load_dyn_part13.q.out b/ql/src/test/results/clientpositive/load_dyn_part13.q.out
index 89aa84f..75e1de4 100644
--- a/ql/src/test/results/clientpositive/load_dyn_part13.q.out
+++ b/ql/src/test/results/clientpositive/load_dyn_part13.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -102,6 +103,7 @@ STAGE PLANS:
                         value expressions: _col2 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>), _col3 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
           TableScan
             alias: src
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 40.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 40.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/load_dyn_part2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/load_dyn_part2.q.out b/ql/src/test/results/clientpositive/load_dyn_part2.q.out
index ce33f93..9fb551a 100644
--- a/ql/src/test/results/clientpositive/load_dyn_part2.q.out
+++ b/ql/src/test/results/clientpositive/load_dyn_part2.q.out
@@ -45,6 +45,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/load_dyn_part3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/load_dyn_part3.q.out b/ql/src/test/results/clientpositive/load_dyn_part3.q.out
index 823f0c7..41fa54c 100644
--- a/ql/src/test/results/clientpositive/load_dyn_part3.q.out
+++ b/ql/src/test/results/clientpositive/load_dyn_part3.q.out
@@ -50,6 +50,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/load_dyn_part4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/load_dyn_part4.q.out b/ql/src/test/results/clientpositive/load_dyn_part4.q.out
index 2ff534b..4cdba68 100644
--- a/ql/src/test/results/clientpositive/load_dyn_part4.q.out
+++ b/ql/src/test/results/clientpositive/load_dyn_part4.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/load_dyn_part9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/load_dyn_part9.q.out b/ql/src/test/results/clientpositive/load_dyn_part9.q.out
index a5af46d..48f1516 100644
--- a/ql/src/test/results/clientpositive/load_dyn_part9.q.out
+++ b/ql/src/test/results/clientpositive/load_dyn_part9.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds <= '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/louter_join_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/louter_join_ppr.q.out b/ql/src/test/results/clientpositive/louter_join_ppr.q.out
index ba1fb0e..df11f51 100644
--- a/ql/src/test/results/clientpositive/louter_join_ppr.q.out
+++ b/ql/src/test/results/clientpositive/louter_join_ppr.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -47,6 +48,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -324,6 +326,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -345,6 +348,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -626,6 +630,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -647,6 +652,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -924,6 +930,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -945,6 +952,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin46.q.out b/ql/src/test/results/clientpositive/mapjoin46.q.out
index b3d418c..a4f067f 100644
--- a/ql/src/test/results/clientpositive/mapjoin46.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin46.q.out
@@ -162,6 +162,7 @@ STAGE PLANS:
         $hdt$_1:test2_n2 
           TableScan
             alias: test2_n2
+            filterExpr: key BETWEEN 100 AND 102 (type: boolean)
             Statistics: Num rows: 4 Data size: 38 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -268,6 +269,7 @@ STAGE PLANS:
         $hdt$_1:test2_n2 
           TableScan
             alias: test2_n2
+            filterExpr: key BETWEEN 100 AND 102 (type: boolean)
             Statistics: Num rows: 4 Data size: 38 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key BETWEEN 100 AND 102 (type: boolean)


[08/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/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..75d5423 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query4.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query4.q.out
@@ -217,36 +217,52 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 12 <- Map 25 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 10 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 15 <- Map 25 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 19 <- Map 25 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
-Reducer 21 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 22 <- Map 25 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
-Reducer 23 <- Reducer 22 (SIMPLE_EDGE)
-Reducer 3 <- Map 25 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 26 (BROADCAST_EDGE), Reducer 35 (BROADCAST_EDGE)
+Map 11 <- Reducer 25 (BROADCAST_EDGE), Reducer 34 (BROADCAST_EDGE)
+Map 15 <- Reducer 28 (BROADCAST_EDGE), Reducer 37 (BROADCAST_EDGE)
+Map 19 <- Reducer 24 (BROADCAST_EDGE)
+Map 38 <- Reducer 32 (BROADCAST_EDGE)
+Map 7 <- Reducer 27 (BROADCAST_EDGE), Reducer 36 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 13 <- Map 33 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 17 <- Map 33 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 20 <- Map 19 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 21 <- Map 33 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
+Reducer 22 <- Reducer 21 (SIMPLE_EDGE)
+Reducer 24 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 23 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE)
+Reducer 3 <- Map 33 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 33 (SIMPLE_EDGE), Reducer 29 (SIMPLE_EDGE)
+Reducer 31 <- Reducer 30 (SIMPLE_EDGE)
+Reducer 32 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Map 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 35 <- Map 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 36 <- Map 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 37 <- Map 33 (CUSTOM_SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 13 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 10 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Map 1 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 8 <- Map 25 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 23 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 33 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_357]
-        Limit [LIM_356] (rows=100 width=88)
+      File Output Operator [FS_587]
+        Limit [LIM_586] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_355] (rows=212958399 width=88)
+          Select Operator [SEL_585] (rows=212958399 width=88)
             Output:["_col0"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_139]
@@ -254,182 +270,326 @@ Stage-0
                 Output:["_col0"]
                 Filter Operator [FIL_136] (rows=212958399 width=88)
                   predicate:(((_col1 / _col8) > (_col10 / _col12)) and ((_col1 / _col8) > (_col6 / _col3)))
-                  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"]
-                  <-Reducer 13 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_337]
+                  Merge Join Operator [MERGEJOIN_470] (rows=1916625598 width=88)
+                    Conds:RS_532._col0=RS_544._col0(Inner),RS_544._col0=RS_554._col0(Inner),RS_544._col0=RS_566._col0(Inner),RS_544._col0=RS_574._col0(Inner),RS_544._col0=RS_584._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8","_col10","_col12"]
+                  <-Reducer 10 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_544]
                       PartitionCols:_col0
-                      Select Operator [SEL_336] (rows=348477374 width=88)
+                      Select Operator [SEL_543] (rows=116159124 width=88)
+                        Output:["_col0","_col1"]
+                        Filter Operator [FIL_542] (rows=116159124 width=88)
+                          predicate:(_col7 > 0)
+                          Select Operator [SEL_541] (rows=348477374 width=88)
+                            Output:["_col0","_col7"]
+                            Group By Operator [GBY_540] (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 9 [SIMPLE_EDGE]
+                              SHUFFLE [RS_39]
+                                PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
+                                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_36] (rows=696954748 width=88)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                    Merge Join Operator [MERGEJOIN_461] (rows=696954748 width=88)
+                                      Conds:RS_33._col1=RS_512._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_512]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_506] (rows=80000000 width=860)
+                                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                          Filter Operator [FIL_505] (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)
+                                              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 8 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_33]
+                                        PartitionCols:_col1
+                                        Merge Join Operator [MERGEJOIN_460] (rows=633595212 width=88)
+                                          Conds:RS_539._col0=RS_485._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 23 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_485]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_476] (rows=36524 width=1119)
+                                              Output:["_col0"]
+                                              Filter Operator [FIL_472] (rows=36524 width=1119)
+                                                predicate:((d_year = 2001) and d_date_sk is not null)
+                                                TableScan [TS_89] (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_539]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_538] (rows=575995635 width=88)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Filter Operator [FIL_537] (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)
+                                                  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 27 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_534]
+                                                    Group By Operator [GBY_533] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_500]
+                                                        Group By Operator [GBY_494] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_486] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_476]
+                                                <-Reducer 36 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_536]
+                                                    Group By Operator [GBY_535] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                    <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_523]
+                                                        Group By Operator [GBY_519] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                          Select Operator [SEL_513] (rows=80000000 width=860)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_506]
+                  <-Reducer 14 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_554]
+                      PartitionCols:_col0
+                      Select Operator [SEL_553] (rows=348477374 width=88)
                         Output:["_col0","_col1","_col2"]
-                        Group By Operator [GBY_335] (rows=348477374 width=88)
+                        Group By Operator [GBY_552] (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 12 [SIMPLE_EDGE]
+                        <-Reducer 13 [SIMPLE_EDGE]
                           SHUFFLE [RS_61]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                             Group By Operator [GBY_60] (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_58] (rows=696954748 width=88)
                                 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"]
-                                <-Map 25 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_318]
+                                Merge Join Operator [MERGEJOIN_463] (rows=696954748 width=88)
+                                  Conds:RS_55._col1=RS_508._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                <-Map 33 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_508]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_316] (rows=80000000 width=860)
-                                      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)
-                                          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]
+                                     Please refer to the previous Select Operator [SEL_506]
+                                <-Reducer 12 [SIMPLE_EDGE]
                                   SHUFFLE [RS_55]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_288] (rows=633595212 width=88)
-                                      Conds:RS_333._col0=RS_310._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                    <-Map 24 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_310]
+                                    Merge Join Operator [MERGEJOIN_462] (rows=633595212 width=88)
+                                      Conds:RS_551._col0=RS_481._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_481]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_305] (rows=36524 width=1119)
+                                        Select Operator [SEL_475] (rows=36524 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_301] (rows=36524 width=1119)
+                                          Filter Operator [FIL_471] (rows=36524 width=1119)
                                             predicate:((d_year = 2002) and d_date_sk is not null)
-                                            TableScan [TS_89] (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]
+                                             Please refer to the previous TableScan [TS_89]
+                                    <-Map 11 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_551]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_332] (rows=575995635 width=88)
+                                        Select Operator [SEL_550] (rows=575995635 width=88)
                                           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)
+                                          Filter Operator [FIL_549] (rows=575995635 width=88)
+                                            predicate:((ss_customer_sk BETWEEN DynamicValue(RS_56_customer_c_customer_sk_min) AND DynamicValue(RS_56_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_56_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_53_date_dim_d_date_sk_min) AND DynamicValue(RS_53_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_53_date_dim_d_date_sk_bloom_filter))) and 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"]
-                  <-Reducer 16 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_342]
+                                            <-Reducer 25 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_546]
+                                                Group By Operator [GBY_545] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_498]
+                                                    Group By Operator [GBY_492] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_482] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_475]
+                                            <-Reducer 34 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_548]
+                                                Group By Operator [GBY_547] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_521]
+                                                    Group By Operator [GBY_517] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                      Select Operator [SEL_509] (rows=80000000 width=860)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_506]
+                  <-Reducer 18 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_566]
                       PartitionCols:_col0
-                      Select Operator [SEL_341] (rows=116159124 width=88)
+                      Select Operator [SEL_565] (rows=58077952 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_340] (rows=116159124 width=88)
+                        Filter Operator [FIL_564] (rows=58077952 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_339] (rows=348477374 width=88)
+                          Select Operator [SEL_563] (rows=174233858 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_338] (rows=348477374 width=88)
+                            Group By Operator [GBY_562] (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]
+                            <-Reducer 17 [SIMPLE_EDGE]
+                              SHUFFLE [RS_82]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_38] (rows=696954748 width=88)
+                                Group By Operator [GBY_81] (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_79] (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"]
-                                    <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_320]
+                                    Merge Join Operator [MERGEJOIN_465] (rows=348467716 width=135)
+                                      Conds:RS_76._col1=RS_514._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_514]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_316]
-                                    <-Reducer 14 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_33]
+                                         Please refer to the previous Select Operator [SEL_506]
+                                    <-Reducer 16 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_76]
                                         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"]
-                                        <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_312]
+                                        Merge Join Operator [MERGEJOIN_464] (rows=316788826 width=135)
+                                          Conds:RS_561._col0=RS_487._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 23 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_487]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_306] (rows=36524 width=1119)
+                                            Select Operator [SEL_477] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_302] (rows=36524 width=1119)
+                                              Filter Operator [FIL_473] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
                                                  Please refer to the previous TableScan [TS_89]
-                                        <-Map 10 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_334]
+                                        <-Map 15 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_561]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_332]
-                  <-Reducer 20 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_349]
+                                            Select Operator [SEL_560] (rows=287989836 width=135)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Filter Operator [FIL_559] (rows=287989836 width=135)
+                                                predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_77_customer_c_customer_sk_min) AND DynamicValue(RS_77_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_77_customer_c_customer_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_74_date_dim_d_date_sk_min) AND DynamicValue(RS_74_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_74_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+                                                TableScan [TS_64] (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 28 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_556]
+                                                    Group By Operator [GBY_555] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_501]
+                                                        Group By Operator [GBY_495] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_488] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_477]
+                                                <-Reducer 37 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_558]
+                                                    Group By Operator [GBY_557] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                    <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_524]
+                                                        Group By Operator [GBY_520] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                          Select Operator [SEL_515] (rows=80000000 width=860)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_506]
+                  <-Reducer 22 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_574]
                       PartitionCols:_col0
-                      Select Operator [SEL_348] (rows=87121617 width=135)
+                      Select Operator [SEL_573] (rows=87121617 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_347] (rows=87121617 width=135)
+                        Group By Operator [GBY_572] (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 19 [SIMPLE_EDGE]
+                        <-Reducer 21 [SIMPLE_EDGE]
                           SHUFFLE [RS_104]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                             Group By Operator [GBY_103] (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_101] (rows=174243235 width=135)
                                 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"]
-                                <-Map 25 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_317]
+                                Merge Join Operator [MERGEJOIN_467] (rows=174243235 width=135)
+                                  Conds:RS_98._col1=RS_507._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                <-Map 33 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_507]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_316]
-                                <-Reducer 18 [SIMPLE_EDGE]
+                                     Please refer to the previous Select Operator [SEL_506]
+                                <-Reducer 20 [SIMPLE_EDGE]
                                   SHUFFLE [RS_98]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_292] (rows=158402938 width=135)
-                                      Conds:RS_345._col0=RS_309._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                    <-Map 24 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_309]
+                                    Merge Join Operator [MERGEJOIN_466] (rows=158402938 width=135)
+                                      Conds:RS_571._col0=RS_479._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_479]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_305]
-                                    <-Map 17 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_345]
+                                         Please refer to the previous Select Operator [SEL_475]
+                                    <-Map 19 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_571]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_344] (rows=144002668 width=135)
+                                        Select Operator [SEL_570] (rows=144002668 width=135)
                                           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)
+                                          Filter Operator [FIL_569] (rows=144002668 width=135)
+                                            predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_96_date_dim_d_date_sk_min) AND DynamicValue(RS_96_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_96_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_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"]
-                  <-Reducer 23 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_354]
+                                            <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_568]
+                                                Group By Operator [GBY_567] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_497]
+                                                    Group By Operator [GBY_491] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_480] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_475]
+                  <-Reducer 31 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_584]
                       PartitionCols:_col0
-                      Select Operator [SEL_353] (rows=29040539 width=135)
+                      Select Operator [SEL_583] (rows=29040539 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_352] (rows=29040539 width=135)
+                        Filter Operator [FIL_582] (rows=29040539 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_351] (rows=87121617 width=135)
+                          Select Operator [SEL_581] (rows=87121617 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_350] (rows=87121617 width=135)
+                            Group By Operator [GBY_580] (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 22 [SIMPLE_EDGE]
+                            <-Reducer 30 [SIMPLE_EDGE]
                               SHUFFLE [RS_125]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                                 Group By Operator [GBY_124] (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_122] (rows=174243235 width=135)
                                     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"]
-                                    <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_322]
+                                    Merge Join Operator [MERGEJOIN_469] (rows=174243235 width=135)
+                                      Conds:RS_119._col1=RS_516._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_516]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_316]
-                                    <-Reducer 21 [SIMPLE_EDGE]
+                                         Please refer to the previous Select Operator [SEL_506]
+                                    <-Reducer 29 [SIMPLE_EDGE]
                                       SHUFFLE [RS_119]
                                         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"]
-                                        <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_314]
+                                        Merge Join Operator [MERGEJOIN_468] (rows=158402938 width=135)
+                                          Conds:RS_579._col0=RS_489._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 23 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_489]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_308] (rows=36524 width=1119)
+                                            Select Operator [SEL_478] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_304] (rows=36524 width=1119)
+                                              Filter Operator [FIL_474] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
                                                  Please refer to the previous TableScan [TS_89]
-                                        <-Map 17 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_346]
+                                        <-Map 38 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_579]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_344]
+                                            Select Operator [SEL_578] (rows=144002668 width=135)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Filter Operator [FIL_577] (rows=144002668 width=135)
+                                                predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_117_date_dim_d_date_sk_min) AND DynamicValue(RS_117_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_117_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_107] (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 32 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_576]
+                                                    Group By Operator [GBY_575] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_502]
+                                                        Group By Operator [GBY_496] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_490] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_478]
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_325]
+                    SHUFFLE [RS_532]
                       PartitionCols:_col0
-                      Select Operator [SEL_324] (rows=174233858 width=135)
+                      Select Operator [SEL_531] (rows=174233858 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_323] (rows=174233858 width=135)
+                        Group By Operator [GBY_530] (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 3 [SIMPLE_EDGE]
                           SHUFFLE [RS_18]
@@ -438,69 +598,50 @@ Stage-0
                               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)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_285] (rows=348467716 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]
+                                Merge Join Operator [MERGEJOIN_459] (rows=348467716 width=135)
+                                  Conds:RS_12._col1=RS_510._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                <-Map 33 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_510]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_316]
+                                     Please refer to the previous Select Operator [SEL_506]
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_12]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_284] (rows=316788826 width=135)
-                                      Conds:RS_299._col0=RS_311._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                    <-Map 24 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_311]
+                                    Merge Join Operator [MERGEJOIN_458] (rows=316788826 width=135)
+                                      Conds:RS_529._col0=RS_483._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_483]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_305]
+                                         Please refer to the previous Select Operator [SEL_475]
                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_299]
+                                      SHUFFLE [RS_529]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_298] (rows=287989836 width=135)
+                                        Select Operator [SEL_528] (rows=287989836 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)
+                                          Filter Operator [FIL_527] (rows=287989836 width=135)
+                                            predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_13_customer_c_customer_sk_min) AND DynamicValue(RS_13_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_13_customer_c_customer_sk_bloom_filter))) and (cs_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(cs_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and 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"]
-                  <-Reducer 9 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_330]
-                      PartitionCols:_col0
-                      Select Operator [SEL_329] (rows=58077952 width=135)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_328] (rows=58077952 width=135)
-                          predicate:(_col7 > 0)
-                          Select Operator [SEL_327] (rows=174233858 width=135)
-                            Output:["_col0","_col7"]
-                            Group By Operator [GBY_326] (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 8 [SIMPLE_EDGE]
-                              SHUFFLE [RS_82]
-                                PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_81] (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_79] (rows=348467716 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"]
-                                    <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_321]
-                                        PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_316]
-                                    <-Reducer 7 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_76]
-                                        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"]
-                                        <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_313]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_307] (rows=36524 width=1119)
-                                              Output:["_col0"]
-                                              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]
-                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_300]
-                                            PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_298]
+                                            <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_504]
+                                                Group By Operator [GBY_503] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_499]
+                                                    Group By Operator [GBY_493] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_484] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_475]
+                                            <-Reducer 35 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_526]
+                                                Group By Operator [GBY_525] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_522]
+                                                    Group By Operator [GBY_518] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                      Select Operator [SEL_511] (rows=80000000 width=860)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_506]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query40.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query40.q.out b/ql/src/test/results/clientpositive/perf/tez/query40.q.out
index fba9e76..96bbe46 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query40.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query40.q.out
@@ -55,10 +55,14 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 
@@ -67,14 +71,14 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_78]
-        Limit [LIM_77] (rows=100 width=135)
+      File Output Operator [FS_134]
+        Limit [LIM_133] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_76] (rows=210822976 width=135)
+          Select Operator [SEL_132] (rows=210822976 width=135)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_75]
-              Group By Operator [GBY_74] (rows=210822976 width=135)
+            SHUFFLE [RS_131]
+              Group By Operator [GBY_130] (rows=210822976 width=135)
                 Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1
               <-Reducer 5 [SIMPLE_EDGE]
                 SHUFFLE [RS_30]
@@ -83,65 +87,98 @@ Stage-0
                     Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col2)","sum(_col3)"],keys:_col0, _col1
                     Select Operator [SEL_27] (rows=421645953 width=135)
                       Output:["_col0","_col1","_col2","_col3"]
-                      Merge Join Operator [MERGEJOIN_58] (rows=421645953 width=135)
-                        Conds:RS_24._col1=RS_73._col0(Inner),Output:["_col4","_col7","_col9","_col11","_col14"]
-                      <-Map 11 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_73]
+                      Merge Join Operator [MERGEJOIN_99] (rows=421645953 width=135)
+                        Conds:RS_24._col1=RS_118._col0(Inner),Output:["_col4","_col7","_col9","_col11","_col14"]
+                      <-Map 13 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_118]
                           PartitionCols:_col0
-                          Select Operator [SEL_72] (rows=27 width=1029)
+                          Select Operator [SEL_117] (rows=27 width=1029)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_71] (rows=27 width=1029)
+                            Filter Operator [FIL_116] (rows=27 width=1029)
                               predicate:w_warehouse_sk is not null
                               TableScan [TS_12] (rows=27 width=1029)
                                 default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_state"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_24]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_57] (rows=383314495 width=135)
-                            Conds:RS_21._col2=RS_70._col0(Inner),Output:["_col1","_col4","_col7","_col9","_col11"]
-                          <-Map 10 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_70]
+                          Merge Join Operator [MERGEJOIN_98] (rows=383314495 width=135)
+                            Conds:RS_21._col2=RS_110._col0(Inner),Output:["_col1","_col4","_col7","_col9","_col11"]
+                          <-Map 11 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_110]
                               PartitionCols:_col0
-                              Select Operator [SEL_69] (rows=51333 width=1436)
+                              Select Operator [SEL_109] (rows=51333 width=1436)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_68] (rows=51333 width=1436)
+                                Filter Operator [FIL_108] (rows=51333 width=1436)
                                   predicate:(i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null)
                                   TableScan [TS_9] (rows=462000 width=1436)
                                     default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_current_price"]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_21]
                               PartitionCols:_col2
-                              Merge Join Operator [MERGEJOIN_56] (rows=348467716 width=135)
-                                Conds:RS_18._col0=RS_67._col0(Inner),Output:["_col1","_col2","_col4","_col7","_col9"]
+                              Merge Join Operator [MERGEJOIN_97] (rows=348467716 width=135)
+                                Conds:RS_18._col0=RS_102._col0(Inner),Output:["_col1","_col2","_col4","_col7","_col9"]
                               <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_67]
+                                SHUFFLE [RS_102]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_66] (rows=8116 width=1119)
+                                  Select Operator [SEL_101] (rows=8116 width=1119)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_65] (rows=8116 width=1119)
+                                    Filter Operator [FIL_100] (rows=8116 width=1119)
                                       predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null)
                                       TableScan [TS_6] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_18]
                                   PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_55] (rows=316788826 width=135)
-                                    Conds:RS_61._col2, _col3=RS_64._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col7"]
+                                  Merge Join Operator [MERGEJOIN_96] (rows=316788826 width=135)
+                                    Conds:RS_126._col2, _col3=RS_129._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col7"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_61]
+                                    SHUFFLE [RS_126]
                                       PartitionCols:_col2, _col3
-                                      Select Operator [SEL_60] (rows=287989836 width=135)
+                                      Select Operator [SEL_125] (rows=287989836 width=135)
                                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                                        Filter Operator [FIL_59] (rows=287989836 width=135)
-                                          predicate:(cs_item_sk is not null and cs_sold_date_sk is not null and cs_warehouse_sk is not null)
+                                        Filter Operator [FIL_124] (rows=287989836 width=135)
+                                          predicate:((cs_item_sk BETWEEN DynamicValue(RS_22_item_i_item_sk_min) AND DynamicValue(RS_22_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_22_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and (cs_warehouse_sk BETWEEN DynamicValue(RS_25_warehouse_w_warehouse_sk_min) AND DynamicValue(RS_25_warehouse_w_warehouse_sk_max) and in_bloom_filter(cs_warehouse_sk, DynamicValue(RS_25_warehouse_w_warehouse_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null and cs_warehouse_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_warehouse_sk","cs_item_sk","cs_order_number","cs_sales_price"]
+                                          <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_107]
+                                              Group By Operator [GBY_106] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_105]
+                                                  Group By Operator [GBY_104] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_103] (rows=8116 width=1119)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_101]
+                                          <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_115]
+                                              Group By Operator [GBY_114] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_113]
+                                                  Group By Operator [GBY_112] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_111] (rows=51333 width=1436)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_109]
+                                          <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_123]
+                                              Group By Operator [GBY_122] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_121]
+                                                  Group By Operator [GBY_120] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_119] (rows=27 width=1029)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_117]
                                   <-Map 8 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_64]
+                                    SHUFFLE [RS_129]
                                       PartitionCols:_col0, _col1
-                                      Select Operator [SEL_63] (rows=28798881 width=106)
+                                      Select Operator [SEL_128] (rows=28798881 width=106)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_62] (rows=28798881 width=106)
+                                        Filter Operator [FIL_127] (rows=28798881 width=106)
                                           predicate:cr_item_sk is not null
                                           TableScan [TS_3] (rows=28798881 width=106)
                                             default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query42.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query42.q.out b/ql/src/test/results/clientpositive/perf/tez/query42.q.out
index f47816a..a653fa8 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query42.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query42.q.out
@@ -43,64 +43,89 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_49]
-        Limit [LIM_48] (rows=100 width=88)
+      File Output Operator [FS_79]
+        Limit [LIM_78] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_47] (rows=348477374 width=88)
+          Select Operator [SEL_77] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_46]
-              Select Operator [SEL_45] (rows=348477374 width=88)
+            SHUFFLE [RS_76]
+              Select Operator [SEL_75] (rows=348477374 width=88)
                 Output:["_col0","_col1","_col3"]
-                Group By Operator [GBY_44] (rows=348477374 width=88)
+                Group By Operator [GBY_74] (rows=348477374 width=88)
                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                 <-Reducer 3 [SIMPLE_EDGE]
                   SHUFFLE [RS_17]
                     PartitionCols:_col0, _col1
                     Group By Operator [GBY_16] (rows=696954748 width=88)
                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)"],keys:_col7, _col8
-                      Merge Join Operator [MERGEJOIN_34] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_43._col0(Inner),Output:["_col2","_col7","_col8"]
-                      <-Map 7 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_43]
+                      Merge Join Operator [MERGEJOIN_54] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_65._col0(Inner),Output:["_col2","_col7","_col8"]
+                      <-Map 8 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_65]
                           PartitionCols:_col0
-                          Select Operator [SEL_42] (rows=231000 width=1436)
+                          Select Operator [SEL_64] (rows=231000 width=1436)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_41] (rows=231000 width=1436)
+                            Filter Operator [FIL_63] (rows=231000 width=1436)
                               predicate:((i_manager_id = 1) and i_item_sk is not null)
                               TableScan [TS_6] (rows=462000 width=1436)
                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_category_id","i_category","i_manager_id"]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_33] (rows=633595212 width=88)
-                            Conds:RS_37._col0=RS_40._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_36] (rows=575995635 width=88)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_35] (rows=575995635 width=88)
-                                  predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
-                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                          Merge Join Operator [MERGEJOIN_53] (rows=633595212 width=88)
+                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_40]
+                            PARTITION_ONLY_SHUFFLE [RS_57]
                               PartitionCols:_col0
-                              Select Operator [SEL_39] (rows=18262 width=1119)
+                              Select Operator [SEL_56] (rows=18262 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_38] (rows=18262 width=1119)
+                                Filter Operator [FIL_55] (rows=18262 width=1119)
                                   predicate:((d_moy = 12) and (d_year = 1998) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,dt,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_73]
+                              PartitionCols:_col0
+                              Select Operator [SEL_72] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_71] (rows=575995635 width=88)
+                                  predicate:((ss_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_10_dt_d_date_sk_min) AND DynamicValue(RS_10_dt_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_10_dt_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_62]
+                                      Group By Operator [GBY_61] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_60]
+                                          Group By Operator [GBY_59] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_58] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_56]
+                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_70]
+                                      Group By Operator [GBY_69] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_68]
+                                          Group By Operator [GBY_67] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_66] (rows=231000 width=1436)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_64]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query43.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query43.q.out b/ql/src/test/results/clientpositive/perf/tez/query43.q.out
index 0086a94..394f728 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query43.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query43.q.out
@@ -37,24 +37,27 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_48]
-        Limit [LIM_47] (rows=100 width=88)
+      File Output Operator [FS_78]
+        Limit [LIM_77] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_46] (rows=348477374 width=88)
+          Select Operator [SEL_76] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_45]
-              Group By Operator [GBY_44] (rows=348477374 width=88)
+            SHUFFLE [RS_75]
+              Group By Operator [GBY_74] (rows=348477374 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)"],keys:KEY._col0, KEY._col1
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_18]
@@ -63,38 +66,60 @@ Stage-0
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)","sum(_col8)"],keys:_col0, _col1
                     Select Operator [SEL_15] (rows=696954748 width=88)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                      Merge Join Operator [MERGEJOIN_34] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_43._col0(Inner),Output:["_col2","_col5","_col7","_col8"]
-                      <-Map 7 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_43]
+                      Merge Join Operator [MERGEJOIN_54] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_65._col0(Inner),Output:["_col2","_col5","_col7","_col8"]
+                      <-Map 8 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_65]
                           PartitionCols:_col0
-                          Select Operator [SEL_42] (rows=852 width=1910)
+                          Select Operator [SEL_64] (rows=852 width=1910)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_41] (rows=852 width=1910)
+                            Filter Operator [FIL_63] (rows=852 width=1910)
                               predicate:((s_gmt_offset = -6) and s_store_sk is not null)
                               TableScan [TS_6] (rows=1704 width=1910)
                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name","s_gmt_offset"]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_33] (rows=633595212 width=88)
-                            Conds:RS_37._col0=RS_40._col0(Inner),Output:["_col1","_col2","_col5"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_36] (rows=575995635 width=88)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_35] (rows=575995635 width=88)
-                                  predicate:(ss_sold_date_sk is not null and ss_store_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
-                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
+                          Merge Join Operator [MERGEJOIN_53] (rows=633595212 width=88)
+                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2","_col5"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_40]
+                            PARTITION_ONLY_SHUFFLE [RS_57]
                               PartitionCols:_col0
-                              Select Operator [SEL_39] (rows=36524 width=1119)
+                              Select Operator [SEL_56] (rows=36524 width=1119)
                                 Output:["_col0","_col2"]
-                                Filter Operator [FIL_38] (rows=36524 width=1119)
+                                Filter Operator [FIL_55] (rows=36524 width=1119)
                                   predicate:((d_year = 1998) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_day_name"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_73]
+                              PartitionCols:_col0
+                              Select Operator [SEL_72] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_71] (rows=575995635 width=88)
+                                  predicate:((ss_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(ss_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_13_store_s_store_sk_min) AND DynamicValue(RS_13_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_13_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_62]
+                                      Group By Operator [GBY_61] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_60]
+                                          Group By Operator [GBY_59] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_58] (rows=36524 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_56]
+                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_70]
+                                      Group By Operator [GBY_69] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_68]
+                                          Group By Operator [GBY_67] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_66] (rows=852 width=1910)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_64]
 


[56/58] [abbrv] hive git commit: HIVE-19532 : fix tests for master-txnstats branch (Sergey Shelukhin)

Posted by se...@apache.org.
HIVE-19532 : fix tests for master-txnstats branch (Sergey Shelukhin)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/8f328324
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/8f328324
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/8f328324

Branch: refs/heads/master-txnstats
Commit: 8f328324287933f7005c46627e269b314d05e698
Parents: 4743c79
Author: sergey <se...@apache.org>
Authored: Mon Jun 25 21:01:23 2018 -0700
Committer: sergey <se...@apache.org>
Committed: Mon Jun 25 21:01:23 2018 -0700

----------------------------------------------------------------------
 .../hive/ql/parse/TestReplicationScenarios.java      |  1 +
 .../java/org/apache/hadoop/hive/ql/io/AcidUtils.java | 15 ++++++++++++---
 .../org/apache/hadoop/hive/ql/metadata/Hive.java     |  6 ++++--
 .../ql/parse/TestUpdateDeleteSemanticAnalyzer.java   |  1 +
 .../apache/hadoop/hive/metastore/HiveMetaStore.java  |  3 ++-
 5 files changed, 20 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/8f328324/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
index 689c859..a4e29c9 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java
@@ -151,6 +151,7 @@ public class TestReplicationScenarios {
     hconf.set(HiveConf.ConfVars.PREEXECHOOKS.varname, "");
     hconf.set(HiveConf.ConfVars.POSTEXECHOOKS.varname, "");
     hconf.set(HiveConf.ConfVars.HIVE_IN_TEST_REPL.varname, "true");
+    hconf.setBoolVar(HiveConf.ConfVars.HIVE_IN_TEST, true);
     hconf.set(HiveConf.ConfVars.HIVE_SUPPORT_CONCURRENCY.varname, "false");
     hconf.set(HiveConf.ConfVars.HIVE_TXN_MANAGER.varname,
         "org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager");

http://git-wip-us.apache.org/repos/asf/hive/blob/8f328324/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
index 7d35084..e67b579 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java
@@ -1677,13 +1677,22 @@ public class AcidUtils {
       }
       String fullTableName = getFullTableName(tbl.getDbName(), tbl.getTableName());
       if (txnId > 0 && isTransactionalTable(tbl)) {
-        validWriteIdList =
-            getTableValidWriteIdList(conf, fullTableName);
+        validWriteIdList = getTableValidWriteIdList(conf, fullTableName);
 
-        if (validWriteIdList == null) {
+        // TODO: we shouldn't do this during normal Hive compilation, write IDs should be in conf.
+        //       Can this still happen for DDLTask-based queries?
+        if (validWriteIdList == null && !HiveConf.getBoolVar(conf, ConfVars.HIVE_IN_TEST)) {
+          LOG.warn("Obtaining write IDs from metastore for " + tbl.getTableName());
           validWriteIdList = getTableValidWriteIdListWithTxnList(
               conf, tbl.getDbName(), tbl.getTableName());
         }
+        if (validWriteIdList == null) {
+          if (!HiveConf.getBoolVar(conf, ConfVars.HIVE_IN_TEST)) {
+            throw new AssertionError("Cannot find valid write ID list for " + tbl.getTableName());
+          } else {
+            return null;
+          }
+        }
       }
       return new TableSnapshot(txnId,
           validWriteIdList != null ? validWriteIdList.toString() : null);

http://git-wip-us.apache.org/repos/asf/hive/blob/8f328324/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
index f9fab96..cc45195 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
@@ -24,8 +24,8 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import static org.apache.hadoop.hive.conf.Constants.MATERIALIZED_VIEW_REWRITING_TIME_WINDOW;
 
+import static org.apache.hadoop.hive.conf.Constants.MATERIALIZED_VIEW_REWRITING_TIME_WINDOW;
 import static org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.META_TABLE_STORAGE;
 import static org.apache.hadoop.hive.metastore.utils.MetaStoreUtils.getDefaultCatalog;
 import static org.apache.hadoop.hive.ql.parse.DDLSemanticAnalyzer.makeBinaryPredicate;
@@ -62,6 +62,7 @@ import javax.annotation.Nullable;
 import javax.jdo.JDODataStoreException;
 
 import com.google.common.collect.ImmutableList;
+
 import org.apache.calcite.plan.RelOptMaterialization;
 import org.apache.calcite.plan.hep.HepPlanner;
 import org.apache.calcite.plan.hep.HepProgramBuilder;
@@ -2512,7 +2513,8 @@ private void constructOneLBLocationMap(FileStatus fSta,
             : getMSC().add_partitions(partsToAdd, addPartitionDesc.isIfNotExists(), true)) {
           out.add(new Partition(tbl, outPart));
         }
-        getMSC().alter_partitions(addPartitionDesc.getDbName(), addPartitionDesc.getTableName(), partsToAlter, null);
+        getMSC().alter_partitions(addPartitionDesc.getDbName(), addPartitionDesc.getTableName(),
+            partsToAlter, new EnvironmentContext());
 
         for ( org.apache.hadoop.hive.metastore.api.Partition outPart :
         getMSC().getPartitionsByNames(addPartitionDesc.getDbName(), addPartitionDesc.getTableName(),part_names)){

http://git-wip-us.apache.org/repos/asf/hive/blob/8f328324/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
index ffd0445..257a6ad 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
@@ -231,6 +231,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
     conf.setVar(HiveConf.ConfVars.DYNAMICPARTITIONINGMODE, "nonstrict");
     conf.setVar(HiveConf.ConfVars.HIVEMAPREDMODE, "nonstrict");
     conf.setVar(HiveConf.ConfVars.HIVE_TXN_MANAGER, "org.apache.hadoop.hive.ql.lockmgr.DbTxnManager");
+    conf.setBoolVar(HiveConf.ConfVars.HIVE_IN_TEST, true);
   }
 
   public void cleanupTables() throws HiveException {

http://git-wip-us.apache.org/repos/asf/hive/blob/8f328324/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 4296084..706d831 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -4877,7 +4877,8 @@ public class HiveMetaStore extends ThriftHiveMetastore {
             throws TException {
       alter_partitions_with_environment_context(
           req.getDbName(), req.getTableName(), req.getPartitions(), req.getEnvironmentContext(),
-          req.getTxnId(), req.getValidWriteIdList());
+          req.isSetTxnId() ? req.getTxnId() : -1,
+          req.isSetValidWriteIdList() ? req.getValidWriteIdList() : null);
       return new AlterPartitionsResponse();
     }
 


[12/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query27.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query27.q.out b/ql/src/test/results/clientpositive/perf/tez/query27.q.out
index 0839118..df1e15f 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query27.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query27.q.out
@@ -45,28 +45,33 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_80]
-        Limit [LIM_79] (rows=100 width=88)
+      File Output Operator [FS_140]
+        Limit [LIM_139] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_78] (rows=1264972921 width=88)
+          Select Operator [SEL_138] (rows=1264972921 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_77]
-              Select Operator [SEL_76] (rows=1264972921 width=88)
+            SHUFFLE [RS_137]
+              Select Operator [SEL_136] (rows=1264972921 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                Group By Operator [GBY_75] (rows=1264972921 width=88)
+                Group By Operator [GBY_135] (rows=1264972921 width=88)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)"],keys:KEY._col0, KEY._col1, KEY._col2
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_30]
@@ -75,66 +80,110 @@ Stage-0
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col2)","count(_col2)","sum(_col3)","count(_col3)","sum(_col4)","count(_col4)","sum(_col5)","count(_col5)"],keys:_col0, _col1, 0L
                       Select Operator [SEL_27] (rows=843315281 width=88)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                        Merge Join Operator [MERGEJOIN_59] (rows=843315281 width=88)
-                          Conds:RS_24._col1=RS_74._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col15","_col17"]
-                        <-Map 11 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_74]
+                        Merge Join Operator [MERGEJOIN_99] (rows=843315281 width=88)
+                          Conds:RS_24._col1=RS_126._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col15","_col17"]
+                        <-Map 14 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_126]
                             PartitionCols:_col0
-                            Select Operator [SEL_73] (rows=462000 width=1436)
+                            Select Operator [SEL_125] (rows=462000 width=1436)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_72] (rows=462000 width=1436)
+                              Filter Operator [FIL_124] (rows=462000 width=1436)
                                 predicate:i_item_sk is not null
                                 TableScan [TS_12] (rows=462000 width=1436)
                                   default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
                         <-Reducer 4 [SIMPLE_EDGE]
                           SHUFFLE [RS_24]
                             PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_58] (rows=766650239 width=88)
-                              Conds:RS_21._col3=RS_71._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col15"]
-                            <-Map 10 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_71]
+                            Merge Join Operator [MERGEJOIN_98] (rows=766650239 width=88)
+                              Conds:RS_21._col3=RS_118._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col15"]
+                            <-Map 12 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_118]
                                 PartitionCols:_col0
-                                Select Operator [SEL_70] (rows=852 width=1910)
+                                Select Operator [SEL_117] (rows=852 width=1910)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_69] (rows=852 width=1910)
+                                  Filter Operator [FIL_116] (rows=852 width=1910)
                                     predicate:((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC') and s_store_sk is not null)
                                     TableScan [TS_9] (rows=1704 width=1910)
                                       default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"]
                             <-Reducer 3 [SIMPLE_EDGE]
                               SHUFFLE [RS_21]
                                 PartitionCols:_col3
-                                Merge Join Operator [MERGEJOIN_57] (rows=696954748 width=88)
-                                  Conds:RS_18._col0=RS_68._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7"]
-                                <-Map 9 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_68]
+                                Merge Join Operator [MERGEJOIN_97] (rows=696954748 width=88)
+                                  Conds:RS_18._col0=RS_110._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7"]
+                                <-Map 10 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_110]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_67] (rows=36524 width=1119)
+                                    Select Operator [SEL_109] (rows=36524 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_66] (rows=36524 width=1119)
+                                      Filter Operator [FIL_108] (rows=36524 width=1119)
                                         predicate:((d_year = 2001) and d_date_sk is not null)
                                         TableScan [TS_6] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_18]
                                     PartitionCols:_col0
-                                    Merge Join Operator [MERGEJOIN_56] (rows=633595212 width=88)
-                                      Conds:RS_62._col2=RS_65._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
-                                    <-Map 1 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_62]
-                                        PartitionCols:_col2
-                                        Select Operator [SEL_61] (rows=575995635 width=88)
-                                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                          Filter Operator [FIL_60] (rows=575995635 width=88)
-                                            predicate:(ss_cdemo_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                            TableScan [TS_0] (rows=575995635 width=88)
-                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_cdemo_sk","ss_store_sk","ss_quantity","ss_list_price","ss_sales_price","ss_coupon_amt"]
+                                    Merge Join Operator [MERGEJOIN_96] (rows=633595212 width=88)
+                                      Conds:RS_134._col2=RS_102._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_65]
+                                      PARTITION_ONLY_SHUFFLE [RS_102]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_64] (rows=232725 width=385)
+                                        Select Operator [SEL_101] (rows=232725 width=385)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_63] (rows=232725 width=385)
+                                          Filter Operator [FIL_100] (rows=232725 width=385)
                                             predicate:((cd_education_status = '2 yr Degree') and (cd_gender = 'M') and (cd_marital_status = 'U') and cd_demo_sk is not null)
                                             TableScan [TS_3] (rows=1861800 width=385)
                                               default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status"]
+                                    <-Map 1 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_134]
+                                        PartitionCols:_col2
+                                        Select Operator [SEL_133] (rows=575995635 width=88)
+                                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                          Filter Operator [FIL_132] (rows=575995635 width=88)
+                                            predicate:((ss_cdemo_sk BETWEEN DynamicValue(RS_16_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_16_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_16_customer_demographics_cd_demo_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_25_item_i_item_sk_min) AND DynamicValue(RS_25_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_25_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_22_store_s_store_sk_min) AND DynamicValue(RS_22_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_22_store_s_store_sk_bloom_filter))) and ss_cdemo_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is no
 t null)
+                                            TableScan [TS_0] (rows=575995635 width=88)
+                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_cdemo_sk","ss_store_sk","ss_quantity","ss_list_price","ss_sales_price","ss_coupon_amt"]
+                                            <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_115]
+                                                Group By Operator [GBY_114] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_113]
+                                                    Group By Operator [GBY_112] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_111] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_109]
+                                            <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_123]
+                                                Group By Operator [GBY_122] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_121]
+                                                    Group By Operator [GBY_120] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_119] (rows=852 width=1910)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_117]
+                                            <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_131]
+                                                Group By Operator [GBY_130] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_129]
+                                                    Group By Operator [GBY_128] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_127] (rows=462000 width=1436)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_125]
+                                            <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_107]
+                                                Group By Operator [GBY_106] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_105]
+                                                    Group By Operator [GBY_104] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_103] (rows=232725 width=385)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_101]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query29.q.out b/ql/src/test/results/clientpositive/perf/tez/query29.q.out
index a0e7621..46ff49d 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query29.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query29.q.out
@@ -93,138 +93,224 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 16 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Map 1 <- Reducer 7 (BROADCAST_EDGE)
+Map 8 <- Reducer 14 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 18 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Reducer 23 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 20 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Map 22 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 13 (SIMPLE_EDGE), Map 19 (SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 23 <- Map 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 8 <- Map 12 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 13 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_128]
-        Limit [LIM_127] (rows=100 width=88)
+      File Output Operator [FS_257]
+        Limit [LIM_256] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_126] (rows=463823414 width=88)
+          Select Operator [SEL_255] (rows=463823414 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_125]
-              Group By Operator [GBY_124] (rows=463823414 width=88)
+            SHUFFLE [RS_254]
+              Group By Operator [GBY_253] (rows=463823414 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_49]
                   PartitionCols:_col0, _col1, _col2, _col3
                   Group By Operator [GBY_48] (rows=927646829 width=88)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col14)","sum(_col22)","sum(_col3)"],keys:_col7, _col8, _col27, _col28
-                    Merge Join Operator [MERGEJOIN_99] (rows=927646829 width=88)
+                    Merge Join Operator [MERGEJOIN_202] (rows=927646829 width=88)
                       Conds:RS_44._col1, _col2=RS_45._col14, _col13(Inner),Output:["_col3","_col7","_col8","_col14","_col22","_col27","_col28"]
-                    <-Reducer 11 [SIMPLE_EDGE]
+                    <-Reducer 12 [SIMPLE_EDGE]
                       SHUFFLE [RS_45]
                         PartitionCols:_col14, _col13
                         Select Operator [SEL_40] (rows=843315281 width=88)
                           Output:["_col1","_col2","_col8","_col13","_col14","_col16","_col21","_col22"]
-                          Merge Join Operator [MERGEJOIN_98] (rows=843315281 width=88)
-                            Conds:RS_37._col3=RS_123._col0(Inner),Output:["_col5","_col10","_col11","_col13","_col18","_col19","_col21","_col22"]
-                          <-Map 16 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_123]
+                          Merge Join Operator [MERGEJOIN_201] (rows=843315281 width=88)
+                            Conds:RS_37._col3=RS_244._col0(Inner),Output:["_col5","_col10","_col11","_col13","_col18","_col19","_col21","_col22"]
+                          <-Map 22 [SIMPLE_EDGE] vectorized
+                            PARTITION_ONLY_SHUFFLE [RS_244]
                               PartitionCols:_col0
-                              Select Operator [SEL_122] (rows=1704 width=1910)
+                              Select Operator [SEL_243] (rows=1704 width=1910)
                                 Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_121] (rows=1704 width=1910)
+                                Filter Operator [FIL_242] (rows=1704 width=1910)
                                   predicate:s_store_sk is not null
                                   TableScan [TS_25] (rows=1704 width=1910)
                                     default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"]
-                          <-Reducer 10 [SIMPLE_EDGE]
+                          <-Reducer 11 [SIMPLE_EDGE]
                             SHUFFLE [RS_37]
                               PartitionCols:_col3
-                              Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88)
-                                Conds:RS_34._col1=RS_120._col0(Inner),Output:["_col3","_col5","_col10","_col11","_col13","_col18","_col19"]
-                              <-Map 15 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_120]
+                              Merge Join Operator [MERGEJOIN_200] (rows=766650239 width=88)
+                                Conds:RS_34._col1=RS_236._col0(Inner),Output:["_col3","_col5","_col10","_col11","_col13","_col18","_col19"]
+                              <-Map 20 [SIMPLE_EDGE] vectorized
+                                PARTITION_ONLY_SHUFFLE [RS_236]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_119] (rows=462000 width=1436)
+                                  Select Operator [SEL_235] (rows=462000 width=1436)
                                     Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_118] (rows=462000 width=1436)
+                                    Filter Operator [FIL_234] (rows=462000 width=1436)
                                       predicate:i_item_sk is not null
                                       TableScan [TS_22] (rows=462000 width=1436)
                                         default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"]
-                              <-Reducer 9 [SIMPLE_EDGE]
+                              <-Reducer 10 [SIMPLE_EDGE]
                                 SHUFFLE [RS_34]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_96] (rows=696954748 width=88)
+                                  Merge Join Operator [MERGEJOIN_199] (rows=696954748 width=88)
                                     Conds:RS_31._col1, _col2, _col4=RS_32._col1, _col2, _col3(Inner),Output:["_col1","_col3","_col5","_col10","_col11","_col13"]
-                                  <-Reducer 13 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_32]
+                                  <-Reducer 15 [SIMPLE_EDGE]
+                                    PARTITION_ONLY_SHUFFLE [RS_32]
                                       PartitionCols:_col1, _col2, _col3
-                                      Merge Join Operator [MERGEJOIN_95] (rows=63350266 width=77)
-                                        Conds:RS_117._col0=RS_114._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                      <-Map 12 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_114]
+                                      Merge Join Operator [MERGEJOIN_198] (rows=63350266 width=77)
+                                        Conds:RS_227._col0=RS_220._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                      <-Map 13 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_220]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_112] (rows=4058 width=1119)
+                                          Select Operator [SEL_217] (rows=4058 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_110] (rows=4058 width=1119)
+                                            Filter Operator [FIL_215] (rows=4058 width=1119)
                                               predicate:((d_year = 1999) and d_date_sk is not null and d_moy BETWEEN 4 AND 7)
                                               TableScan [TS_9] (rows=73049 width=1119)
                                                 default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                      <-Map 14 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_117]
+                                      <-Map 19 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_227]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_116] (rows=57591150 width=77)
+                                          Select Operator [SEL_226] (rows=57591150 width=77)
                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                            Filter Operator [FIL_115] (rows=57591150 width=77)
+                                            Filter Operator [FIL_225] (rows=57591150 width=77)
                                               predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
                                               TableScan [TS_12] (rows=57591150 width=77)
                                                 default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
-                                  <-Reducer 8 [SIMPLE_EDGE]
+                                  <-Reducer 9 [SIMPLE_EDGE]
                                     SHUFFLE [RS_31]
                                       PartitionCols:_col1, _col2, _col4
-                                      Merge Join Operator [MERGEJOIN_94] (rows=633595212 width=88)
-                                        Conds:RS_108._col0=RS_113._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                      <-Map 12 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_113]
+                                      Merge Join Operator [MERGEJOIN_197] (rows=633595212 width=88)
+                                        Conds:RS_252._col0=RS_218._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                      <-Map 13 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_218]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_111] (rows=18262 width=1119)
+                                          Select Operator [SEL_216] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_109] (rows=18262 width=1119)
+                                            Filter Operator [FIL_214] (rows=18262 width=1119)
                                               predicate:((d_moy = 4) and (d_year = 1999) and d_date_sk is not null)
                                                Please refer to the previous TableScan [TS_9]
-                                      <-Map 7 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_108]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_252]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_107] (rows=575995635 width=88)
+                                          Select Operator [SEL_251] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                            Filter Operator [FIL_106] (rows=575995635 width=88)
-                                              predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                            Filter Operator [FIL_250] (rows=575995635 width=88)
+                                              predicate:((ss_customer_sk BETWEEN DynamicValue(RS_32_store_returns_sr_customer_sk_min) AND DynamicValue(RS_32_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_32_store_returns_sr_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_32_store_returns_sr_item_sk_min) AND DynamicValue(RS_32_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_32_store_returns_sr_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_35_item_i_item_sk_min) AND DynamicValue(RS_35_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_35_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_29_d1_d_date_sk_min) AND DynamicValue(RS_29_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_29_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_38_store_s_store_sk_min) AND DynamicValue(RS_38_store_s_store_sk_ma
 x) and in_bloom_filter(ss_store_sk, DynamicValue(RS_38_store_s_store_sk_bloom_filter))) and (ss_ticket_number BETWEEN DynamicValue(RS_32_store_returns_sr_ticket_number_min) AND DynamicValue(RS_32_store_returns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_32_store_returns_sr_ticket_number_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
                                               TableScan [TS_6] (rows=575995635 width=88)
                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_224]
+                                                  Group By Operator [GBY_223] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_222]
+                                                      Group By Operator [GBY_221] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_219] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_216]
+                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_229]
+                                                  Group By Operator [GBY_228] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_120]
+                                                      Group By Operator [GBY_119] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                        Select Operator [SEL_118] (rows=63350266 width=77)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_198]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_231]
+                                                  Group By Operator [GBY_230] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_125]
+                                                      Group By Operator [GBY_124] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                        Select Operator [SEL_123] (rows=63350266 width=77)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_198]
+                                              <-Reducer 18 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_233]
+                                                  Group By Operator [GBY_232] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_130]
+                                                      Group By Operator [GBY_129] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                        Select Operator [SEL_128] (rows=63350266 width=77)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_198]
+                                              <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_241]
+                                                  Group By Operator [GBY_240] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_239]
+                                                      Group By Operator [GBY_238] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_237] (rows=462000 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_235]
+                                              <-Reducer 23 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_249]
+                                                  Group By Operator [GBY_248] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 22 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_247]
+                                                      Group By Operator [GBY_246] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_245] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_243]
                     <-Reducer 2 [SIMPLE_EDGE]
                       SHUFFLE [RS_44]
                         PartitionCols:_col1, _col2
-                        Merge Join Operator [MERGEJOIN_93] (rows=316788826 width=135)
-                          Conds:RS_102._col0=RS_105._col0(Inner),Output:["_col1","_col2","_col3"]
-                        <-Map 1 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_102]
-                            PartitionCols:_col0
-                            Select Operator [SEL_101] (rows=287989836 width=135)
-                              Output:["_col0","_col1","_col2","_col3"]
-                              Filter Operator [FIL_100] (rows=287989836 width=135)
-                                predicate:(cs_bill_customer_sk is not null and cs_item_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_item_sk","cs_quantity"]
+                        Merge Join Operator [MERGEJOIN_196] (rows=316788826 width=135)
+                          Conds:RS_213._col0=RS_205._col0(Inner),Output:["_col1","_col2","_col3"]
                         <-Map 6 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_105]
+                          PARTITION_ONLY_SHUFFLE [RS_205]
                             PartitionCols:_col0
-                            Select Operator [SEL_104] (rows=36525 width=1119)
+                            Select Operator [SEL_204] (rows=36525 width=1119)
                               Output:["_col0"]
-                              Filter Operator [FIL_103] (rows=36525 width=1119)
+                              Filter Operator [FIL_203] (rows=36525 width=1119)
                                 predicate:((d_year) IN (1999, 2000, 2001) and d_date_sk is not null)
                                 TableScan [TS_3] (rows=73049 width=1119)
                                   default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
+                        <-Map 1 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_213]
+                            PartitionCols:_col0
+                            Select Operator [SEL_212] (rows=287989836 width=135)
+                              Output:["_col0","_col1","_col2","_col3"]
+                              Filter Operator [FIL_211] (rows=287989836 width=135)
+                                predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_42_d3_d_date_sk_min) AND DynamicValue(RS_42_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_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_item_sk","cs_quantity"]
+                                <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                  BROADCAST [RS_210]
+                                    Group By Operator [GBY_209] (rows=1 width=12)
+                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                    <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_SHUFFLE [RS_208]
+                                        Group By Operator [GBY_207] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                          Select Operator [SEL_206] (rows=36525 width=1119)
+                                            Output:["_col0"]
+                                             Please refer to the previous Select Operator [SEL_204]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query3.q.out b/ql/src/test/results/clientpositive/perf/tez/query3.q.out
index c655c1b..801b4f9 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query3.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query3.q.out
@@ -41,62 +41,87 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_47]
-        Limit [LIM_46] (rows=100 width=88)
+      File Output Operator [FS_77]
+        Limit [LIM_76] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_45] (rows=348477374 width=88)
+          Select Operator [SEL_75] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_44]
-              Group By Operator [GBY_43] (rows=348477374 width=88)
+            SHUFFLE [RS_74]
+              Group By Operator [GBY_73] (rows=348477374 width=88)
                 Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_17]
                   PartitionCols:_col0, _col1, _col2
                   Group By Operator [GBY_16] (rows=696954748 width=88)
                     Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col2)"],keys:_col8, _col4, _col5
-                    Merge Join Operator [MERGEJOIN_33] (rows=696954748 width=88)
-                      Conds:RS_12._col0=RS_42._col0(Inner),Output:["_col2","_col4","_col5","_col8"]
-                    <-Map 7 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_42]
+                    Merge Join Operator [MERGEJOIN_53] (rows=696954748 width=88)
+                      Conds:RS_12._col0=RS_64._col0(Inner),Output:["_col2","_col4","_col5","_col8"]
+                    <-Map 8 [SIMPLE_EDGE] vectorized
+                      PARTITION_ONLY_SHUFFLE [RS_64]
                         PartitionCols:_col0
-                        Select Operator [SEL_41] (rows=36524 width=1119)
+                        Select Operator [SEL_63] (rows=36524 width=1119)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_40] (rows=36524 width=1119)
+                          Filter Operator [FIL_62] (rows=36524 width=1119)
                             predicate:((d_moy = 12) and d_date_sk is not null)
                             TableScan [TS_6] (rows=73049 width=1119)
                               default@date_dim,dt,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
                     <-Reducer 2 [SIMPLE_EDGE]
                       SHUFFLE [RS_12]
                         PartitionCols:_col0
-                        Merge Join Operator [MERGEJOIN_32] (rows=633595212 width=88)
-                          Conds:RS_36._col1=RS_39._col0(Inner),Output:["_col0","_col2","_col4","_col5"]
-                        <-Map 1 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_36]
-                            PartitionCols:_col1
-                            Select Operator [SEL_35] (rows=575995635 width=88)
-                              Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_34] (rows=575995635 width=88)
-                                predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                TableScan [TS_0] (rows=575995635 width=88)
-                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                        Merge Join Operator [MERGEJOIN_52] (rows=633595212 width=88)
+                          Conds:RS_72._col1=RS_56._col0(Inner),Output:["_col0","_col2","_col4","_col5"]
                         <-Map 6 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_39]
+                          PARTITION_ONLY_SHUFFLE [RS_56]
                             PartitionCols:_col0
-                            Select Operator [SEL_38] (rows=231000 width=1436)
+                            Select Operator [SEL_55] (rows=231000 width=1436)
                               Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_37] (rows=231000 width=1436)
+                              Filter Operator [FIL_54] (rows=231000 width=1436)
                                 predicate:((i_manufact_id = 436) and i_item_sk is not null)
                                 TableScan [TS_3] (rows=462000 width=1436)
                                   default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand_id","i_brand","i_manufact_id"]
+                        <-Map 1 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_72]
+                            PartitionCols:_col1
+                            Select Operator [SEL_71] (rows=575995635 width=88)
+                              Output:["_col0","_col1","_col2"]
+                              Filter Operator [FIL_70] (rows=575995635 width=88)
+                                predicate:((ss_item_sk BETWEEN DynamicValue(RS_10_item_i_item_sk_min) AND DynamicValue(RS_10_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_10_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_13_dt_d_date_sk_min) AND DynamicValue(RS_13_dt_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_dt_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                TableScan [TS_0] (rows=575995635 width=88)
+                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                                <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                  BROADCAST [RS_61]
+                                    Group By Operator [GBY_60] (rows=1 width=12)
+                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                    <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_SHUFFLE [RS_59]
+                                        Group By Operator [GBY_58] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                          Select Operator [SEL_57] (rows=231000 width=1436)
+                                            Output:["_col0"]
+                                             Please refer to the previous Select Operator [SEL_55]
+                                <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                  BROADCAST [RS_69]
+                                    Group By Operator [GBY_68] (rows=1 width=12)
+                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                    <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_SHUFFLE [RS_67]
+                                        Group By Operator [GBY_66] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                          Select Operator [SEL_65] (rows=36524 width=1119)
+                                            Output:["_col0"]
+                                             Please refer to the previous Select Operator [SEL_63]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query30.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query30.q.out b/ql/src/test/results/clientpositive/perf/tez/query30.q.out
index 4d0e2d4..802a6e7 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query30.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query30.q.out
@@ -77,37 +77,37 @@ Stage-0
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_140]
-        Limit [LIM_139] (rows=100 width=860)
+      File Output Operator [FS_210]
+        Limit [LIM_209] (rows=100 width=860)
           Number of rows:100
-          Select Operator [SEL_138] (rows=96800003 width=860)
+          Select Operator [SEL_208] (rows=96800003 width=860)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"]
           <-Reducer 3 [SIMPLE_EDGE]
             SHUFFLE [RS_63]
               Select Operator [SEL_62] (rows=96800003 width=860)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"]
-                Merge Join Operator [MERGEJOIN_107] (rows=96800003 width=860)
+                Merge Join Operator [MERGEJOIN_177] (rows=96800003 width=860)
                   Conds:RS_59._col0=RS_60._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col18"]
                 <-Reducer 2 [SIMPLE_EDGE]
                   SHUFFLE [RS_59]
                     PartitionCols:_col0
-                    Merge Join Operator [MERGEJOIN_101] (rows=88000001 width=860)
-                      Conds:RS_110._col2=RS_117._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
+                    Merge Join Operator [MERGEJOIN_171] (rows=88000001 width=860)
+                      Conds:RS_180._col2=RS_187._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
                     <-Map 5 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_117]
+                      SHUFFLE [RS_187]
                         PartitionCols:_col0
-                        Select Operator [SEL_114] (rows=20000000 width=1014)
+                        Select Operator [SEL_184] (rows=20000000 width=1014)
                           Output:["_col0"]
-                          Filter Operator [FIL_111] (rows=20000000 width=1014)
+                          Filter Operator [FIL_181] (rows=20000000 width=1014)
                             predicate:((ca_state = 'IL') and ca_address_sk is not null)
                             TableScan [TS_3] (rows=40000000 width=1014)
                               default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
                     <-Map 1 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_110]
+                      SHUFFLE [RS_180]
                         PartitionCols:_col2
-                        Select Operator [SEL_109] (rows=80000000 width=860)
+                        Select Operator [SEL_179] (rows=80000000 width=860)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                          Filter Operator [FIL_108] (rows=80000000 width=860)
+                          Filter Operator [FIL_178] (rows=80000000 width=860)
                             predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                             TableScan [TS_0] (rows=80000000 width=860)
                               default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_current_addr_sk","c_salutation","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_day","c_birth_month","c_birth_year","c_birth_country","c_login","c_email_address","c_last_review_date"]
@@ -118,94 +118,94 @@ Stage-0
                       Output:["_col0","_col2"]
                       Filter Operator [FIL_54] (rows=8066666 width=1014)
                         predicate:(_col2 > _col3)
-                        Merge Join Operator [MERGEJOIN_106] (rows=24200000 width=1014)
-                          Conds:RS_132._col1=RS_137._col1(Inner),Output:["_col0","_col2","_col3"]
+                        Merge Join Operator [MERGEJOIN_176] (rows=24200000 width=1014)
+                          Conds:RS_202._col1=RS_207._col1(Inner),Output:["_col0","_col2","_col3"]
                         <-Reducer 10 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_137]
+                          SHUFFLE [RS_207]
                             PartitionCols:_col1
-                            Select Operator [SEL_136] (rows=11000000 width=1014)
+                            Select Operator [SEL_206] (rows=11000000 width=1014)
                               Output:["_col0","_col1"]
-                              Group By Operator [GBY_135] (rows=11000000 width=1014)
+                              Group By Operator [GBY_205] (rows=11000000 width=1014)
                                 Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0
-                                Select Operator [SEL_134] (rows=22000000 width=1014)
+                                Select Operator [SEL_204] (rows=22000000 width=1014)
                                   Output:["_col0","_col2"]
-                                  Group By Operator [GBY_133] (rows=22000000 width=1014)
+                                  Group By Operator [GBY_203] (rows=22000000 width=1014)
                                     Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                                   <-Reducer 9 [SIMPLE_EDGE]
                                     SHUFFLE [RS_43]
                                       PartitionCols:_col0
                                       Group By Operator [GBY_42] (rows=44000000 width=1014)
                                         Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col7, _col1
-                                        Merge Join Operator [MERGEJOIN_105] (rows=44000000 width=1014)
-                                          Conds:RS_38._col2=RS_119._col0(Inner),Output:["_col1","_col3","_col7"]
+                                        Merge Join Operator [MERGEJOIN_175] (rows=44000000 width=1014)
+                                          Conds:RS_38._col2=RS_189._col0(Inner),Output:["_col1","_col3","_col7"]
                                         <-Map 5 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_119]
+                                          SHUFFLE [RS_189]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_116] (rows=40000000 width=1014)
+                                            Select Operator [SEL_186] (rows=40000000 width=1014)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_113] (rows=40000000 width=1014)
+                                              Filter Operator [FIL_183] (rows=40000000 width=1014)
                                                 predicate:(ca_address_sk is not null and ca_state is not null)
                                                  Please refer to the previous TableScan [TS_3]
                                         <-Reducer 13 [SIMPLE_EDGE]
                                           SHUFFLE [RS_38]
                                             PartitionCols:_col2
-                                            Merge Join Operator [MERGEJOIN_104] (rows=15838314 width=92)
-                                              Conds:RS_125._col0=RS_129._col0(Inner),Output:["_col1","_col2","_col3"]
+                                            Merge Join Operator [MERGEJOIN_174] (rows=15838314 width=92)
+                                              Conds:RS_195._col0=RS_199._col0(Inner),Output:["_col1","_col2","_col3"]
                                             <-Map 11 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_125]
+                                              SHUFFLE [RS_195]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_123] (rows=14398467 width=92)
+                                                Select Operator [SEL_193] (rows=14398467 width=92)
                                                   Output:["_col0","_col1","_col2","_col3"]
-                                                  Filter Operator [FIL_121] (rows=14398467 width=92)
+                                                  Filter Operator [FIL_191] (rows=14398467 width=92)
                                                     predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null)
                                                     TableScan [TS_6] (rows=14398467 width=92)
                                                       default@web_returns,web_returns,Tbl:COMPLETE,Col:NONE,Output:["wr_returned_date_sk","wr_returning_customer_sk","wr_returning_addr_sk","wr_return_amt"]
                                             <-Map 14 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_129]
+                                              SHUFFLE [RS_199]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_127] (rows=36524 width=1119)
+                                                Select Operator [SEL_197] (rows=36524 width=1119)
                                                   Output:["_col0"]
-                                                  Filter Operator [FIL_126] (rows=36524 width=1119)
+                                                  Filter Operator [FIL_196] (rows=36524 width=1119)
                                                     predicate:((d_year = 2002) and d_date_sk is not null)
                                                     TableScan [TS_9] (rows=73049 width=1119)
                                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                         <-Reducer 7 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_132]
+                          SHUFFLE [RS_202]
                             PartitionCols:_col1
-                            Select Operator [SEL_131] (rows=22000000 width=1014)
+                            Select Operator [SEL_201] (rows=22000000 width=1014)
                               Output:["_col0","_col1","_col2"]
-                              Group By Operator [GBY_130] (rows=22000000 width=1014)
+                              Group By Operator [GBY_200] (rows=22000000 width=1014)
                                 Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                               <-Reducer 6 [SIMPLE_EDGE]
                                 SHUFFLE [RS_23]
                                   PartitionCols:_col0, _col1
                                   Group By Operator [GBY_22] (rows=44000000 width=1014)
                                     Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col7, _col1
-                                    Merge Join Operator [MERGEJOIN_103] (rows=44000000 width=1014)
-                                      Conds:RS_18._col2=RS_118._col0(Inner),Output:["_col1","_col3","_col7"]
+                                    Merge Join Operator [MERGEJOIN_173] (rows=44000000 width=1014)
+                                      Conds:RS_18._col2=RS_188._col0(Inner),Output:["_col1","_col3","_col7"]
                                     <-Map 5 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_118]
+                                      SHUFFLE [RS_188]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_115] (rows=40000000 width=1014)
+                                        Select Operator [SEL_185] (rows=40000000 width=1014)
                                           Output:["_col0","_col1"]
-                                          Filter Operator [FIL_112] (rows=40000000 width=1014)
+                                          Filter Operator [FIL_182] (rows=40000000 width=1014)
                                             predicate:(ca_address_sk is not null and ca_state is not null)
                                              Please refer to the previous TableScan [TS_3]
                                     <-Reducer 12 [SIMPLE_EDGE]
                                       SHUFFLE [RS_18]
                                         PartitionCols:_col2
-                                        Merge Join Operator [MERGEJOIN_102] (rows=15838314 width=92)
-                                          Conds:RS_124._col0=RS_128._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        Merge Join Operator [MERGEJOIN_172] (rows=15838314 width=92)
+                                          Conds:RS_194._col0=RS_198._col0(Inner),Output:["_col1","_col2","_col3"]
                                         <-Map 11 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_124]
+                                          SHUFFLE [RS_194]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_122] (rows=14398467 width=92)
+                                            Select Operator [SEL_192] (rows=14398467 width=92)
                                               Output:["_col0","_col1","_col2","_col3"]
-                                              Filter Operator [FIL_120] (rows=14398467 width=92)
+                                              Filter Operator [FIL_190] (rows=14398467 width=92)
                                                 predicate:(wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null)
                                                  Please refer to the previous TableScan [TS_6]
                                         <-Map 14 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_128]
+                                          SHUFFLE [RS_198]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_127]
+                                             Please refer to the previous Select Operator [SEL_197]
 


[29/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out b/ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
index d6f24fc..101a9f8 100644
--- a/ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
@@ -3776,6 +3776,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dst_union22_delta_n0
+                  filterExpr: ((ds = '1') and (UDFToDouble(k0) <= 50.0D)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 221500 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -3859,6 +3860,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(k1) > 20.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 181000 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -3938,6 +3940,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dst_union22_delta_n0
+                  filterExpr: ((UDFToDouble(k0) > 50.0D) and (UDFToDouble(k1) > 20.0D)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 176000 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -5078,6 +5081,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2_n2
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5161,6 +5165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src5_n1
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 54280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5242,6 +5247,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5325,6 +5331,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src4
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5591,6 +5598,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2_n2
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5674,6 +5682,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5757,6 +5766,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 54280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -5835,6 +5845,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -6074,6 +6085,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2_n2
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -6157,6 +6169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 54280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -6235,6 +6248,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 56640 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -6318,6 +6332,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 309 Data size: 54280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -6621,6 +6636,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string), value (type: string)
@@ -6641,6 +6657,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string), value (type: string)
@@ -6661,6 +6678,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string), value (type: string)
@@ -6823,6 +6841,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -6853,6 +6872,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -6867,6 +6887,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Lateral View Forward
                     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -8085,6 +8106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(key) = 97.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 97.0D) (type: boolean)
@@ -8103,6 +8125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dim_pho
+                  filterExpr: (UDFToDouble(key) = 97.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 97.0D) (type: boolean)
@@ -8126,6 +8149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: jackson_sev_add
+                  filterExpr: (UDFToDouble(key) = 97.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 97.0D) (type: boolean)
@@ -10641,6 +10665,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -10679,6 +10704,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -10809,6 +10835,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -10847,6 +10874,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -10937,6 +10965,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -10975,6 +11004,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -11105,6 +11135,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -11143,6 +11174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -11254,6 +11286,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 0.0D) (type: boolean)
@@ -11480,6 +11513,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 0.0D) (type: boolean)
@@ -11755,6 +11789,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src10_1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -11789,6 +11824,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src10_2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 870 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -11953,6 +11989,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src10_1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -11972,6 +12009,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src10_2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 870 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/unionDistinct_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/unionDistinct_3.q.out b/ql/src/test/results/clientpositive/llap/unionDistinct_3.q.out
index 4624cc2..d3f774d 100644
--- a/ql/src/test/results/clientpositive/llap/unionDistinct_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/unionDistinct_3.q.out
@@ -1690,6 +1690,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s4
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) < 10.0D) (type: boolean)
@@ -1714,6 +1715,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) < 10.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/union_top_level.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/union_top_level.q.out b/ql/src/test/results/clientpositive/llap/union_top_level.q.out
index 0085342..a3a84ee 100644
--- a/ql/src/test/results/clientpositive/llap/union_top_level.q.out
+++ b/ql/src/test/results/clientpositive/llap/union_top_level.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
@@ -74,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
@@ -218,6 +221,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -244,6 +248,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -418,6 +423,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
@@ -440,6 +446,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
@@ -462,6 +469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
@@ -653,6 +661,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
@@ -674,6 +683,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
@@ -695,6 +705,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
@@ -930,6 +941,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 0.0D) (type: boolean)
@@ -951,6 +963,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 1.0D) (type: boolean)
@@ -972,6 +985,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 3.0D) = 2.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out b/ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
index fba880b..1846354 100644
--- a/ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
@@ -736,6 +736,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_n1
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4412 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 10) (type: boolean)
@@ -909,6 +910,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_n1
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4412 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_aggregate_without_gby.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_aggregate_without_gby.q.out b/ql/src/test/results/clientpositive/llap/vector_aggregate_without_gby.q.out
index 5c35139..46227d2 100644
--- a/ql/src/test/results/clientpositive/llap/vector_aggregate_without_gby.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_aggregate_without_gby.q.out
@@ -59,6 +59,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: testvec
+                  filterExpr: (id = 5) (type: boolean)
                   Statistics: Num rows: 7 Data size: 714 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_annotate_stats_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_annotate_stats_select.q.out b/ql/src/test/results/clientpositive/llap/vector_annotate_stats_select.q.out
index cb463a1..46faa7f 100644
--- a/ql/src/test/results/clientpositive/llap/vector_annotate_stats_select.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_annotate_stats_select.q.out
@@ -2063,6 +2063,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypes_orc_n4
+                  filterExpr: (not bo1) (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_auto_smb_mapjoin_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_auto_smb_mapjoin_14.q.out b/ql/src/test/results/clientpositive/llap/vector_auto_smb_mapjoin_14.q.out
index 6238281..ab37a4d 100644
--- a/ql/src/test/results/clientpositive/llap/vector_auto_smb_mapjoin_14.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_auto_smb_mapjoin_14.q.out
@@ -68,6 +68,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -79,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -198,6 +200,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -209,6 +212,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -402,6 +406,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -413,6 +418,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -446,6 +452,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -457,6 +464,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -659,6 +667,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -670,6 +679,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -796,6 +806,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -807,6 +818,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -957,6 +969,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -968,6 +981,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1106,6 +1120,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -1117,6 +1132,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -1234,6 +1250,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1277,6 +1294,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1422,6 +1440,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1433,6 +1452,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1551,6 +1571,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1562,6 +1583,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1573,6 +1595,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1709,6 +1732,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1720,6 +1744,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1865,6 +1890,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1880 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1876,6 +1902,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1880 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2088,6 +2115,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2099,6 +2127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1880 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_between_in.q.out b/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
index 7355ed8..6eccf1e 100644
--- a/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_between_in.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: (cdate) IN (DATE'1969-10-26', DATE'1969-07-14') (type: boolean)
                   Statistics: Num rows: 12289 Data size: 653856 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -143,6 +144,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: (not (cdate) IN (DATE'1969-10-26', DATE'1969-07-14', DATE'1970-01-21')) (type: boolean)
                   Statistics: Num rows: 12289 Data size: 653856 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -252,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: (cdecimal1) IN (2365.8945945946, 881.0135135135, -3367.6517567568) (type: boolean)
                   Statistics: Num rows: 12289 Data size: 1307712 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -347,6 +350,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: (not (cdecimal1) IN (2365.8945945946, 881.0135135135, -3367.6517567568)) (type: boolean)
                   Statistics: Num rows: 12289 Data size: 1307712 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -456,6 +460,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: cdate BETWEEN DATE'1969-12-30' AND DATE'1970-01-02' (type: boolean)
                   Statistics: Num rows: 12289 Data size: 653856 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -551,6 +556,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: cdate NOT BETWEEN DATE'1968-05-01' AND DATE'1971-09-01' (type: boolean)
                   Statistics: Num rows: 12289 Data size: 653856 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -646,6 +652,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: cdecimal1 BETWEEN -20 AND 45.9918918919 (type: boolean)
                   Statistics: Num rows: 12289 Data size: 1307712 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -741,6 +748,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_date_test
+                  filterExpr: cdecimal1 NOT BETWEEN -2000 AND 4390.1351351351 (type: boolean)
                   Statistics: Num rows: 12289 Data size: 1307712 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_binary_join_groupby.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_binary_join_groupby.q.out b/ql/src/test/results/clientpositive/llap/vector_binary_join_groupby.q.out
index e47c118..f8375de 100644
--- a/ql/src/test/results/clientpositive/llap/vector_binary_join_groupby.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_binary_join_groupby.q.out
@@ -127,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: bin is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 34084 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -204,6 +205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: bin is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 34084 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -540,6 +542,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 6000 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -605,6 +608,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 6000 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out b/ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
index 7aa82d0..7fe7af7 100644
--- a/ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
@@ -149,6 +149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -205,6 +206,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -316,6 +318,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -359,6 +362,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 324 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -485,6 +489,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -529,6 +534,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_complex_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_complex_join.q.out b/ql/src/test/results/clientpositive/llap/vector_complex_join.q.out
index c4f59f0..b908894 100644
--- a/ql/src/test/results/clientpositive/llap/vector_complex_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_complex_join.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -101,6 +102,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_n8
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 744 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -223,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2b_n0
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -280,6 +283,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2a_n0
+                  filterExpr: a[1] is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -366,6 +370,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2b_n0
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -423,6 +428,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2a_n0
+                  filterExpr: a[index] is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_date_1.q.out b/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
index 9d96979..8ff6ddf 100644
--- a/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
@@ -768,6 +768,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_date_1
+                  filterExpr: ((dt1 = dt1) and (dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
                   Statistics: Num rows: 3 Data size: 336 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -935,6 +936,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_date_1
+                  filterExpr: ((dt1 = DATE'2001-01-01') and (dt1 <> DATE'1970-01-01')) (type: boolean)
                   Statistics: Num rows: 3 Data size: 336 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1047,6 +1049,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_date_1
+                  filterExpr: (dt1) IN (DATE'1970-01-01', DATE'2001-01-01') (type: boolean)
                   Statistics: Num rows: 3 Data size: 168 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out
index 2414907..ece6aa4 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out
@@ -19,6 +19,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (cdouble is not null and cint is not null and cboolean1 is not null and ctimestamp1 is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 638316 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -142,6 +143,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypes_small
+                  filterExpr: (cdouble is not null and cint is not null and cboolean1 is not null and ctimestamp1 is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 653800 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
index 024ce07..6d2abbc 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_test_n1
+                  filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean)
                   Statistics: Num rows: 12289 Data size: 2708832 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -231,6 +232,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_test_small_n0
+                  filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2708600 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
index 61f6609..d6da582 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_mapjoin.q.out
@@ -100,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n48
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 111776 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -168,6 +169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n29
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 111776 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -375,6 +377,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n48
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 223552 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -443,6 +446,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n29
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 223552 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -727,6 +731,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 111776 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -795,6 +800,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 111776 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -897,6 +903,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 223552 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -965,6 +972,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 223552 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1068,6 +1076,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 111776 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1137,6 +1146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 111776 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1240,6 +1250,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 223552 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1309,6 +1320,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_small
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 223552 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
index e3d5044..29a68f7 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
@@ -115,6 +115,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_test_n0
+                  filterExpr: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
                   Statistics: Num rows: 12289 Data size: 1401120 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -361,6 +362,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_test_small
+                  filterExpr: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1401000 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
index 1ef50ca..f3d2e6f 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
@@ -1134,6 +1134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_n0
+                  filterExpr: ((key * CAST( value AS decimal(10,0))) > 0) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4412 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1709,6 +1710,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_n0
+                  filterExpr: (key <> 0) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4256 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1828,6 +1830,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_n0
+                  filterExpr: (value <> 0) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4412 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1937,6 +1940,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_n0
+                  filterExpr: (value <> 0) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4412 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -5111,6 +5115,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_txt_small
+                  filterExpr: ((key * CAST( value AS decimal(10,0))) > 0) (type: boolean)
                   Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -5686,6 +5691,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_txt_small
+                  filterExpr: (key <> 0) (type: boolean)
                   Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -5805,6 +5811,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_txt_small
+                  filterExpr: (value <> 0) (type: boolean)
                   Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -5914,6 +5921,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf_txt_small
+                  filterExpr: (value <> 0) (type: boolean)
                   Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
index 4c9b737..eece295 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_udf2.q.out
@@ -83,6 +83,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf2_n0
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4032 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -192,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf2_n0
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 39 Data size: 4188 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -307,6 +309,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf2_txt
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -416,6 +419,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_udf2_txt
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_elt.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_elt.q.out b/ql/src/test/results/clientpositive/llap/vector_elt.q.out
index 5745af2..48972e2 100644
--- a/ql/src/test/results/clientpositive/llap/vector_elt.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_elt.q.out
@@ -23,6 +23,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (ctinyint > 0Y) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 935842 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets4.q.out b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets4.q.out
index a262f26..3acc4ec 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets4.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets4.q.out
@@ -65,6 +65,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n161
+                  filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
                   Statistics: Num rows: 6 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -309,6 +310,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n161
+                  filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
                   Statistics: Num rows: 6 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -584,6 +586,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n161
+                  filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
                   Statistics: Num rows: 6 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
index e6628ab..10abe77 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain vectorization expression
 select *
 from src
@@ -269,7 +269,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select *
 from src
 where not key in
@@ -298,7 +298,7 @@ POSTHOOK: Output: database:default
 POSTHOOK: Output: default@orcsrc
 POSTHOOK: Lineage: orcsrc.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: orcsrc.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select *
 from orcsrc
 where not key in
@@ -315,7 +315,7 @@ order by key
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@orcsrc
 #### A masked pattern was here ####
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select *
 from orcsrc
 where not key in

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_groupby_reduce.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_reduce.q.out b/ql/src/test/results/clientpositive/llap/vector_groupby_reduce.q.out
index b2953fd..1235bda 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_reduce.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_reduce.q.out
@@ -737,6 +737,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales_n3
+                  filterExpr: (ss_ticket_number = 1) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 126616 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out b/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out
index a88e385..00e464d 100644
--- a/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: (cboolean1 and cboolean1 is not null) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36700 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_inner_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_inner_join.q.out b/ql/src/test/results/clientpositive/llap/vector_inner_join.q.out
index fb3d7cb..82a2980 100644
--- a/ql/src/test/results/clientpositive/llap/vector_inner_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_inner_join.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -133,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -224,6 +226,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -292,6 +295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -431,6 +435,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -507,6 +512,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -599,6 +605,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -651,6 +658,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 460 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -760,6 +768,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 460 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -838,6 +847,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -930,6 +940,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 460 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1007,6 +1018,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1099,6 +1111,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 460 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1176,6 +1189,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1268,6 +1282,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1320,6 +1335,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 460 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1437,6 +1453,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: (a > 2) (type: boolean)
                   Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1489,6 +1506,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (c > 2) (type: boolean)
                   Statistics: Num rows: 5 Data size: 460 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out b/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
index 1cd498f..a1df0ac 100644
--- a/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
@@ -936,6 +936,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_interval_2
+                  filterExpr: ((CAST( str1 AS INTERVAL YEAR TO MONTH) = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTE
 RVAL YEAR TO MONTH)) and (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH))) (type: boolean)
                   Statistics: Num rows: 2 Data size: 816 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1130,6 +1131,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_interval_2
+                  filterExpr: ((CAST( str3 AS INTERVAL DAY TO SECOND) = CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000'
 ) and (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND))) (type: boolean)
                   Statistics: Num rows: 2 Data size: 816 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1314,6 +1316,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_interval_2
+                  filterExpr: ((DATE'2002-03-01' = (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (DATE'2002-03-01' <= (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (DATE'2002-03-01' >= (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) = DATE'2002-03-01') and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) <= DATE'2002-03-01') and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) >= DATE'2002-03-01') and (dt <> (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (DATE'2002-03-01' = (dt + INTERVAL'1-2')) and (DATE'2002-03-01' <= (dt + INTERVAL'1-2')) and (DATE'2002-03-01' >= (dt + INTERVAL'1-2')) and ((dt + INTERVAL'1-2') = DATE'2002-03-01') and ((dt + INTERVAL'1-2') <= DATE'2002-03-01') and ((dt + INTERVAL'1-2') >= DATE'2002-03-01') and (dt <> (dt + INTERVAL'1-2'))) (type: boolean)
                   Statistics: Num rows: 2 Data size: 560 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1498,6 +1501,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_interval_2
+                  filterExpr: ((TIMESTAMP'2002-03-01 01:02:03.0' = (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-03-01 01:02:03.0' <= (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-03-01 01:02:03.0' >= (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03.0' <> (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-02-01 01:02:03.0' < (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03.0' > (ts + INTERVAL'1-2')) and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03.0') and ((ts + INTERVAL'1-2') >= TIMESTAMP'2002-03-01 01:02:03.0') and ((ts + INTERVAL'1-2') <= TIMESTAMP'2002-03-01 01:02:03.0') and ((ts + INTERVAL'1-2') <> TIMESTAMP'2002-04-01 01:02:03.0') and ((ts + INTERVAL'1-2') > TIMESTAMP'2002-02-01 01:02:03.0') and ((ts + INTERVAL'1-2') < TIMESTAMP'2002-04-01 01:02:03.0') and (ts = (ts + INTERVAL'0-0')) and (ts <> (ts + INTERVAL'1-0')) and (ts <= (ts + INTERVAL'1-0')) and (ts < (ts + INTERVAL'1-0')) and (ts >= (ts - INTERVAL'1-0')) and (ts > (ts - INTERVAL'1-0'))) (type: boolean)
                   Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1692,6 +1696,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_interval_2
+                  filterExpr: ((TIMESTAMP'2001-01-01 01:02:03.0' = (dt + INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' <> (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' <= (dt + INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' >= (dt - INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03.0') and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03.0') and ((dt + INTERVAL'0 01:02:03.000000000') >= TIMESTAMP'2001-01-01 01:02:03.0') and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03.0') and ((dt - INTERVAL'0 01:02:03.000000000') <= TIMESTAMP'2001-01-01 01:02:03.0') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03.0') and (ts = (dt + 
 INTERVAL'0 01:02:03.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and (ts <= (dt + INTERVAL'0 01:02:03.000000000')) and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts >= (dt - INTERVAL'0 01:02:03.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000'))) (type: boolean)
                   Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1886,6 +1891,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vector_interval_2
+                  filterExpr: ((TIMESTAMP'2001-01-01 01:02:03.0' = (ts + INTERVAL'0 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' <> (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' <= (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' >= (ts - INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03.0' > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03.0') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03.0') and ((ts + INTERVAL'1 00:00:00.000000000') >= TIMESTAMP'2001-01-01 01:02:03.0') and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03.0') and ((ts - INTERVAL'1 00:00:00.000000000') <= TIMESTAMP'2001-01-01 01:02:03.0') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03.0') and (ts = (ts + 
 INTERVAL'0 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and (ts <= (ts + INTERVAL'1 00:00:00.000000000')) and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts >= (ts - INTERVAL'1 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000'))) (type: boolean)
                   Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true


[32/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_19.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_19.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_19.q.out
index 9b6caba..847a889 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_19.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_19.q.out
@@ -53,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (ds = '1') (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: int), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_4.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_4.q.out
index 5b5aa40..bbaf94b 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_4.q.out
@@ -65,6 +65,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -87,6 +89,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -151,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -162,6 +166,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -173,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -521,6 +527,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -532,6 +539,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -543,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -889,6 +898,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -900,6 +910,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -911,6 +922,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_5.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_5.q.out
index ccdddeb..6d273cd 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_5.q.out
@@ -65,6 +65,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -87,6 +89,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -151,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -162,6 +166,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -173,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -521,6 +527,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -532,6 +539,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -543,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -889,6 +898,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -900,6 +910,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -911,6 +922,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_6.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_6.q.out
index 1f7e93d..07dd79c 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_6.q.out
@@ -80,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1276,6 +1278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1287,6 +1290,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2488,6 +2492,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)
@@ -2499,6 +2504,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)
@@ -2616,6 +2622,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)
@@ -2627,6 +2634,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)
@@ -2737,6 +2745,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)
@@ -2748,6 +2757,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)
@@ -2759,6 +2769,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key > 1000) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1000) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/stats11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/stats11.q.out b/ql/src/test/results/clientpositive/llap/stats11.q.out
index f47137e..4fd749d 100644
--- a/ql/src/test/results/clientpositive/llap/stats11.q.out
+++ b/ql/src/test/results/clientpositive/llap/stats11.q.out
@@ -314,6 +314,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -392,6 +393,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -739,6 +741,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -817,6 +820,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/stats_based_fetch_decision.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/stats_based_fetch_decision.q.out b/ql/src/test/results/clientpositive/llap/stats_based_fetch_decision.q.out
index 001f065..591199b 100644
--- a/ql/src/test/results/clientpositive/llap/stats_based_fetch_decision.q.out
+++ b/ql/src/test/results/clientpositive/llap/stats_based_fetch_decision.q.out
@@ -36,6 +36,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: key is null (type: boolean)
           Filter Operator
             predicate: key is null (type: boolean)
             Select Operator
@@ -57,6 +58,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: key is null (type: boolean)
           Filter Operator
             predicate: key is null (type: boolean)
             Select Operator
@@ -105,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is null (type: boolean)
@@ -146,6 +149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: key is null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/stats_only_external.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/stats_only_external.q.out b/ql/src/test/results/clientpositive/llap/stats_only_external.q.out
index 554aa3e..97dc688 100644
--- a/ql/src/test/results/clientpositive/llap/stats_only_external.q.out
+++ b/ql/src/test/results/clientpositive/llap/stats_only_external.q.out
@@ -170,6 +170,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: stats_only_external_tab1_ext
+                  filterExpr: ((key >= 0) and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key >= 0) and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_corr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_corr.q.out b/ql/src/test/results/clientpositive/llap/subquery_corr.q.out
index 466de2a..e707d02 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_corr.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_corr.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -38,6 +39,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -117,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -137,6 +140,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -716,6 +720,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -736,6 +741,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_exists.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_exists.q.out b/ql/src/test/results/clientpositive/llap/subquery_exists.q.out
index 21d3d53..e5fcd97 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_exists.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_exists.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value > 'val_9') and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((value > 'val_9') and key is not null) (type: boolean)
@@ -51,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((value > 'val_9') and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((value > 'val_9') and key is not null) (type: boolean)
@@ -239,6 +241,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -259,6 +262,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -355,6 +359,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (value > 'val_9') (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (value > 'val_9') (type: boolean)
@@ -1131,6 +1136,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -1151,6 +1157,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: (a is not null and b is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (a is not null and b is not null) (type: boolean)
@@ -1285,6 +1292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n68
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -1305,6 +1313,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n41
+                  filterExpr: (j is not null and i is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (i is not null and j is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_in.q.out b/ql/src/test/results/clientpositive/llap/subquery_in.q.out
index f961402..8f3912e 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_in.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_in.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key > '9') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '9') (type: boolean)
@@ -44,6 +45,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (key > '9') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '9') (type: boolean)
@@ -146,6 +148,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((key > '9') and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key > '9') and value is not null) (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > '9') and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key > '9') and value is not null) (type: boolean)
@@ -277,6 +281,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -451,6 +456,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (p_mfgr is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_mfgr is not null and p_size is not null) (type: boolean)
@@ -471,6 +477,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_mfgr is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2652 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_mfgr is not null (type: boolean)
@@ -639,6 +646,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((key > '9') and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key > '9') and value is not null) (type: boolean)
@@ -658,6 +666,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > '9') and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key > '9') and value is not null) (type: boolean)
@@ -769,6 +778,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -789,6 +799,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key > '9') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '9') (type: boolean)
@@ -910,6 +921,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null or (value is not null and key is not null)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1046,6 +1058,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 400 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -1066,6 +1079,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: li
+                  filterExpr: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) (type: boolean)
@@ -1086,6 +1100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: ((l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 9200 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)
@@ -1228,6 +1243,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: (l_partkey is not null and l_quantity is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (l_partkey is not null and l_quantity is not null) (type: boolean)
@@ -1248,6 +1264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -1267,6 +1284,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 1200 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -1402,6 +1420,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_brand <> 'Brand#14') and (p_size <> 340) and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_brand <> 'Brand#14') and (p_size <> 340) and p_type is not null) (type: boolean)
@@ -1422,6 +1441,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: ((p_size <> 340) and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_size <> 340) and p_type is not null) (type: boolean)
@@ -1535,6 +1555,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -1678,6 +1699,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_partkey is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null) (type: boolean)
@@ -1811,6 +1833,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e
+                  filterExpr: (p_name is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null) (type: boolean)
@@ -1830,6 +1853,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -1922,6 +1946,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_retailprice is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_retailprice is not null (type: boolean)
@@ -2084,6 +2109,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null) (type: boolean)
@@ -2104,6 +2130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
@@ -2124,6 +2151,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -2233,6 +2261,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_partkey is not null and p_size is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
@@ -2253,6 +2282,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
@@ -2352,6 +2382,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_brand is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -2372,6 +2403,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_brand is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -2473,6 +2505,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5954 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -2493,6 +2526,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -2513,6 +2547,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -2653,6 +2688,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2673,6 +2709,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2697,6 +2734,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (key = '90') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = '90') (type: boolean)
@@ -2875,6 +2913,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2894,6 +2933,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sc
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2918,6 +2958,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (key = '90') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = '90') (type: boolean)
@@ -3096,6 +3137,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -3252,6 +3294,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -3405,6 +3448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3425,6 +3469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3146 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -3449,6 +3494,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_brand is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2392 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -3529,6 +3575,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (p_mfgr is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_mfgr is not null and p_name is not null) (type: boolean)
@@ -3549,6 +3596,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_size < 10) and p_mfgr is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_size < 10) and p_mfgr is not null and p_name is not null) (type: boolean)
@@ -3649,6 +3697,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null) (type: boolean)
@@ -3669,6 +3718,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -3689,6 +3739,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -3812,6 +3863,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null) (type: boolean)
@@ -3832,6 +3884,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5954 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null and p_type is not null) (type: boolean)
@@ -3852,6 +3905,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -3977,6 +4031,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_size is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 6058 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null and p_type is not null) (type: boolean)
@@ -3997,6 +4052,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -4017,6 +4073,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -4106,6 +4163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null) (type: boolean)
@@ -4126,6 +4184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -4146,6 +4205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -4271,6 +4331,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -4291,6 +4352,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -4442,6 +4504,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_partkey is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null) (type: boolean)
@@ -4462,6 +4525,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -4569,7 +4633,7 @@ POSTHOOK: Input: default@part
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[49][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey)
@@ -4593,6 +4657,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_partkey is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null) (type: boolean)
@@ -4628,6 +4693,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -4731,7 +4797,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[49][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select * from part where p_size in (select min(pp.p_size) from part pp where pp.p_partkey > part.p_partkey)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -4785,6 +4851,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -5034,6 +5101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -5054,6 +5122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -5281,6 +5350,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t_n22
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -5495,6 +5565,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t_n22
+                  filterExpr: (j is not null and i is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (i is not null and j is not null) (type: boolean)
@@ -5515,6 +5586,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tt_n2
+                  filterExpr: j is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: j is not null (type: boolean)
@@ -5610,7 +5682,7 @@ POSTHOOK: query: drop table tt_n2
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@tt_n2
 POSTHOOK: Output: default@tt_n2
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[49][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select * from part where p_size IN (select max(p_size) from part p where p.p_type <> part.p_name)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_size IN (select max(p_size) from part p where p.p_type <> part.p_name)
@@ -5634,6 +5706,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_name is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_size is not null) (type: boolean)
@@ -5669,6 +5742,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3146 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -5772,7 +5846,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[49][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select * from part where p_size IN (select max(p_size) from part p where p.p_type <> part.p_name)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -5782,7 +5856,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part
 #### A masked pattern was here ####
 15103	almond aquamarine dodger light gainsboro	Manufacturer#5	Brand#53	ECONOMY BURNISHED STEEL	46	LG PACK	1018.1	packages hinder carefu
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[71][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select * from part where p_size IN (select pp.p_size from part p join part pp on pp.p_type = p.p_type where part.p_type <> p.p_name)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_size IN (select pp.p_size from part p join part pp on pp.p_type = p.p_type where part.p_type <> p.p_name)
@@ -5806,6 +5880,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -5826,6 +5901,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -5844,6 +5920,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -5864,6 +5941,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_type is not null and p_size is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -5960,7 +6038,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[71][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select * from part where p_size IN (select pp.p_size from part p join part pp on pp.p_type = p.p_type where part.p_type <> p.p_name)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_in_having.q.out b/ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
index 0bd5ca0..20428e1 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
@@ -272,6 +272,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: p_mfgr is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_mfgr is not null (type: boolean)
@@ -294,6 +295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_subq
+                  filterExpr: p_mfgr is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_mfgr is not null (type: boolean)
@@ -399,6 +401,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: p_mfgr is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_mfgr is not null (type: boolean)
@@ -421,6 +424,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_subq
+                  filterExpr: p_mfgr is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_mfgr is not null (type: boolean)
@@ -547,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key > '8') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '8') (type: boolean)
@@ -567,6 +572,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key > '8') or (key > '9')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '8') (type: boolean)
@@ -760,6 +766,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key > '8') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '8') (type: boolean)
@@ -796,6 +803,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key > '8') or (key > '9')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '8') (type: boolean)
@@ -929,6 +937,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -965,6 +974,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -989,6 +999,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (key > '9') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '9') (type: boolean)
@@ -1419,6 +1430,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_subq
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1557,11 +1569,11 @@ POSTHOOK: Input: _dummy_database@_dummy_table
 POSTHOOK: Output: default@src_null_n4
 POSTHOOK: Lineage: src_null_n4.key SCRIPT []
 POSTHOOK: Lineage: src_null_n4.value EXPRESSION []
-Warning: Map Join MAPJOIN[121][bigTable=?] in task 'Map 1' is a cross product
-Warning: Map Join MAPJOIN[122][bigTable=?] in task 'Map 1' is a cross product
-Warning: Map Join MAPJOIN[123][bigTable=?] in task 'Map 1' is a cross product
-Warning: Shuffle Join MERGEJOIN[124][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
-Warning: Shuffle Join MERGEJOIN[125][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 6' is a cross product
+Warning: Map Join MAPJOIN[131][bigTable=?] in task 'Map 1' is a cross product
+Warning: Map Join MAPJOIN[132][bigTable=?] in task 'Map 1' is a cross product
+Warning: Map Join MAPJOIN[134][bigTable=?] in task 'Map 1' is a cross product
+Warning: Shuffle Join MERGEJOIN[133][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[135][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 6' is a cross product
 PREHOOK: query: explain
 select key, value, count(*)
 from src_null_n4 b
@@ -1730,6 +1742,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_null_n4
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2029,11 +2042,11 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Map Join MAPJOIN[121][bigTable=?] in task 'Map 1' is a cross product
-Warning: Map Join MAPJOIN[122][bigTable=?] in task 'Map 1' is a cross product
-Warning: Map Join MAPJOIN[123][bigTable=?] in task 'Map 1' is a cross product
-Warning: Shuffle Join MERGEJOIN[124][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
-Warning: Shuffle Join MERGEJOIN[125][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 6' is a cross product
+Warning: Map Join MAPJOIN[131][bigTable=?] in task 'Map 1' is a cross product
+Warning: Map Join MAPJOIN[132][bigTable=?] in task 'Map 1' is a cross product
+Warning: Map Join MAPJOIN[134][bigTable=?] in task 'Map 1' is a cross product
+Warning: Shuffle Join MERGEJOIN[133][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[135][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 6' is a cross product
 PREHOOK: query: select key, value, count(*)
 from src_null_n4 b
 where NOT EXISTS (select key from src_null_n4 where src_null_n4.value <> b.value)


[33/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/quotedid_smb.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/quotedid_smb.q.out b/ql/src/test/results/clientpositive/llap/quotedid_smb.q.out
index 13f2f9a..eb80452 100644
--- a/ql/src/test/results/clientpositive/llap/quotedid_smb.q.out
+++ b/ql/src/test/results/clientpositive/llap/quotedid_smb.q.out
@@ -63,6 +63,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: !@#$%^&*()_q is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: !@#$%^&*()_q is not null (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((x+1 < '11') and !@#$%^&*()_q is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (!@#$%^&*()_q is not null and (x+1 < '11')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/reduce_deduplicate.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/reduce_deduplicate.q.out b/ql/src/test/results/clientpositive/llap/reduce_deduplicate.q.out
index 0717559..9eb235a 100644
--- a/ql/src/test/results/clientpositive/llap/reduce_deduplicate.q.out
+++ b/ql/src/test/results/clientpositive/llap/reduce_deduplicate.q.out
@@ -324,6 +324,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: complex_tbl_2
+                  filterExpr: (ds = '2010-03-29') (type: boolean)
                   Statistics: Num rows: 1 Data size: 462 Basic stats: COMPLETE Column stats: PARTIAL
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/reduce_deduplicate_extended.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/reduce_deduplicate_extended.q.out b/ql/src/test/results/clientpositive/llap/reduce_deduplicate_extended.q.out
index dec81dd..aa20ec8 100644
--- a/ql/src/test/results/clientpositive/llap/reduce_deduplicate_extended.q.out
+++ b/ql/src/test/results/clientpositive/llap/reduce_deduplicate_extended.q.out
@@ -268,6 +268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -288,6 +289,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -374,6 +376,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -394,6 +397,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2815,6 +2819,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2835,6 +2840,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2914,6 +2920,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2934,6 +2941,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_1.q.out b/ql/src/test/results/clientpositive/llap/results_cache_1.q.out
index 6f5bfc3..2b8a288 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_1.q.out
@@ -21,6 +21,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -154,6 +156,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -173,6 +176,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -277,6 +281,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -296,6 +301,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_2.q.out b/ql/src/test/results/clientpositive/llap/results_cache_2.q.out
index 25b8dc3..2680a4a 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_2.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (UDFToDouble(key) = 0.0D) (type: boolean)
           Filter Operator
             predicate: (UDFToDouble(key) = 0.0D) (type: boolean)
             Select Operator
@@ -49,6 +50,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (UDFToDouble(key) = 0.0D) (type: boolean)
           Filter Operator
             predicate: (UDFToDouble(key) = 0.0D) (type: boolean)
             Select Operator
@@ -131,6 +133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) < 10.0D) (type: boolean)
@@ -217,6 +220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 500/500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) < 10.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_capacity.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_capacity.q.out b/ql/src/test/results/clientpositive/llap/results_cache_capacity.q.out
index 995e88c..df3e34c 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_capacity.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_capacity.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) = 2.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 2.0D) (type: boolean)
@@ -215,6 +216,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) < 10.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_empty_result.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_empty_result.q.out b/ql/src/test/results/clientpositive/llap/results_cache_empty_result.q.out
index 642c0bf..350dd87 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_empty_result.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_empty_result.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(key) < 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) < 0.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out b/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
index 346e0bb..7efb50a 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_invalidation.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(key) >= 0.0D) (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) >= 0.0D) (type: boolean)
@@ -197,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n6
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -216,6 +218,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n5
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -393,6 +396,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (UDFToDouble(key) >= 0.0D) (type: boolean)
                   Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) >= 0.0D) (type: boolean)
@@ -490,6 +494,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n6
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -509,6 +514,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n5
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -705,6 +711,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n6
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -724,6 +731,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n5
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 111 Data size: 19688 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_invalidation2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_invalidation2.q.out b/ql/src/test/results/clientpositive/llap/results_cache_invalidation2.q.out
index 57bba3f..62811ca 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_invalidation2.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_invalidation2.q.out
@@ -195,6 +195,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1
+                  filterExpr: (UDFToDouble(key) > 0.0D) (type: boolean)
                   Statistics: Num rows: 1500 Data size: 262384 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) > 0.0D) (type: boolean)
@@ -267,6 +268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1500 Data size: 262384 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -286,6 +288,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_lifetime.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_lifetime.q.out b/ql/src/test/results/clientpositive/llap/results_cache_lifetime.q.out
index 8b8907b..5cec79d 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_lifetime.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_lifetime.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -59,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_temptable.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_temptable.q.out b/ql/src/test/results/clientpositive/llap/results_cache_temptable.q.out
index e34ac6a..baaf299 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_temptable.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_temptable.q.out
@@ -82,6 +82,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tmptab
+                  filterExpr: (UDFToDouble(key) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 0.0D) (type: boolean)
@@ -181,6 +182,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: rct
+                  filterExpr: (UDFToDouble(key) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (UDFToDouble(key) = 0.0D) (type: boolean)
@@ -282,6 +284,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: rct_part
+                  filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) = 0.0D)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToDouble(key) = 0.0D) and (ds = '2008-04-08')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out b/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
index accea78..19504bc 100644
--- a/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
+++ b/ql/src/test/results/clientpositive/llap/results_cache_transactional.q.out
@@ -151,6 +151,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -170,6 +171,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -426,6 +428,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -445,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -536,6 +540,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 91 Data size: 16192 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -555,6 +560,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out b/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
index e63d36b..09ae2f6 100644
--- a/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
+++ b/ql/src/test/results/clientpositive/llap/retry_failure_stat_changes.q.out
@@ -72,7 +72,7 @@ Stage-0
               Output:["_col0"],aggregations:["sum(_col0)"]
               Select Operator [SEL_9] (runtime: rows=3 width=8)
                 Output:["_col0"]
-                Merge Join Operator [MERGEJOIN_20] (runtime: rows=3 width=8)
+                Merge Join Operator [MERGEJOIN_30] (runtime: rows=3 width=8)
                   Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
                 <-Map 1 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_6]
@@ -129,7 +129,7 @@ Stage-0
               Output:["_col0"],aggregations:["sum(_col0)"]
               Select Operator [SEL_9] (rows=1/3 width=8)
                 Output:["_col0"]
-                Merge Join Operator [MERGEJOIN_20] (rows=1/3 width=8)
+                Merge Join Operator [MERGEJOIN_30] (rows=1/3 width=8)
                   Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
                 <-Map 1 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_6]
@@ -186,7 +186,7 @@ Stage-0
               Output:["_col0"],aggregations:["sum(_col0)"]
               Select Operator [SEL_9] (rows=1/3 width=8)
                 Output:["_col0"]
-                Map Join Operator [MAPJOIN_20] (rows=1/3 width=8)
+                Map Join Operator [MAPJOIN_30] (rows=1/3 width=8)
                   Conds:SEL_2._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
                 <-Map 3 [BROADCAST_EDGE] llap
                   BROADCAST [RS_7]
@@ -232,7 +232,7 @@ Stage-0
                 Output:["_col0"],aggregations:["sum(_col0)"]
                 Select Operator [SEL_9] (rows=2 width=8)
                   Output:["_col0"]
-                  Map Join Operator [MAPJOIN_20] (rows=2 width=8)
+                  Map Join Operator [MAPJOIN_30] (rows=2 width=8)
                     Conds:RS_6._col0=SEL_5._col0(Inner),Output:["_col1","_col3"]
                   <-Map 1 [BROADCAST_EDGE] llap
                     BROADCAST [RS_6]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/runtime_stats_hs2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/runtime_stats_hs2.q.out b/ql/src/test/results/clientpositive/llap/runtime_stats_hs2.q.out
index dcfaaf3..76cee83 100644
--- a/ql/src/test/results/clientpositive/llap/runtime_stats_hs2.q.out
+++ b/ql/src/test/results/clientpositive/llap/runtime_stats_hs2.q.out
@@ -51,8 +51,8 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 3 vectorized, llap
-      File Output Operator [FS_28]
-        Group By Operator [GBY_27] (rows=1 width=8)
+      File Output Operator [FS_38]
+        Group By Operator [GBY_37] (rows=1 width=8)
           Output:["_col0"],aggregations:["sum(VALUE._col0)"]
         <-Reducer 2 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_12]
@@ -60,23 +60,23 @@ Stage-0
               Output:["_col0"],aggregations:["sum(_col0)"]
               Select Operator [SEL_9] (rows=1 width=8)
                 Output:["_col0"]
-                Merge Join Operator [MERGEJOIN_20] (rows=1 width=8)
-                  Conds:RS_23._col0=RS_26._col0(Inner),Output:["_col0","_col1"]
+                Merge Join Operator [MERGEJOIN_30] (rows=1 width=8)
+                  Conds:RS_33._col0=RS_36._col0(Inner),Output:["_col0","_col1"]
                 <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                  SHUFFLE [RS_23]
+                  SHUFFLE [RS_33]
                     PartitionCols:_col0
-                    Select Operator [SEL_22] (rows=1 width=4)
+                    Select Operator [SEL_32] (rows=1 width=4)
                       Output:["_col0"]
-                      Filter Operator [FIL_21] (rows=1 width=4)
+                      Filter Operator [FIL_31] (rows=1 width=4)
                         predicate:((u < 10) and (u > 2))
                         TableScan [TS_0] (rows=8 width=4)
                           default@tx_n3,tx_n3,Tbl:COMPLETE,Col:COMPLETE,Output:["u"]
                 <-Map 4 [SIMPLE_EDGE] vectorized, llap
-                  SHUFFLE [RS_26]
+                  SHUFFLE [RS_36]
                     PartitionCols:_col0
-                    Select Operator [SEL_25] (rows=1 width=4)
+                    Select Operator [SEL_35] (rows=1 width=4)
                       Output:["_col0"]
-                      Filter Operator [FIL_24] (rows=1 width=4)
+                      Filter Operator [FIL_34] (rows=1 width=4)
                         predicate:((p < 10) and (p > 2))
                         TableScan [TS_3] (rows=5 width=4)
                           default@px_n0,px_n0,Tbl:COMPLETE,Col:COMPLETE,Output:["p"]
@@ -109,8 +109,8 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 3 vectorized, llap
-      File Output Operator [FS_28]
-        Group By Operator [GBY_27] (runtime: rows=1 width=8)
+      File Output Operator [FS_38]
+        Group By Operator [GBY_37] (runtime: rows=1 width=8)
           Output:["_col0"],aggregations:["sum(VALUE._col0)"]
         <-Reducer 2 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_12]
@@ -118,23 +118,23 @@ Stage-0
               Output:["_col0"],aggregations:["sum(_col0)"]
               Select Operator [SEL_9] (runtime: rows=3 width=8)
                 Output:["_col0"]
-                Merge Join Operator [MERGEJOIN_20] (runtime: rows=3 width=8)
-                  Conds:RS_23._col0=RS_26._col0(Inner),Output:["_col0","_col1"]
+                Merge Join Operator [MERGEJOIN_30] (runtime: rows=3 width=8)
+                  Conds:RS_33._col0=RS_36._col0(Inner),Output:["_col0","_col1"]
                 <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                  SHUFFLE [RS_23]
+                  SHUFFLE [RS_33]
                     PartitionCols:_col0
-                    Select Operator [SEL_22] (runtime: rows=5 width=4)
+                    Select Operator [SEL_32] (runtime: rows=5 width=4)
                       Output:["_col0"]
-                      Filter Operator [FIL_21] (runtime: rows=5 width=4)
+                      Filter Operator [FIL_31] (runtime: rows=5 width=4)
                         predicate:((u < 10) and (u > 2))
                         TableScan [TS_0] (runtime: rows=8 width=4)
                           default@tx_n3,tx_n3,Tbl:COMPLETE,Col:COMPLETE,Output:["u"]
                 <-Map 4 [SIMPLE_EDGE] vectorized, llap
-                  SHUFFLE [RS_26]
+                  SHUFFLE [RS_36]
                     PartitionCols:_col0
-                    Select Operator [SEL_25] (runtime: rows=3 width=4)
+                    Select Operator [SEL_35] (runtime: rows=3 width=4)
                       Output:["_col0"]
-                      Filter Operator [FIL_24] (runtime: rows=3 width=4)
+                      Filter Operator [FIL_34] (runtime: rows=3 width=4)
                         predicate:((p < 10) and (p > 2))
                         TableScan [TS_3] (runtime: rows=5 width=4)
                           default@px_n0,px_n0,Tbl:COMPLETE,Col:COMPLETE,Output:["p"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/sample1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/sample1.q.out b/ql/src/test/results/clientpositive/llap/sample1.q.out
index 19a337e..d274628 100644
--- a/ql/src/test/results/clientpositive/llap/sample1.q.out
+++ b/ql/src/test/results/clientpositive/llap/sample1.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s
+                  filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/sample10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/sample10.q.out b/ql/src/test/results/clientpositive/llap/sample10.q.out
index 1b95314..ce3c288 100644
--- a/ql/src/test/results/clientpositive/llap/sample10.q.out
+++ b/ql/src/test/results/clientpositive/llap/sample10.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpartbucket
+                  filterExpr: ds is not null (type: boolean)
                   Statistics: Num rows: 40 Data size: 10760 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/selectDistinctStar.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/selectDistinctStar.q.out b/ql/src/test/results/clientpositive/llap/selectDistinctStar.q.out
index de9f5f90..51458e5 100644
--- a/ql/src/test/results/clientpositive/llap/selectDistinctStar.q.out
+++ b/ql/src/test/results/clientpositive/llap/selectDistinctStar.q.out
@@ -711,6 +711,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key < '3') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < '3') (type: boolean)
@@ -3169,6 +3170,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key < '3') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < '3') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/semijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/semijoin.q.out b/ql/src/test/results/clientpositive/llap/semijoin.q.out
index e785005..eb17145 100644
--- a/ql/src/test/results/clientpositive/llap/semijoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/semijoin.q.out
@@ -141,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -157,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -250,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -266,6 +269,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -361,6 +365,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -377,6 +382,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -464,6 +470,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -480,6 +487,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 15) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 15) (type: boolean)
@@ -582,6 +590,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -598,6 +607,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value < 'val_10') and key is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((value < 'val_10') and key is not null) (type: boolean)
@@ -688,6 +698,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t3_n12
+                  filterExpr: (key > 5) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key > 5) (type: boolean)
@@ -712,6 +723,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -798,6 +810,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n33
+                  filterExpr: ((key > 5) and (value <= 'val_20')) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((key > 5) and (value <= 'val_20')) (type: boolean)
@@ -822,6 +835,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -905,6 +919,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n55
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -929,6 +944,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1013,6 +1029,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1028,6 +1045,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1134,6 +1152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1150,6 +1169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (2 * key) is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (2 * key) is not null (type: boolean)
@@ -1241,6 +1261,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1257,6 +1278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1273,6 +1295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1383,6 +1406,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1398,6 +1422,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1499,6 +1524,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1514,6 +1540,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1538,6 +1565,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2502,6 +2530,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2518,6 +2547,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2670,6 +2700,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > 100) and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((key > 100) and value is not null) (type: boolean)
@@ -2690,6 +2721,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2024 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2745,7 +2777,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t2_n33
 POSTHOOK: Input: default@t3_n12
 #### A masked pattern was here ####
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[50][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select key, value from src outr left semi join
     (select a.key, b.value from src a join (select distinct value from src) b on a.value > b.value group by a.key, b.value) inr
     on outr.key=inr.key and outr.value=inr.value
@@ -2772,6 +2804,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: outr
+                  filterExpr: ((key is not null and value is not null) or key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2802,6 +2835,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2881,7 +2915,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[50][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select key, value from src outr left semi join
     (select a.key, b.value from src a join (select distinct value from src) b on a.value > b.value group by a.key, b.value) inr
     on outr.key=inr.key and outr.value=inr.value

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/semijoin6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/semijoin6.q.out b/ql/src/test/results/clientpositive/llap/semijoin6.q.out
index 1c03f3f..05a191a 100644
--- a/ql/src/test/results/clientpositive/llap/semijoin6.q.out
+++ b/ql/src/test/results/clientpositive/llap/semijoin6.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -348,6 +350,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -368,6 +371,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -553,6 +557,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -573,6 +578,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -660,6 +666,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -680,6 +687,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/semijoin7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/semijoin7.q.out b/ql/src/test/results/clientpositive/llap/semijoin7.q.out
index 5b4be8f..31df60a 100644
--- a/ql/src/test/results/clientpositive/llap/semijoin7.q.out
+++ b/ql/src/test/results/clientpositive/llap/semijoin7.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -340,6 +342,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -356,6 +359,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -537,6 +541,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -553,6 +558,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -640,6 +646,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: u
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -656,6 +663,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/sharedworkext.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/sharedworkext.q.out b/ql/src/test/results/clientpositive/llap/sharedworkext.q.out
index c734d00..531f073 100644
--- a/ql/src/test/results/clientpositive/llap/sharedworkext.q.out
+++ b/ql/src/test/results/clientpositive/llap/sharedworkext.q.out
@@ -43,6 +43,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -63,6 +64,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -550,6 +552,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -570,6 +573,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/skewjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/skewjoin.q.out b/ql/src/test/results/clientpositive/llap/skewjoin.q.out
index 1c892a3..c3f7011 100644
--- a/ql/src/test/results/clientpositive/llap/skewjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/skewjoin.q.out
@@ -97,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -116,6 +117,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -254,6 +256,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -270,6 +273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -286,6 +290,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -302,6 +307,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -396,6 +402,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -412,6 +419,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -428,6 +436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -444,6 +453,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -531,6 +541,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: UDFToDouble(key) is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: UDFToDouble(key) is not null (type: boolean)
@@ -547,6 +558,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (key + 1) is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key + 1) is not null (type: boolean)
@@ -643,6 +655,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -662,6 +675,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -770,6 +784,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key is not null and UDFToDouble(substring(value, 5)) is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(substring(value, 5)) is not null and key is not null) (type: boolean)
@@ -789,6 +804,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key is not null and (substring(value, 5) + 1) is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((substring(value, 5) + 1) is not null and key is not null) (type: boolean)
@@ -905,6 +921,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key < 80) and (key < 100)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 100) and (key < 80)) (type: boolean)
@@ -924,6 +941,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key < 100) and (key < 80)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 100) and (key < 80)) (type: boolean)
@@ -944,6 +962,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key < 100) and (key < 80)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 100) and (key < 80)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/skewjoinopt15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/skewjoinopt15.q.out b/ql/src/test/results/clientpositive/llap/skewjoinopt15.q.out
index 547fd81..cd20c3a 100644
--- a/ql/src/test/results/clientpositive/llap/skewjoinopt15.q.out
+++ b/ql/src/test/results/clientpositive/llap/skewjoinopt15.q.out
@@ -88,6 +88,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 540 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -108,6 +109,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 540 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -287,6 +289,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -306,6 +309,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_cache.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_cache.q.out b/ql/src/test/results/clientpositive/llap/smb_cache.q.out
index 8ff037a..7db1374 100644
--- a/ql/src/test/results/clientpositive/llap/smb_cache.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_cache.q.out
@@ -213,6 +213,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: userid is not null (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: userid is not null (type: boolean)
@@ -224,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: fa
+                  filterExpr: userid is not null (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: userid is not null (type: boolean)
@@ -315,6 +317,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: userid is not null (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: userid is not null (type: boolean)
@@ -326,6 +329,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: fa
+                  filterExpr: userid is not null (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: userid is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_14.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_14.q.out
index a1fcd73..3c6ba4e 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_14.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_14.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -75,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -170,6 +172,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -181,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -308,6 +312,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -319,6 +324,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -442,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -453,6 +460,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -559,6 +567,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -570,6 +579,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -700,6 +710,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -711,6 +722,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -829,6 +841,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -840,6 +853,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -937,6 +951,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -956,6 +971,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1057,6 +1073,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1068,6 +1085,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1156,6 +1174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1167,6 +1186,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1265,6 +1285,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1276,6 +1297,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1287,6 +1309,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1403,6 +1426,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1414,6 +1438,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_15.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_15.q.out
index aefb7e2..d122949 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_15.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_15.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -123,6 +124,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -344,6 +346,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -426,6 +429,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -610,6 +614,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key2 is not null and key is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -692,6 +697,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key2 is not null and key is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -876,6 +882,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -958,6 +965,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_17.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_17.q.out
index 91d8258..fe491c5 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_17.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_17.q.out
@@ -193,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -212,6 +213,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -231,6 +233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -250,6 +253,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -269,6 +273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -288,6 +293,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: f
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -307,6 +313,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: g
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out
index 86bec5b..968fa02 100644
--- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out
+++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out
@@ -53,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (ds = '1') (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: int), value (type: string)
@@ -239,6 +240,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((ds = '1') and (key = 238)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 238) (type: boolean)
@@ -420,6 +422,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (ds = '2') (type: boolean)
                   Statistics: Num rows: 2 Data size: 190 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: int), value (type: string)


[47/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer11.q.out b/ql/src/test/results/clientpositive/correlationoptimizer11.q.out
index 57db64a..f0ce411 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer11.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer11.q.out
@@ -55,6 +55,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((partitionid = 1) and key is not null) (type: boolean)
             Statistics: Num rows: 100 Data size: 1070 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -70,6 +71,7 @@ STAGE PLANS:
                   Statistics: Num rows: 100 Data size: 1070 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((partitionid = 2) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -184,6 +186,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((partitionid = 1) and key is not null) (type: boolean)
             Statistics: Num rows: 100 Data size: 1070 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -199,6 +202,7 @@ STAGE PLANS:
                   Statistics: Num rows: 100 Data size: 1070 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((partitionid = 2) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -293,6 +297,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((partitionid = 2) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -308,6 +313,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((partitionid = 2) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -433,6 +439,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((partitionid = 2) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -448,6 +455,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((partitionid = 2) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer12.q.out b/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
index d62fae3..e63595d 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -110,6 +111,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer13.q.out b/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
index de456fe..ada7921 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
@@ -47,6 +47,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((c1 < 120) and c3 is not null) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and c3 is not null) (type: boolean)
@@ -65,6 +66,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: bigint)
           TableScan
             alias: x1
+            filterExpr: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer14.q.out b/ql/src/test/results/clientpositive/correlationoptimizer14.q.out
index da30b48..cca6892 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer14.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer14.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -151,6 +153,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -216,6 +219,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -276,6 +280,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -342,6 +347,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -458,6 +464,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -474,6 +481,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -625,6 +633,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -691,6 +700,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -752,6 +762,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -817,6 +828,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -877,6 +889,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -943,6 +956,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1059,6 +1073,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1075,6 +1090,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1226,6 +1242,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1292,6 +1309,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1412,6 +1430,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1428,6 +1447,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer15.q.out b/ql/src/test/results/clientpositive/correlationoptimizer15.q.out
index ffa3a28..6e3ea64 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer15.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer15.q.out
@@ -25,6 +25,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -112,6 +114,7 @@ STAGE PLANS:
               value expressions: _col1 (type: bigint)
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -248,6 +251,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -263,6 +267,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -278,6 +283,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer5.q.out b/ql/src/test/results/clientpositive/correlationoptimizer5.q.out
index 5fb6c13..aab38e5 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer5.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer5.q.out
@@ -117,6 +117,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: n
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2800 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -133,6 +134,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: m
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -223,6 +225,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -238,6 +241,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 57910 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -324,6 +328,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: n
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2800 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -340,6 +345,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: m
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -355,6 +361,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 2160 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -370,6 +377,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 57910 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -536,6 +544,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:m 
           TableScan
             alias: m
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -554,6 +563,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: n
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2800 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -733,6 +743,7 @@ STAGE PLANS:
         $hdt$_1:$hdt$_2:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 57910 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -751,6 +762,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer7.q.out b/ql/src/test/results/clientpositive/correlationoptimizer7.q.out
index bfb31e0..e03e669 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer7.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer7.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -105,6 +107,7 @@ STAGE PLANS:
         $hdt$_1:yy 
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -214,6 +217,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -232,6 +236,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -248,6 +253,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -397,6 +403,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -415,6 +422,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -470,6 +478,7 @@ STAGE PLANS:
         $hdt$_1:yy 
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -579,6 +588,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -597,6 +607,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -613,6 +624,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer8.q.out b/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
index 9aba806..102cc01 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -82,6 +83,7 @@ STAGE PLANS:
                 value expressions: _col1 (type: bigint)
           TableScan
             alias: x
+            filterExpr: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -222,6 +225,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -240,6 +244,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: bigint)
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -258,6 +263,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: bigint)
           TableScan
             alias: x
+            filterExpr: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
@@ -426,6 +432,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -513,6 +520,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -637,6 +645,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -655,6 +664,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: bigint)
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -850,6 +860,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -904,6 +915,7 @@ STAGE PLANS:
                 value expressions: _col1 (type: bigint)
           TableScan
             alias: x
+            filterExpr: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
@@ -944,6 +956,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -1016,6 +1029,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 20.0D) (type: boolean)
@@ -1107,6 +1121,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer9.q.out b/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
index 69d30c1..f8e75c2 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((c1 < 120) and (c1 > 100)) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and (c1 > 100)) (type: boolean)
@@ -122,6 +123,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: ((c2 > 100) and (c2 < 120)) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c2 < 120) and (c2 > 100)) (type: boolean)
@@ -212,6 +214,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((c1 < 120) and (c1 > 100)) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and (c1 > 100)) (type: boolean)
@@ -230,6 +233,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: bigint)
           TableScan
             alias: x1
+            filterExpr: ((c2 > 100) and (c2 < 120)) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c2 < 120) and (c2 > 100)) (type: boolean)
@@ -365,6 +369,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((c1 < 120) and c3 is not null) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and c3 is not null) (type: boolean)
@@ -439,6 +444,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
@@ -533,6 +539,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((c1 < 120) and c3 is not null) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and c3 is not null) (type: boolean)
@@ -551,6 +558,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: bigint)
           TableScan
             alias: x1
+            filterExpr: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cp_sel.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cp_sel.q.out b/ql/src/test/results/clientpositive/cp_sel.q.out
index dfb1f3d..8222156 100644
--- a/ql/src/test/results/clientpositive/cp_sel.q.out
+++ b/ql/src/test/results/clientpositive/cp_sel.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (11.0D = 11.0D) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
@@ -91,6 +92,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (11.0D = 11.0D) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), 'hello' (type: string), 'world' (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/create_view.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/create_view.q.out b/ql/src/test/results/clientpositive/create_view.q.out
index c7f0145..fa3fb95 100644
--- a/ql/src/test/results/clientpositive/create_view.q.out
+++ b/ql/src/test/results/clientpositive/create_view.q.out
@@ -189,6 +189,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) = 18.0D) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cross_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cross_join.q.out b/ql/src/test/results/clientpositive/cross_join.q.out
index 40fb2e1..b9daa35 100644
--- a/ql/src/test/results/clientpositive/cross_join.q.out
+++ b/ql/src/test/results/clientpositive/cross_join.q.out
@@ -122,6 +122,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -137,6 +138,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -321,6 +323,7 @@ STAGE PLANS:
         $hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -339,6 +342,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cross_join_merge.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cross_join_merge.q.out b/ql/src/test/results/clientpositive/cross_join_merge.q.out
index 3389638..016acc6 100644
--- a/ql/src/test/results/clientpositive/cross_join_merge.q.out
+++ b/ql/src/test/results/clientpositive/cross_join_merge.q.out
@@ -81,6 +81,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -111,6 +113,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -180,6 +184,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -195,6 +200,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -251,6 +257,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -266,6 +273,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -305,6 +313,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src2
+            filterExpr: (UDFToDouble(key) = 5.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 5.0D) (type: boolean)
@@ -444,6 +453,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -459,6 +469,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -474,6 +485,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cross_product_check_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cross_product_check_1.q.out b/ql/src/test/results/clientpositive/cross_product_check_1.q.out
index 7fbcbe4..2d1eb7e 100644
--- a/ql/src/test/results/clientpositive/cross_product_check_1.q.out
+++ b/ql/src/test/results/clientpositive/cross_product_check_1.q.out
@@ -102,6 +102,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -118,6 +119,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -213,6 +215,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -228,6 +231,7 @@ STAGE PLANS:
                   Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -534,6 +538,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -549,6 +554,7 @@ STAGE PLANS:
                   Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 104 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cross_product_check_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cross_product_check_2.q.out b/ql/src/test/results/clientpositive/cross_product_check_2.q.out
index 6143431..61c4074 100644
--- a/ql/src/test/results/clientpositive/cross_product_check_2.q.out
+++ b/ql/src/test/results/clientpositive/cross_product_check_2.q.out
@@ -118,6 +118,7 @@ STAGE PLANS:
         $hdt$_0:d1 
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -148,6 +149,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -218,6 +220,7 @@ STAGE PLANS:
         $hdt$_1:$hdt$_1:d1 
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -236,6 +239,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -627,6 +631,7 @@ STAGE PLANS:
         $hdt$_1:$hdt$_1:d1 
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -645,6 +650,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/ctas_colname.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/ctas_colname.q.out b/ql/src/test/results/clientpositive/ctas_colname.q.out
index b3a4992..ff1fd8d 100644
--- a/ql/src/test/results/clientpositive/ctas_colname.q.out
+++ b/ql/src/test/results/clientpositive/ctas_colname.q.out
@@ -1132,6 +1132,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 9.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 9.0D) (type: boolean)
@@ -1264,6 +1265,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 9.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 9.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_1.q.out b/ql/src/test/results/clientpositive/cte_1.q.out
index ecace0f..0edfeb7 100644
--- a/ql/src/test/results/clientpositive/cte_1.q.out
+++ b/ql/src/test/results/clientpositive/cte_1.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -130,6 +132,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_3.q.out b/ql/src/test/results/clientpositive/cte_3.q.out
index 9f5e0aa..d3884f1 100644
--- a/ql/src/test/results/clientpositive/cte_3.q.out
+++ b/ql/src/test/results/clientpositive/cte_3.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -145,6 +146,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -273,6 +275,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -311,6 +314,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: q2
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_5.q.out b/ql/src/test/results/clientpositive/cte_5.q.out
index 2eb59ca..6789cd3 100644
--- a/ql/src/test/results/clientpositive/cte_5.q.out
+++ b/ql/src/test/results/clientpositive/cte_5.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (UDFToDouble(colnum) = 5.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(colnum) = 5.0D) (type: boolean)
@@ -75,6 +76,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_6.q.out b/ql/src/test/results/clientpositive/cte_6.q.out
index 629b8ba..2bf6589 100644
--- a/ql/src/test/results/clientpositive/cte_6.q.out
+++ b/ql/src/test/results/clientpositive/cte_6.q.out
@@ -16,6 +16,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -59,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_mat_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_mat_1.q.out b/ql/src/test/results/clientpositive/cte_mat_1.q.out
index 6ac57fd..7e84cba 100644
--- a/ql/src/test/results/clientpositive/cte_mat_1.q.out
+++ b/ql/src/test/results/clientpositive/cte_mat_1.q.out
@@ -21,6 +21,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -32,6 +33,7 @@ STAGE PLANS:
                   Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_mat_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_mat_2.q.out b/ql/src/test/results/clientpositive/cte_mat_2.q.out
index 6ac57fd..7e84cba 100644
--- a/ql/src/test/results/clientpositive/cte_mat_2.q.out
+++ b/ql/src/test/results/clientpositive/cte_mat_2.q.out
@@ -21,6 +21,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -32,6 +33,7 @@ STAGE PLANS:
                   Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_mat_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_mat_3.q.out b/ql/src/test/results/clientpositive/cte_mat_3.q.out
index a075a95..3d597c0 100644
--- a/ql/src/test/results/clientpositive/cte_mat_3.q.out
+++ b/ql/src/test/results/clientpositive/cte_mat_3.q.out
@@ -27,6 +27,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -65,6 +66,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -80,6 +82,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_mat_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_mat_4.q.out b/ql/src/test/results/clientpositive/cte_mat_4.q.out
index 63cb2ab..943ca59 100644
--- a/ql/src/test/results/clientpositive/cte_mat_4.q.out
+++ b/ql/src/test/results/clientpositive/cte_mat_4.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -90,6 +91,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -105,6 +107,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -259,6 +262,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -297,6 +301,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -312,6 +317,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cte_mat_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_mat_5.q.out b/ql/src/test/results/clientpositive/cte_mat_5.q.out
index 42590e0..1a6f086 100644
--- a/ql/src/test/results/clientpositive/cte_mat_5.q.out
+++ b/ql/src/test/results/clientpositive/cte_mat_5.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -108,6 +109,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: colnum is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: colnum is not null (type: boolean)
@@ -124,6 +126,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/decimal_join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/decimal_join2.q.out b/ql/src/test/results/clientpositive/decimal_join2.q.out
index ce45274..43610ea 100644
--- a/ql/src/test/results/clientpositive/decimal_join2.q.out
+++ b/ql/src/test/results/clientpositive/decimal_join2.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -73,6 +74,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -226,6 +228,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -244,6 +247,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/decimal_udf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/decimal_udf.q.out b/ql/src/test/results/clientpositive/decimal_udf.q.out
index 044fede..78f4b7d 100644
--- a/ql/src/test/results/clientpositive/decimal_udf.q.out
+++ b/ql/src/test/results/clientpositive/decimal_udf.q.out
@@ -641,6 +641,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: decimal_udf
+          filterExpr: ((key * CAST( value AS decimal(10,0))) > 0) (type: boolean)
           Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((key * CAST( value AS decimal(10,0))) > 0) (type: boolean)
@@ -963,6 +964,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: decimal_udf
+          filterExpr: (key <> 0) (type: boolean)
           Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (key <> 0) (type: boolean)
@@ -1029,6 +1031,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: decimal_udf
+          filterExpr: (value <> 0) (type: boolean)
           Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (value <> 0) (type: boolean)
@@ -1085,6 +1088,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: decimal_udf
+          filterExpr: (value <> 0) (type: boolean)
           Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (value <> 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/decimal_udf2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/decimal_udf2.q.out b/ql/src/test/results/clientpositive/decimal_udf2.q.out
index 2006e48..b804530 100644
--- a/ql/src/test/results/clientpositive/decimal_udf2.q.out
+++ b/ql/src/test/results/clientpositive/decimal_udf2.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: decimal_udf2
+            filterExpr: (key = 10) (type: boolean)
             Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 10) (type: boolean)
@@ -100,6 +101,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: decimal_udf2
+            filterExpr: (key = 10) (type: boolean)
             Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/deleteAnalyze.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/deleteAnalyze.q.out b/ql/src/test/results/clientpositive/deleteAnalyze.q.out
index 0661885..695a269 100644
--- a/ql/src/test/results/clientpositive/deleteAnalyze.q.out
+++ b/ql/src/test/results/clientpositive/deleteAnalyze.q.out
@@ -168,6 +168,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: item is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: item is not null (type: boolean)
@@ -184,6 +185,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: d
+            filterExpr: ((id = 2) and item is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((id = 2) and item is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out b/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
index 0743974..774ed54 100644
--- a/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
@@ -235,6 +235,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: languages
+                  filterExpr: shortname is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out b/ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out
index 28deb79..1278a57 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out
@@ -118,6 +118,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ctimestamp1 is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ctimestamp1 is not null (type: boolean)
@@ -351,6 +352,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ctimestamp2 is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ctimestamp2 is not null (type: boolean)
@@ -488,6 +490,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ctimestamp1 is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ctimestamp1 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out b/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
index 7720db3..e5e1ea9 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
@@ -161,6 +161,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cmv_basetable_n2
+          filterExpr: (a = 3) (type: boolean)
           Filter Operator
             predicate: (a = 3) (type: boolean)
             Select Operator
@@ -214,6 +215,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 6 Data size: 72 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -230,6 +232,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
+                  filterExpr: ((d = 3) and (a = 3)) (type: boolean)
                   Statistics: Num rows: 6 Data size: 96 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -337,6 +340,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 31 Data size: 372 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -353,6 +357,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
+                  filterExpr: ((d = 3) and (a = 3)) (type: boolean)
                   Statistics: Num rows: 31 Data size: 496 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -454,6 +459,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 31 Data size: 22692 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -545,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n2
+                  filterExpr: ((a = 3) and (d = 3)) (type: boolean)
                   Statistics: Num rows: 31 Data size: 496 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out b/ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
index ee9a4af..a79b8e7 100644
--- a/ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
+++ b/ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
@@ -104,6 +104,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: dynamic_part_table
+          filterExpr: ((partcol1 = '1') and (partcol2 = '1')) (type: boolean)
           Statistics: Num rows: 1 Data size: 1 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator
@@ -174,6 +175,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: dynamic_part_table
+          filterExpr: ((partcol1 = '1') and (partcol2 = '1')) (type: boolean)
           Statistics: Num rows: 1 Data size: 1 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator
@@ -291,6 +293,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: dynamic_part_table
+          filterExpr: ((partcol1 = '1') and ((partcol2 = '1') or (partcol2 = '__HIVE_DEFAULT_PARTITION__'))) (type: boolean)
           Statistics: Num rows: 2 Data size: 2 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/empty_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/empty_join.q.out b/ql/src/test/results/clientpositive/empty_join.q.out
index dc473e1..2c0c7d5 100644
--- a/ql/src/test/results/clientpositive/empty_join.q.out
+++ b/ql/src/test/results/clientpositive/empty_join.q.out
@@ -71,6 +71,7 @@ STAGE PLANS:
         $hdt$_1:t2 
           TableScan
             alias: t2
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -87,6 +88,7 @@ STAGE PLANS:
         $hdt$_2:t3 
           TableScan
             alias: t3
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 1 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -106,6 +108,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 1 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out b/ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
index 80ffad6..b1942a1 100644
--- a/ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
+++ b/ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
@@ -546,6 +546,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -567,6 +568,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: t2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/encrypted/encryption_join_with_different_encryption_keys.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/encrypted/encryption_join_with_different_encryption_keys.q.out b/ql/src/test/results/clientpositive/encrypted/encryption_join_with_different_encryption_keys.q.out
index c88a6f3..be3af8f 100644
--- a/ql/src/test/results/clientpositive/encrypted/encryption_join_with_different_encryption_keys.q.out
+++ b/ql/src/test/results/clientpositive/encrypted/encryption_join_with_different_encryption_keys.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -85,6 +86,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: t2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/explain_logical.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/explain_logical.q.out b/ql/src/test/results/clientpositive/explain_logical.q.out
index 6b7e986..c7eb6e9 100644
--- a/ql/src/test/results/clientpositive/explain_logical.q.out
+++ b/ql/src/test/results/clientpositive/explain_logical.q.out
@@ -76,6 +76,7 @@ LOGICAL PLAN:
 srcpart 
   TableScan (TS_0)
     alias: srcpart
+    filterExpr: ds is not null (type: boolean)
     Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
     Select Operator (SEL_2)
       expressions: key (type: string)
@@ -179,6 +180,7 @@ $hdt$_0-subquery1:src
 $hdt$_0-subquery2:srcpart 
   TableScan (TS_2)
     alias: srcpart
+    filterExpr: ds is not null (type: boolean)
     Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
     Select Operator (SEL_4)
       expressions: key (type: string), value (type: string)
@@ -197,6 +199,7 @@ LOGICAL PLAN:
 $hdt$_0:s1 
   TableScan (TS_0)
     alias: s1
+    filterExpr: key is not null (type: boolean)
     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
     Filter Operator (FIL_11)
       predicate: key is not null (type: boolean)
@@ -232,6 +235,7 @@ $hdt$_0:s1
 $hdt$_1:s2 
   TableScan (TS_3)
     alias: s2
+    filterExpr: (key is not null and ds is not null) (type: boolean)
     Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
     Filter Operator (FIL_12)
       predicate: key is not null (type: boolean)
@@ -280,6 +284,7 @@ LOGICAL PLAN:
 srcpart 
   TableScan (TS_0)
     alias: srcpart
+    filterExpr: ds is not null (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
@@ -297,6 +302,7 @@ LOGICAL PLAN:
 $hdt$_0:srcpart 
   TableScan (TS_0)
     alias: srcpart
+    filterExpr: (ds is not null and key is not null) (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
@@ -334,6 +340,7 @@ $hdt$_0:srcpart
 $hdt$_1:src2 
   TableScan (TS_3)
     alias: src2
+    filterExpr: key is not null (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -367,6 +374,7 @@ LOGICAL PLAN:
 $hdt$_0:srcpart 
   TableScan (TS_0)
     alias: srcpart
+    filterExpr: (ds is not null and key is not null) (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
@@ -407,6 +415,7 @@ $hdt$_0:srcpart
 $hdt$_1:src 
   TableScan (TS_3)
     alias: src
+    filterExpr: key is not null (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -435,6 +444,7 @@ $hdt$_1:src
 $hdt$_2:src3 
   TableScan (TS_6)
     alias: src3
+    filterExpr: key is not null (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -484,6 +494,7 @@ LOGICAL PLAN:
 srcpart 
   TableScan (TS_0)
     alias: srcpart
+    filterExpr: (ds = '10') (type: boolean)
     properties:
       insideView TRUE
     Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -504,6 +515,7 @@ LOGICAL PLAN:
 $hdt$_0:src 
   TableScan (TS_0)
     alias: src
+    filterExpr: key is not null (type: boolean)
     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
     Filter Operator (FIL_17)
       predicate: key is not null (type: boolean)
@@ -563,6 +575,7 @@ $hdt$_0:src
 $hdt$_1:s2 
   TableScan (TS_7)
     alias: s2
+    filterExpr: key is not null (type: boolean)
     Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
     Filter Operator (FIL_18)
       predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/explain_outputs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/explain_outputs.q.out b/ql/src/test/results/clientpositive/explain_outputs.q.out
index 86ec9fa..d0fe893 100644
--- a/ql/src/test/results/clientpositive/explain_outputs.q.out
+++ b/ql/src/test/results/clientpositive/explain_outputs.q.out
@@ -49,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n22
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2_n14
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -154,6 +156,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n22
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2/2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -169,6 +172,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2/2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2_n14
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 5/5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -261,6 +265,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n22
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -276,6 +281,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2_n14
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)


[38/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
index 7b99494..f87fe36 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
@@ -398,7 +398,7 @@ Stage-0
                     Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col4, _col1
                     Select Operator [SEL_21] (rows=1 width=20)
                       Output:["_col1","_col4"]
-                      Merge Join Operator [MERGEJOIN_39] (rows=1 width=20)
+                      Merge Join Operator [MERGEJOIN_57] (rows=1 width=20)
                         Conds:RS_17._col0=RS_18._col0(Inner),RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col3","_col4","_col6"],residual filter predicates:{((_col3 > 0) or (_col1 >= 0))} {((_col3 + _col6) >= 0)}
                       <-Map 1 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_17]
@@ -476,7 +476,7 @@ Stage-0
                     Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
                     Select Operator [SEL_21] (rows=1 width=20)
                       Output:["_col1","_col4"]
-                      Merge Join Operator [MERGEJOIN_39] (rows=1 width=20)
+                      Merge Join Operator [MERGEJOIN_57] (rows=1 width=20)
                         Conds:RS_17._col0=RS_18._col0(Inner),RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col3","_col4","_col6"],residual filter predicates:{((_col1 >= 1) or (_col4 >= 1L))} {((UDFToLong(_col1) + _col4) >= 0)} {((_col3 + _col6) >= 0)}
                       <-Map 1 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_17]
@@ -547,7 +547,7 @@ Stage-0
               Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
               Select Operator [SEL_21] (rows=1 width=20)
                 Output:["_col1","_col4"]
-                Merge Join Operator [MERGEJOIN_36] (rows=1 width=20)
+                Merge Join Operator [MERGEJOIN_54] (rows=1 width=20)
                   Conds:RS_17._col0=RS_18._col0(Inner),RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col3","_col4","_col6"],residual filter predicates:{((_col3 > 0) or (_col1 >= 0))} {((_col3 + _col6) >= 2)}
                 <-Map 1 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_17]
@@ -623,7 +623,7 @@ Stage-0
                   Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
                   Select Operator [SEL_21] (rows=1 width=20)
                     Output:["_col1","_col4"]
-                    Merge Join Operator [MERGEJOIN_38] (rows=1 width=20)
+                    Merge Join Operator [MERGEJOIN_56] (rows=1 width=20)
                       Conds:RS_17._col0=RS_18._col0(Inner),RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col3","_col4","_col6"],residual filter predicates:{((_col1 >= 1) or (_col4 >= 1L))} {((UDFToLong(_col1) + _col4) >= 0)} {((_col3 + _col6) >= 0)}
                     <-Map 1 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_17]
@@ -694,7 +694,7 @@ Stage-0
               Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
               Select Operator [SEL_21] (rows=1 width=20)
                 Output:["_col1","_col4"]
-                Merge Join Operator [MERGEJOIN_36] (rows=1 width=20)
+                Merge Join Operator [MERGEJOIN_54] (rows=1 width=20)
                   Conds:RS_17._col0=RS_18._col0(Inner),RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col3","_col4","_col6"],residual filter predicates:{((_col3 > 0) or (_col1 >= 0))} {((_col3 + _col6) >= 0)}
                 <-Map 1 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_17]
@@ -921,7 +921,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_10]
-        Merge Join Operator [MERGEJOIN_15] (rows=18 width=85)
+        Merge Join Operator [MERGEJOIN_25] (rows=18 width=85)
           Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0"]
         <-Map 1 [SIMPLE_EDGE] llap
           SHUFFLE [RS_6]
@@ -959,7 +959,7 @@ Stage-0
       File Output Operator [FS_8]
         Select Operator [SEL_7] (rows=80 width=7)
           Output:["_col0","_col1"]
-          Merge Join Operator [MERGEJOIN_11] (rows=80 width=7)
+          Merge Join Operator [MERGEJOIN_16] (rows=80 width=7)
             Conds:RS_4._col0=RS_5._col0(Left Outer),Output:["_col1","_col3"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_4]
@@ -1027,7 +1027,7 @@ Stage-0
       File Output Operator [FS_14]
         Select Operator [SEL_13] (rows=194 width=100)
           Output:["_col0","_col1","_col2","_col3","_col4"]
-          Merge Join Operator [MERGEJOIN_24] (rows=194 width=100)
+          Merge Join Operator [MERGEJOIN_42] (rows=194 width=100)
             Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col1","_col2","_col4","_col5","_col6"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_9]
@@ -1074,7 +1074,7 @@ Stage-0
       File Output Operator [FS_14]
         Select Operator [SEL_13] (rows=194 width=177)
           Output:["_col0","_col1","_col2","_col3"]
-          Merge Join Operator [MERGEJOIN_24] (rows=194 width=177)
+          Merge Join Operator [MERGEJOIN_42] (rows=194 width=177)
             Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col0","_col1","_col3","_col4"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_9]
@@ -1121,7 +1121,7 @@ Stage-0
       File Output Operator [FS_14]
         Select Operator [SEL_13] (rows=40 width=101)
           Output:["_col0","_col1","_col2","_col3","_col4"]
-          Merge Join Operator [MERGEJOIN_24] (rows=40 width=101)
+          Merge Join Operator [MERGEJOIN_42] (rows=40 width=101)
             Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6"],residual filter predicates:{((_col1 + _col4) = 2)} {((_col1 > 0) or (_col6 >= 0))}
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_9]
@@ -1168,7 +1168,7 @@ Stage-0
       File Output Operator [FS_14]
         Select Operator [SEL_13] (rows=40 width=101)
           Output:["_col0","_col1","_col2","_col3","_col4"]
-          Merge Join Operator [MERGEJOIN_24] (rows=40 width=101)
+          Merge Join Operator [MERGEJOIN_42] (rows=40 width=101)
             Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6"],residual filter predicates:{((_col1 + _col4) = 2)} {((_col1 > 0) or (_col6 >= 0))}
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_9]
@@ -1372,7 +1372,7 @@ Stage-0
                       Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col4, _col6
                       Select Operator [SEL_33] (rows=2 width=20)
                         Output:["_col4","_col6"]
-                        Merge Join Operator [MERGEJOIN_54] (rows=2 width=20)
+                        Merge Join Operator [MERGEJOIN_64] (rows=2 width=20)
                           Conds:RS_29._col0=RS_30._col0(Inner),RS_30._col0=RS_31._col0(Inner),Output:["_col1","_col3","_col4","_col6"],residual filter predicates:{((_col3 + _col1) >= 0)} {((_col3 > 0) or (_col6 >= 0))}
                         <-Map 10 [SIMPLE_EDGE] llap
                           SHUFFLE [RS_31]
@@ -1449,7 +1449,7 @@ Stage-0
       File Output Operator [FS_12]
         Select Operator [SEL_11] (rows=9 width=4)
           Output:["_col0"]
-          Merge Join Operator [MERGEJOIN_17] (rows=9 width=4)
+          Merge Join Operator [MERGEJOIN_27] (rows=9 width=4)
             Conds:RS_8._col0=RS_9._col0(Left Semi),Output:["_col1"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_8]
@@ -1489,7 +1489,7 @@ Stage-0
       File Output Operator [FS_18]
         Select Operator [SEL_17] (rows=14 width=93)
           Output:["_col0","_col1","_col2"]
-          Merge Join Operator [MERGEJOIN_28] (rows=14 width=93)
+          Merge Join Operator [MERGEJOIN_46] (rows=14 width=93)
             Conds:RS_13._col0=RS_14._col0(Left Semi),RS_13._col0=RS_15._col0(Left Semi),Output:["_col0","_col1","_col2"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_13]
@@ -1555,7 +1555,7 @@ Stage-0
                   PartitionCols:_col0, _col1
                   Group By Operator [GBY_28] (rows=1 width=101)
                     Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col0
-                    Merge Join Operator [MERGEJOIN_44] (rows=1 width=93)
+                    Merge Join Operator [MERGEJOIN_62] (rows=1 width=93)
                       Conds:RS_23._col0=RS_24._col0(Left Semi),RS_23._col0=RS_25._col0(Left Semi),Output:["_col0","_col1"]
                     <-Map 8 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_25]
@@ -1717,7 +1717,7 @@ Stage-0
           Output:["_col0","_col1"]
           Filter Operator [FIL_17] (rows=365 width=179)
             predicate:_col3 is null
-            Merge Join Operator [MERGEJOIN_22] (rows=500 width=179)
+            Merge Join Operator [MERGEJOIN_27] (rows=500 width=179)
               Conds:RS_14._col1=RS_15._col0(Left Outer),Output:["_col0","_col1","_col3"]
             <-Map 1 [SIMPLE_EDGE] llap
               SHUFFLE [RS_14]
@@ -1779,7 +1779,7 @@ Stage-0
           Output:["_col0","_col1"]
           Filter Operator [FIL_16] (rows=185 width=179)
             predicate:_col4 is null
-            Merge Join Operator [MERGEJOIN_21] (rows=250 width=179)
+            Merge Join Operator [MERGEJOIN_31] (rows=250 width=179)
               Conds:GBY_4._col0, _col1=SEL_12._col0, _col1(Left Outer),Output:["_col0","_col1","_col4"]
             <-Select Operator [SEL_12] (rows=83 width=182)
                 Output:["_col0","_col1","_col2"]
@@ -1845,7 +1845,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_12]
-        Merge Join Operator [MERGEJOIN_17] (rows=131 width=178)
+        Merge Join Operator [MERGEJOIN_37] (rows=131 width=178)
           Conds:RS_8._col0, _col1=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1"]
         <-Map 1 [SIMPLE_EDGE] llap
           SHUFFLE [RS_8]
@@ -1897,7 +1897,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_12]
-        Merge Join Operator [MERGEJOIN_17] (rows=131 width=178)
+        Merge Join Operator [MERGEJOIN_37] (rows=131 width=178)
           Conds:RS_8._col0, _col1=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1"]
         <-Map 1 [SIMPLE_EDGE] llap
           SHUFFLE [RS_8]
@@ -1939,7 +1939,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_12]
-        Merge Join Operator [MERGEJOIN_17] (rows=131 width=178)
+        Merge Join Operator [MERGEJOIN_27] (rows=131 width=178)
           Conds:RS_8._col0=RS_9._col0(Left Semi),Output:["_col0","_col1"]
         <-Map 1 [SIMPLE_EDGE] llap
           SHUFFLE [RS_8]
@@ -1987,7 +1987,7 @@ Stage-0
       File Output Operator [FS_22]
         Select Operator [SEL_21] (rows=7 width=8)
           Output:["_col0","_col1"]
-          Merge Join Operator [MERGEJOIN_32] (rows=7 width=8)
+          Merge Join Operator [MERGEJOIN_52] (rows=7 width=8)
             Conds:RS_18._col1, _col4=RS_19._col0, _col1(Left Semi),Output:["_col0","_col3"]
           <-Map 6 [SIMPLE_EDGE] llap
             SHUFFLE [RS_19]
@@ -2003,7 +2003,7 @@ Stage-0
           <-Reducer 3 [SIMPLE_EDGE] llap
             SHUFFLE [RS_18]
               PartitionCols:_col1, _col4
-              Merge Join Operator [MERGEJOIN_31] (rows=7 width=16)
+              Merge Join Operator [MERGEJOIN_51] (rows=7 width=16)
                 Conds:RS_13._col0=RS_14._col1(Inner),Output:["_col0","_col1","_col3","_col4"]
               <-Map 5 [SIMPLE_EDGE] llap
                 SHUFFLE [RS_14]
@@ -2055,7 +2055,7 @@ Stage-0
     Stage-1
       Reducer 4 llap
       File Output Operator [FS_31]
-        Merge Join Operator [MERGEJOIN_44] (rows=32 width=186)
+        Merge Join Operator [MERGEJOIN_54] (rows=32 width=186)
           Conds:RS_27._col2=RS_28._col0(Left Semi),Output:["_col0","_col1","_col2"]
         <-Reducer 3 [SIMPLE_EDGE] llap
           SHUFFLE [RS_27]
@@ -2069,7 +2069,7 @@ Stage-0
                   PartitionCols:_col0, _col1
                   Group By Operator [GBY_12] (rows=65 width=186)
                     Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col0, _col1
-                    Merge Join Operator [MERGEJOIN_43] (rows=131 width=178)
+                    Merge Join Operator [MERGEJOIN_53] (rows=131 width=178)
                       Conds:RS_8._col0=RS_9._col0(Left Semi),Output:["_col0","_col1"]
                     <-Map 5 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_9]
@@ -2138,7 +2138,7 @@ Stage-0
     Stage-1
       Reducer 3 llap
       File Output Operator [FS_21]
-        Merge Join Operator [MERGEJOIN_26] (rows=6 width=227)
+        Merge Join Operator [MERGEJOIN_31] (rows=6 width=227)
           Conds:RS_17._col1=RS_18._col0(Left Semi),Output:["_col0","_col1","_col2"]
         <-Reducer 2 [SIMPLE_EDGE] llap
           SHUFFLE [RS_17]
@@ -2212,12 +2212,12 @@ Stage-0
               Output:["_col0","_col1"]
               Filter Operator [FIL_22] (rows=500 width=195)
                 predicate:((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2)))
-                Merge Join Operator [MERGEJOIN_31] (rows=500 width=195)
+                Merge Join Operator [MERGEJOIN_36] (rows=500 width=195)
                   Conds:RS_19._col0=RS_20._col0(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5"]
                 <-Reducer 2 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_19]
                     PartitionCols:_col0
-                    Merge Join Operator [MERGEJOIN_30] (rows=500 width=194)
+                    Merge Join Operator [MERGEJOIN_35] (rows=500 width=194)
                       Conds:(Inner),Output:["_col0","_col1","_col2","_col3"]
                     <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
                       PARTITION_ONLY_SHUFFLE [RS_16]
@@ -2249,7 +2249,9 @@ Stage-0
                           PartitionCols:_col0
                           Group By Operator [GBY_12] (rows=83 width=87)
                             Output:["_col0"],keys:key
-                             Please refer to the previous Filter Operator [FIL_28]
+                            Filter Operator [FIL_29] (rows=166 width=87)
+                              predicate:(key > '2')
+                               Please refer to the previous TableScan [TS_2]
 
 PREHOOK: query: explain select p_mfgr, b.p_name, p_size 
 from part b 
@@ -2285,12 +2287,12 @@ Stage-0
           Output:["_col0","_col1","_col2"]
           Filter Operator [FIL_22] (rows=13 width=231)
             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
-            Merge Join Operator [MERGEJOIN_30] (rows=26 width=230)
+            Merge Join Operator [MERGEJOIN_45] (rows=26 width=230)
               Conds:RS_19._col0, _col1=RS_20._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col8"]
             <-Reducer 2 [SIMPLE_EDGE] llap
               SHUFFLE [RS_19]
                 PartitionCols:_col0, _col1
-                Merge Join Operator [MERGEJOIN_29] (rows=26 width=229)
+                Merge Join Operator [MERGEJOIN_44] (rows=26 width=229)
                   Conds:RS_16._col1=RS_17._col0(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5"]
                 <-Map 1 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_16]
@@ -2451,12 +2453,12 @@ Stage-0
               Output:["_col0","_col1"]
               Filter Operator [FIL_32] (rows=2 width=116)
                 predicate:CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END
-                Merge Join Operator [MERGEJOIN_43] (rows=5 width=114)
+                Merge Join Operator [MERGEJOIN_48] (rows=5 width=114)
                   Conds:RS_29._col0, _col1=RS_30._col0, _col1(Left Outer),Output:["_col0","_col1","_col3","_col4","_col7"]
                 <-Reducer 3 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_29]
                     PartitionCols:_col0, _col1
-                    Merge Join Operator [MERGEJOIN_42] (rows=5 width=112)
+                    Merge Join Operator [MERGEJOIN_47] (rows=5 width=112)
                       Conds:RS_26._col1=RS_27._col0(Left Outer),Output:["_col0","_col1","_col3","_col4"]
                     <-Reducer 2 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_26]
@@ -2660,7 +2662,7 @@ Stage-0
                     PartitionCols:_col0
                     Group By Operator [GBY_10] (rows=16 width=94)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                      Merge Join Operator [MERGEJOIN_24] (rows=39 width=86)
+                      Merge Join Operator [MERGEJOIN_34] (rows=39 width=86)
                         Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0"]
                       <-Map 1 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_6]
@@ -2721,7 +2723,7 @@ Stage-0
                     PartitionCols:_col0
                     Group By Operator [GBY_10] (rows=16 width=94)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                      Merge Join Operator [MERGEJOIN_24] (rows=39 width=86)
+                      Merge Join Operator [MERGEJOIN_34] (rows=39 width=86)
                         Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0"]
                       <-Map 1 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_6]
@@ -2782,7 +2784,7 @@ Stage-0
                     PartitionCols:_col0
                     Group By Operator [GBY_10] (rows=16 width=94)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                      Map Join Operator [MAPJOIN_24] (rows=39 width=86)
+                      Map Join Operator [MAPJOIN_34] (rows=39 width=86)
                         Conds:RS_6._col0=SEL_5._col0(Inner),Output:["_col0"]
                       <-Map 1 [BROADCAST_EDGE] llap
                         BROADCAST [RS_6]
@@ -2840,7 +2842,7 @@ Stage-0
                     PartitionCols:_col0
                     Group By Operator [GBY_12] (rows=9 width=94)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                      Merge Join Operator [MERGEJOIN_26] (rows=19 width=86)
+                      Merge Join Operator [MERGEJOIN_36] (rows=19 width=86)
                         Conds:RS_8._col0=RS_9._col0(Left Semi),Output:["_col0"]
                       <-Map 1 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_8]
@@ -3431,7 +3433,7 @@ Stage-0
       File Output Operator [FS_11]
         Select Operator [SEL_10] (rows=2 width=8)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-          Merge Join Operator [MERGEJOIN_21] (rows=2 width=8)
+          Merge Join Operator [MERGEJOIN_39] (rows=2 width=8)
             Conds:RS_4.key=RS_6.value(Inner),RS_4.key=RS_8.key(Inner),Output:["_col0","_col1","_col5","_col6","_col10","_col11"]
           <-Map 1 [SIMPLE_EDGE] llap
             SHUFFLE [RS_4]
@@ -3935,7 +3937,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_12]
-        Merge Join Operator [MERGEJOIN_17] (rows=1 width=206)
+        Merge Join Operator [MERGEJOIN_27] (rows=1 width=206)
           Conds:RS_8._col1=RS_9._col0(Left Semi),Output:["_col0","_col1"]
         <-Map 1 [SIMPLE_EDGE] llap
           SHUFFLE [RS_8]
@@ -3989,8 +3991,8 @@ Stage-0
     Stage-1
       Map 1 llap
       File Output Operator [FS_16]
-        Map Join Operator [MAPJOIN_26] (rows=805 width=10)
-          Conds:MAPJOIN_25._col1=RS_13._col0(Inner),Output:["_col0"]
+        Map Join Operator [MAPJOIN_46] (rows=805 width=10)
+          Conds:MAPJOIN_45._col1=RS_13._col0(Inner),Output:["_col0"]
         <-Map 3 [BROADCAST_EDGE] llap
           BROADCAST [RS_13]
             PartitionCols:_col0
@@ -4000,7 +4002,7 @@ Stage-0
                 predicate:(value > 'val_450')
                 TableScan [TS_6] (rows=500 width=10)
                   default@src,src,Tbl:COMPLETE,Col:NONE,Output:["value"]
-        <-Map Join Operator [MAPJOIN_25] (rows=732 width=10)
+        <-Map Join Operator [MAPJOIN_45] (rows=732 width=10)
             Conds:SEL_2._col0=RS_10._col0(Inner),Output:["_col0","_col1"]
           <-Map 2 [BROADCAST_EDGE] llap
             BROADCAST [RS_10]
@@ -4033,8 +4035,8 @@ Stage-0
     Stage-1
       Map 1 llap
       File Output Operator [FS_16]
-        Map Join Operator [MAPJOIN_26] (rows=805 width=10)
-          Conds:MAPJOIN_25._col1=RS_13._col0(Inner),Output:["_col0"]
+        Map Join Operator [MAPJOIN_46] (rows=805 width=10)
+          Conds:MAPJOIN_45._col1=RS_13._col0(Inner),Output:["_col0"]
         <-Map 3 [BROADCAST_EDGE] llap
           BROADCAST [RS_13]
             PartitionCols:_col0
@@ -4044,7 +4046,7 @@ Stage-0
                 predicate:(value > 'val_450')
                 TableScan [TS_6] (rows=500 width=10)
                   default@src,src,Tbl:COMPLETE,Col:NONE,Output:["value"]
-        <-Map Join Operator [MAPJOIN_25] (rows=732 width=10)
+        <-Map Join Operator [MAPJOIN_45] (rows=732 width=10)
             Conds:SEL_2._col0=RS_10._col0(Inner),Output:["_col0","_col1"]
           <-Map 2 [BROADCAST_EDGE] llap
             BROADCAST [RS_10]
@@ -4156,7 +4158,7 @@ Stage-0
                   <-Map 1 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_8]
                       PartitionCols:_col2
-                      Map Join Operator [MAPJOIN_21] (rows=27 width=223)
+                      Map Join Operator [MAPJOIN_31] (rows=27 width=223)
                         Conds:FIL_19.p_partkey=RS_5.p_partkey(Inner),Output:["_col1","_col2","_col5"]
                       <-Map 4 [BROADCAST_EDGE] llap
                         BROADCAST [RS_5]
@@ -4358,7 +4360,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_11]
-        Map Join Operator [MAPJOIN_16] (rows=27 width=619)
+        Map Join Operator [MAPJOIN_21] (rows=27 width=619)
           Conds:FIL_14._col0=RS_8.p_partkey(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
         <-Map 3 [BROADCAST_EDGE] llap
           BROADCAST [RS_8]
@@ -4689,7 +4691,7 @@ Stage-0
             <-Reducer 2 [SIMPLE_EDGE] llap
               SHUFFLE [RS_10]
                 PartitionCols:_col2
-                Map Join Operator [MAPJOIN_20] (rows=27 width=231)
+                Map Join Operator [MAPJOIN_25] (rows=27 width=231)
                   Conds:FIL_18._col0=RS_8.p_partkey(Inner),Output:["_col1","_col2","_col5","_col7"]
                 <-Map 4 [BROADCAST_EDGE] llap
                   BROADCAST [RS_8]
@@ -5284,7 +5286,7 @@ Stage-3
                         table:{"name:":"default.dest_j1_n16"}
                         Select Operator [SEL_9] (rows=791 width=95)
                           Output:["_col0","_col1"]
-                          Merge Join Operator [MERGEJOIN_24] (rows=791 width=178)
+                          Merge Join Operator [MERGEJOIN_34] (rows=791 width=178)
                             Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col2"]
                           <-Map 1 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_6]
@@ -5345,8 +5347,8 @@ Stage-0
     Stage-1
       Map 3 llap
       File Output Operator [FS_21]
-        Map Join Operator [MAPJOIN_37] (rows=2 width=404)
-          Conds:RS_16._col0=RS_17._col0(Inner),RS_17._col0=MAPJOIN_36._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+        Map Join Operator [MAPJOIN_67] (rows=2 width=404)
+          Conds:RS_16._col0=RS_17._col0(Inner),RS_17._col0=MAPJOIN_66._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
         <-Map 1 [BROADCAST_EDGE] llap
           BROADCAST [RS_16]
             PartitionCols:_col0
@@ -5365,7 +5367,7 @@ Stage-0
                 predicate:key is not null
                 TableScan [TS_3] (rows=1 width=368)
                   default@t2_n70,b,Tbl:COMPLETE,Col:NONE,Output:["key","val"]
-        <-Map Join Operator [MAPJOIN_36] (rows=1 width=404)
+        <-Map Join Operator [MAPJOIN_66] (rows=1 width=404)
             Conds:SEL_8._col0=RS_13._col0(Inner),Output:["_col0","_col1","_col2","_col3"]
           <-Map 4 [BROADCAST_EDGE] llap
             BROADCAST [RS_13]
@@ -5406,8 +5408,8 @@ Stage-0
     Stage-1
       Map 3 llap
       File Output Operator [FS_21]
-        Map Join Operator [MAPJOIN_37] (rows=2 width=404)
-          Conds:RS_16._col0=RS_17._col0(Inner),RS_17._col0=MAPJOIN_36._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+        Map Join Operator [MAPJOIN_67] (rows=2 width=404)
+          Conds:RS_16._col0=RS_17._col0(Inner),RS_17._col0=MAPJOIN_66._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
         <-Map 1 [BROADCAST_EDGE] llap
           BROADCAST [RS_16]
             PartitionCols:_col0
@@ -5426,7 +5428,7 @@ Stage-0
                 predicate:key is not null
                 TableScan [TS_3] (rows=1 width=368)
                   default@t2_n70,b,Tbl:COMPLETE,Col:NONE,Output:["key","val"]
-        <-Map Join Operator [MAPJOIN_36] (rows=1 width=404)
+        <-Map Join Operator [MAPJOIN_66] (rows=1 width=404)
             Conds:SEL_8._col0=RS_13._col0(Inner),Output:["_col0","_col1","_col2","_col3"]
           <-Map 4 [BROADCAST_EDGE] llap
             BROADCAST [RS_13]
@@ -5472,7 +5474,7 @@ Stage-0
                 PartitionCols:rand()
                 Select Operator [SEL_9] (rows=550 width=87)
                   Output:["_col0","_col1","_col2"]
-                  Map Join Operator [MAPJOIN_21] (rows=550 width=87)
+                  Map Join Operator [MAPJOIN_26] (rows=550 width=87)
                     Conds:RS_6.UDFToDouble(_col0)=SEL_5.(UDFToDouble(_col0) + 1.0D)(Inner),Output:["_col0","_col1","_col2"]
                   <-Map 1 [BROADCAST_EDGE] llap
                     BROADCAST [RS_6]
@@ -5526,7 +5528,7 @@ Stage-0
     Stage-1
       Reducer 2 llap
       File Output Operator [FS_10]
-        Merge Join Operator [MERGEJOIN_15] (rows=791 width=356)
+        Merge Join Operator [MERGEJOIN_25] (rows=791 width=356)
           Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col0","_col1","_col2","_col3"]
         <-Map 1 [SIMPLE_EDGE] llap
           SHUFFLE [RS_6]
@@ -5575,7 +5577,7 @@ Stage-0
                 PartitionCols:rand()
                 Select Operator [SEL_9] (rows=1 width=202)
                   Output:["_col0","_col1"]
-                  Map Join Operator [MAPJOIN_21] (rows=1 width=202)
+                  Map Join Operator [MAPJOIN_31] (rows=1 width=202)
                     Conds:SEL_2._col0=RS_7._col0(Inner),Output:["_col0","_col1"]
                   <-Map 4 [BROADCAST_EDGE] llap
                     BROADCAST [RS_7]
@@ -5621,7 +5623,7 @@ Stage-0
                 PartitionCols:rand()
                 Select Operator [SEL_9] (rows=1 width=202)
                   Output:["_col0","_col1"]
-                  Map Join Operator [MAPJOIN_21] (rows=1 width=202)
+                  Map Join Operator [MAPJOIN_31] (rows=1 width=202)
                     Conds:RS_6._col0=SEL_5._col0(Inner),Output:["_col0","_col2"]
                   <-Map 1 [BROADCAST_EDGE] llap
                     BROADCAST [RS_6]
@@ -5665,7 +5667,7 @@ Stage-0
             <-Map 1 [CUSTOM_SIMPLE_EDGE] llap
               PARTITION_ONLY_SHUFFLE [RS_10]
                 PartitionCols:rand()
-                Map Join Operator [MAPJOIN_20] (rows=1 width=202)
+                Map Join Operator [MAPJOIN_30] (rows=1 width=202)
                   Conds:SEL_2._col0=RS_7._col0(Inner)
                 <-Map 4 [BROADCAST_EDGE] llap
                   BROADCAST [RS_7]
@@ -5711,7 +5713,7 @@ Stage-0
                 PartitionCols:rand()
                 Select Operator [SEL_7] (rows=1 width=404)
                   Output:["_col0","_col1","_col2"]
-                  Map Join Operator [MAPJOIN_17] (rows=1 width=404)
+                  Map Join Operator [MAPJOIN_22] (rows=1 width=404)
                     Conds:SEL_1.UDFToDouble(_col0)=RS_5.(UDFToDouble(_col0) + 1.0D)(Left Outer),Output:["_col0","_col1","_col2"]
                   <-Map 4 [BROADCAST_EDGE] llap
                     BROADCAST [RS_5]


[40/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cross_product_check_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cross_product_check_1.q.out b/ql/src/test/results/clientpositive/llap/cross_product_check_1.q.out
index b1a44b0..615ce83 100644
--- a/ql/src/test/results/clientpositive/llap/cross_product_check_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/cross_product_check_1.q.out
@@ -100,7 +100,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[21][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from B_n6 d1 join B_n6 d2 on d1.key = d2.key join A_n8
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from B_n6 d1 join B_n6 d2 on d1.key = d2.key join A_n8
@@ -122,6 +122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -142,6 +143,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -213,7 +215,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from A_n8 join 
          (select d1.key 
           from B_n6 d1 join B_n6 d2 on d1.key = d2.key
@@ -257,6 +259,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -276,6 +279,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -469,7 +473,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from 
 (select A_n8.key from A_n8  group by key) ss join
 (select d1.key from B_n6 d1 join B_n6 d2 on d1.key = d2.key where 1 = 1 group by d1.key) od1
@@ -518,6 +522,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -537,6 +542,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cross_product_check_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cross_product_check_2.q.out b/ql/src/test/results/clientpositive/llap/cross_product_check_2.q.out
index 221bff1..89af13c 100644
--- a/ql/src/test/results/clientpositive/llap/cross_product_check_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/cross_product_check_2.q.out
@@ -100,7 +100,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[21][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from B_n2 d1 join B_n2 d2 on d1.key = d2.key join A_n2
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from B_n2 d1 join B_n2 d2 on d1.key = d2.key join A_n2
@@ -122,6 +122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -150,6 +151,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -206,7 +208,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from A_n2 join 
          (select d1.key 
           from B_n2 d1 join B_n2 d2 on d1.key = d2.key 
@@ -250,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -284,6 +287,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -456,7 +460,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from 
 (select A_n2.key from A_n2 group by key) ss join 
 (select d1.key from B_n2 d1 join B_n2 d2 on d1.key = d2.key where 1 = 1 group by d1.key) od1
@@ -505,6 +509,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -539,6 +544,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cte_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cte_1.q.out b/ql/src/test/results/clientpositive/llap/cte_1.q.out
index d98862c..0a76503 100644
--- a/ql/src/test/results/clientpositive/llap/cte_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/cte_1.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (key = '5') (type: boolean)
           Filter Operator
             predicate: (key = '5') (type: boolean)
             Select Operator
@@ -58,6 +59,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (key = '5') (type: boolean)
           Filter Operator
             predicate: (key = '5') (type: boolean)
             Select Operator
@@ -98,6 +100,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (key = '5') (type: boolean)
           Filter Operator
             predicate: (key = '5') (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cte_mat_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cte_mat_3.q.out b/ql/src/test/results/clientpositive/llap/cte_mat_3.q.out
index d5efe61..c90eb21 100644
--- a/ql/src/test/results/clientpositive/llap/cte_mat_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/cte_mat_3.q.out
@@ -21,23 +21,23 @@ Stage-3
     Stage-4
       Reducer 3 llap
       File Output Operator [FS_18]
-        Merge Join Operator [MERGEJOIN_23] (rows=1 width=202)
-          Conds:RS_26._col0=RS_29._col0(Inner),Output:["_col0"]
+        Merge Join Operator [MERGEJOIN_33] (rows=1 width=202)
+          Conds:RS_36._col0=RS_39._col0(Inner),Output:["_col0"]
         <-Map 2 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_26]
+          SHUFFLE [RS_36]
             PartitionCols:_col0
-            Select Operator [SEL_25] (rows=1 width=184)
+            Select Operator [SEL_35] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_24] (rows=1 width=184)
+              Filter Operator [FIL_34] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_8] (rows=1 width=184)
                   default@q1,a,Tbl:COMPLETE,Col:NONE,Output:["key"]
         <-Map 4 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_29]
+          SHUFFLE [RS_39]
             PartitionCols:_col0
-            Select Operator [SEL_28] (rows=1 width=184)
+            Select Operator [SEL_38] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_27] (rows=1 width=184)
+              Filter Operator [FIL_37] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_11] (rows=1 width=184)
                   default@q1,b,Tbl:COMPLETE,Col:NONE,Output:["key"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cte_mat_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cte_mat_4.q.out b/ql/src/test/results/clientpositive/llap/cte_mat_4.q.out
index d2917ee..1ad8585 100644
--- a/ql/src/test/results/clientpositive/llap/cte_mat_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/cte_mat_4.q.out
@@ -46,23 +46,23 @@ Stage-3
     Stage-4
       Reducer 3 llap
       File Output Operator [FS_18]
-        Merge Join Operator [MERGEJOIN_23] (rows=1 width=202)
-          Conds:RS_26._col0=RS_29._col0(Inner),Output:["_col0"]
+        Merge Join Operator [MERGEJOIN_33] (rows=1 width=202)
+          Conds:RS_36._col0=RS_39._col0(Inner),Output:["_col0"]
         <-Map 2 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_26]
+          SHUFFLE [RS_36]
             PartitionCols:_col0
-            Select Operator [SEL_25] (rows=1 width=184)
+            Select Operator [SEL_35] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_24] (rows=1 width=184)
+              Filter Operator [FIL_34] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_8] (rows=1 width=184)
                   default@q1,a,Tbl:COMPLETE,Col:NONE,Output:["key"]
         <-Map 4 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_29]
+          SHUFFLE [RS_39]
             PartitionCols:_col0
-            Select Operator [SEL_28] (rows=1 width=184)
+            Select Operator [SEL_38] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_27] (rows=1 width=184)
+              Filter Operator [FIL_37] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_11] (rows=1 width=184)
                   default@q1,b,Tbl:COMPLETE,Col:NONE,Output:["key"]
@@ -164,23 +164,23 @@ Stage-3
     Stage-4
       Reducer 3 llap
       File Output Operator [FS_18]
-        Merge Join Operator [MERGEJOIN_23] (rows=1 width=202)
-          Conds:RS_26._col0=RS_29._col0(Inner),Output:["_col0"]
+        Merge Join Operator [MERGEJOIN_33] (rows=1 width=202)
+          Conds:RS_36._col0=RS_39._col0(Inner),Output:["_col0"]
         <-Map 2 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_26]
+          SHUFFLE [RS_36]
             PartitionCols:_col0
-            Select Operator [SEL_25] (rows=1 width=184)
+            Select Operator [SEL_35] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_24] (rows=1 width=184)
+              Filter Operator [FIL_34] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_8] (rows=1 width=184)
                   default@q1,a,Tbl:COMPLETE,Col:NONE,Output:["key"]
         <-Map 4 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_29]
+          SHUFFLE [RS_39]
             PartitionCols:_col0
-            Select Operator [SEL_28] (rows=1 width=184)
+            Select Operator [SEL_38] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_27] (rows=1 width=184)
+              Filter Operator [FIL_37] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_11] (rows=1 width=184)
                   default@q1,b,Tbl:COMPLETE,Col:NONE,Output:["key"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cte_mat_5.q.out b/ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
index f08cd09..bccedcd 100644
--- a/ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
@@ -64,23 +64,23 @@ Stage-3
     Stage-4
       Reducer 3 llap
       File Output Operator [FS_18]
-        Merge Join Operator [MERGEJOIN_23] (rows=1 width=4)
-          Conds:RS_26.UDFToDouble(_col0)=RS_29.UDFToDouble(_col0)(Inner),Output:["_col0"]
+        Merge Join Operator [MERGEJOIN_33] (rows=1 width=4)
+          Conds:RS_36.UDFToDouble(_col0)=RS_39.UDFToDouble(_col0)(Inner),Output:["_col0"]
         <-Map 2 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_26]
+          SHUFFLE [RS_36]
             PartitionCols:UDFToDouble(_col0)
-            Select Operator [SEL_25] (rows=1 width=4)
+            Select Operator [SEL_35] (rows=1 width=4)
               Output:["_col0"]
-              Filter Operator [FIL_24] (rows=1 width=4)
+              Filter Operator [FIL_34] (rows=1 width=4)
                 predicate:colnum is not null
                 TableScan [TS_8] (rows=1 width=4)
                   mydb@q1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["colnum"]
         <-Map 4 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_29]
+          SHUFFLE [RS_39]
             PartitionCols:UDFToDouble(_col0)
-            Select Operator [SEL_28] (rows=1 width=184)
+            Select Operator [SEL_38] (rows=1 width=184)
               Output:["_col0"]
-              Filter Operator [FIL_27] (rows=1 width=184)
+              Filter Operator [FIL_37] (rows=1 width=184)
                 predicate:key is not null
                 TableScan [TS_11] (rows=1 width=184)
                   default@q1,b,Tbl:COMPLETE,Col:NONE,Output:["key"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/deleteAnalyze.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/deleteAnalyze.q.out b/ql/src/test/results/clientpositive/llap/deleteAnalyze.q.out
index bf82b32..8abc460 100644
--- a/ql/src/test/results/clientpositive/llap/deleteAnalyze.q.out
+++ b/ql/src/test/results/clientpositive/llap/deleteAnalyze.q.out
@@ -171,23 +171,23 @@ Stage-0
       File Output Operator [FS_10]
         Select Operator [SEL_9] (rows=1 width=228)
           Output:["_col0","_col1","_col2"]
-          Merge Join Operator [MERGEJOIN_15] (rows=1 width=228)
-            Conds:RS_18._col1=RS_21._col3(Inner),Output:["_col0","_col3","_col4"]
+          Merge Join Operator [MERGEJOIN_25] (rows=1 width=228)
+            Conds:RS_28._col1=RS_31._col3(Inner),Output:["_col0","_col3","_col4"]
           <-Map 1 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_18]
+            SHUFFLE [RS_28]
               PartitionCols:_col1
-              Select Operator [SEL_17] (rows=1 width=88)
+              Select Operator [SEL_27] (rows=1 width=88)
                 Output:["_col0","_col1"]
-                Filter Operator [FIL_16] (rows=1 width=88)
+                Filter Operator [FIL_26] (rows=1 width=88)
                   predicate:item is not null
                   TableScan [TS_0] (rows=1 width=88)
                     default@testdeci2_n0,s,Tbl:COMPLETE,Col:COMPLETE,Output:["id","item"]
           <-Map 3 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_21]
+            SHUFFLE [RS_31]
               PartitionCols:_col3
-              Select Operator [SEL_20] (rows=1 width=312)
+              Select Operator [SEL_30] (rows=1 width=312)
                 Output:["_col1","_col2","_col3"]
-                Filter Operator [FIL_19] (rows=1 width=312)
+                Filter Operator [FIL_29] (rows=1 width=312)
                   predicate:((id = 2) and item is not null)
                   TableScan [TS_3] (rows=1 width=312)
                     default@testdeci2_n0,d,Tbl:COMPLETE,Col:COMPLETE,Output:["id","amount","sales_tax","item"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
index 29be9a4..3b72fc4 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
@@ -173,6 +173,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -253,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -350,6 +352,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -428,6 +431,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -574,6 +578,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -654,6 +659,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -751,6 +757,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -829,6 +836,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1362,6 +1370,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1475,6 +1484,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1655,6 +1665,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1774,6 +1785,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -2163,6 +2175,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -2276,6 +2289,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_orc
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
index 600f452..21fc2c5 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
@@ -130,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -210,6 +211,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -307,6 +309,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -385,6 +388,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -531,6 +535,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -611,6 +616,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -708,6 +714,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -786,6 +793,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1319,6 +1327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1432,6 +1441,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1612,6 +1622,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -1731,6 +1742,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -2120,6 +2132,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -2233,6 +2246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t is null or (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t = 27Y) or t is null) (type: boolean)
@@ -2605,6 +2619,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (s = 'foo') (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s = 'foo') (type: boolean)
@@ -2685,6 +2700,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (t = 27Y) (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (t = 27Y) (type: boolean)
@@ -2765,6 +2781,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: (i = 100) (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i = 100) (type: boolean)
@@ -2845,6 +2862,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: ((i = 100) and (t = 27Y)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i = 100) and (t = 27Y)) (type: boolean)
@@ -2925,6 +2943,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: ((i = 100) and (s = 'foo')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i = 100) and (s = 'foo')) (type: boolean)
@@ -3005,6 +3024,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: ((t = 27Y) and (s = 'foo')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s = 'foo') and (t = 27Y)) (type: boolean)
@@ -3085,6 +3105,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: over1k_n3
+                  filterExpr: ((i = 100) and (t = 27Y) and (s = 'foo')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i = 100) and (s = 'foo') and (t = 27Y)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization2.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization2.q.out
index 0b57fbc..c730427 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization2.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization2.q.out
@@ -90,6 +90,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss_n0
+                  filterExpr: ((ss_sold_date_sk >= 2452617) and (ss_sold_date_sk <= 2452638)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_sold_date_sk <= 2452638) and (ss_sold_date_sk >= 2452617)) (type: boolean)
@@ -334,6 +335,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss_n0
+                  filterExpr: ((ss_sold_date_sk >= 2452617) and (ss_sold_date_sk <= 2452638)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_sold_date_sk <= 2452638) and (ss_sold_date_sk >= 2452617)) (type: boolean)
@@ -573,6 +575,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss_n0
+                  filterExpr: ((ss_sold_date_sk >= 2452617) and (ss_sold_date_sk <= 2452638)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_sold_date_sk <= 2452638) and (ss_sold_date_sk >= 2452617)) (type: boolean)
@@ -837,6 +840,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss_n0
+                  filterExpr: ((ss_sold_date_sk >= 2452617) and (ss_sold_date_sk <= 2452638)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_sold_date_sk <= 2452638) and (ss_sold_date_sk >= 2452617)) (type: boolean)
@@ -1151,6 +1155,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss_orc
+                  filterExpr: ((ss_sold_date_sk >= 2452617) and (ss_sold_date_sk <= 2452638)) (type: boolean)
                   Statistics: Num rows: 24 Data size: 288 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ss_sold_date_sk <= 2452638) and (ss_sold_date_sk >= 2452617)) (type: boolean)
@@ -1415,6 +1420,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss_orc
+                  filterExpr: ((ss_sold_date_sk >= 2452617) and (ss_sold_date_sk <= 2452638)) (type: boolean)
                   Statistics: Num rows: 24 Data size: 288 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ss_sold_date_sk <= 2452638) and (ss_sold_date_sk >= 2452617)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
index 49e5e25..7a9e200 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization_acid.q.out
@@ -94,6 +94,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_part
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08')) (type: boolean)
                   Statistics: Num rows: 160 Data size: 61001 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -189,6 +190,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_part
+                  filterExpr: ((key = 'foo') and (ds) IN ('2008-04-08')) (type: boolean)
                   Statistics: Num rows: 159 Data size: 104317 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -380,6 +382,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_part_sdpo
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08')) (type: boolean)
                   Statistics: Num rows: 176 Data size: 67063 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -475,6 +478,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_part_sdpo
+                  filterExpr: ((key = 'foo') and (ds) IN ('2008-04-08')) (type: boolean)
                   Statistics: Num rows: 171 Data size: 112152 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -675,6 +679,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
                   Statistics: Num rows: 157 Data size: 60527 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -771,6 +776,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr >= 11)) (type: boolean)
                   Statistics: Num rows: 1600 Data size: 156727 Basic stats: PARTIAL Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -897,6 +903,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part
+                  filterExpr: (value = 'bar') (type: boolean)
                   Statistics: Num rows: 1600 Data size: 451127 Basic stats: PARTIAL Column stats: PARTIAL
                   Filter Operator
                     predicate: (value = 'bar') (type: boolean)
@@ -1095,6 +1102,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part_sdpo
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
                   Statistics: Num rows: 157 Data size: 60527 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -1191,6 +1199,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part_sdpo
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr >= 11)) (type: boolean)
                   Statistics: Num rows: 1600 Data size: 156727 Basic stats: PARTIAL Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -1317,6 +1326,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part_sdpo
+                  filterExpr: (value = 'bar') (type: boolean)
                   Statistics: Num rows: 1600 Data size: 451127 Basic stats: PARTIAL Column stats: PARTIAL
                   Filter Operator
                     predicate: (value = 'bar') (type: boolean)
@@ -1515,6 +1525,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part_sdpo_no_cp
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
                   Statistics: Num rows: 97 Data size: 82922 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)
@@ -1613,6 +1624,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_2l_part_sdpo_no_cp
+                  filterExpr: ((key = 'foo') and (ds = '2008-04-08') and (hr >= 11)) (type: boolean)
                   Statistics: Num rows: 1600 Data size: 598664 Basic stats: PARTIAL Column stats: PARTIAL
                   Filter Operator
                     predicate: (key = 'foo') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/empty_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/empty_join.q.out b/ql/src/test/results/clientpositive/llap/empty_join.q.out
index bd3381b..f7fba0b 100644
--- a/ql/src/test/results/clientpositive/llap/empty_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/empty_join.q.out
@@ -62,30 +62,30 @@ Stage-0
     limit:-1
     Stage-1
       Map 1 vectorized, llap
-      File Output Operator [FS_34]
-        Map Join Operator [MAPJOIN_33] (rows=2 width=4)
-          Conds:SEL_32._col0=RS_27._col0(Left Outer),SEL_32._col0=RS_30._col0(Inner),Output:["_col0","_col1","_col2"]
+      File Output Operator [FS_46]
+        Map Join Operator [MAPJOIN_45] (rows=2 width=4)
+          Conds:SEL_44._col0=RS_39._col0(Left Outer),SEL_44._col0=RS_42._col0(Inner),Output:["_col0","_col1","_col2"]
         <-Map 2 [BROADCAST_EDGE] vectorized, llap
-          BROADCAST [RS_27]
+          BROADCAST [RS_39]
             PartitionCols:_col0
-            Select Operator [SEL_26] (rows=1 width=4)
+            Select Operator [SEL_38] (rows=1 width=4)
               Output:["_col0"]
-              Filter Operator [FIL_25] (rows=1 width=4)
+              Filter Operator [FIL_37] (rows=1 width=4)
                 predicate:id is not null
                 TableScan [TS_3] (rows=1 width=4)
                   default@test_2_n2,t2,Tbl:COMPLETE,Col:NONE,Output:["id"]
         <-Map 3 [BROADCAST_EDGE] vectorized, llap
-          BROADCAST [RS_30]
+          BROADCAST [RS_42]
             PartitionCols:_col0
-            Select Operator [SEL_29] (rows=1 width=4)
+            Select Operator [SEL_41] (rows=1 width=4)
               Output:["_col0"]
-              Filter Operator [FIL_28] (rows=1 width=4)
+              Filter Operator [FIL_40] (rows=1 width=4)
                 predicate:id is not null
                 TableScan [TS_6] (rows=1 width=4)
                   default@test_3_n0,t3,Tbl:COMPLETE,Col:NONE,Output:["id"]
-        <-Select Operator [SEL_32] (rows=1 width=4)
+        <-Select Operator [SEL_44] (rows=1 width=4)
             Output:["_col0"]
-            Filter Operator [FIL_31] (rows=1 width=4)
+            Filter Operator [FIL_43] (rows=1 width=4)
               predicate:id is not null
               TableScan [TS_0] (rows=1 width=4)
                 default@test_1_n2,t1,Tbl:COMPLETE,Col:NONE,Output:["id"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out b/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
index 7a880dd..8a5a326 100644
--- a/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
+++ b/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
@@ -255,6 +255,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: enforce_constraint((key is not null and value is not null)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: enforce_constraint((key is not null and value is not null)) (type: boolean)
@@ -866,6 +867,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: enforce_constraint((key is not null and value is not null)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: enforce_constraint((key is not null and value is not null)) (type: boolean)
@@ -1475,6 +1477,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: enforce_constraint((key is not null and value is not null)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: enforce_constraint((key is not null and value is not null)) (type: boolean)
@@ -3233,6 +3236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_uami_n1
+                  filterExpr: (((de = 109.23) or (de = 119.23)) and enforce_constraint(vc is not null)) (type: boolean)
                   Statistics: Num rows: 281 Data size: 87904 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((de = 109.23) or (de = 119.23)) and enforce_constraint(vc is not null)) (type: boolean)
@@ -3326,6 +3330,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_uami_n1
+                  filterExpr: ((de = 3.14) and enforce_constraint((i is not null and vc is not null))) (type: boolean)
                   Statistics: Num rows: 320 Data size: 100040 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((de = 3.14) and enforce_constraint((i is not null and vc is not null))) (type: boolean)
@@ -5238,6 +5243,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -5254,6 +5260,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)


[43/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_thrift.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_thrift.q.out b/ql/src/test/results/clientpositive/join_thrift.q.out
index 8748a5b..578aaff 100644
--- a/ql/src/test/results/clientpositive/join_thrift.q.out
+++ b/ql/src/test/results/clientpositive/join_thrift.q.out
@@ -36,6 +36,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s1
+            filterExpr: aint is not null (type: boolean)
             Statistics: Num rows: 11 Data size: 30700 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: aint is not null (type: boolean)
@@ -47,6 +48,7 @@ STAGE PLANS:
                 Statistics: Num rows: 11 Data size: 30700 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: s2
+            filterExpr: aint is not null (type: boolean)
             Statistics: Num rows: 11 Data size: 30700 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: aint is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_vc.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_vc.q.out b/ql/src/test/results/clientpositive/join_vc.q.out
index 109ac59..7ae3801 100644
--- a/ql/src/test/results/clientpositive/join_vc.q.out
+++ b/ql/src/test/results/clientpositive/join_vc.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -29,6 +30,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -70,6 +72,7 @@ STAGE PLANS:
               Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t3
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -166,6 +169,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -181,6 +185,7 @@ STAGE PLANS:
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_view.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_view.q.out b/ql/src/test/results/clientpositive/join_view.q.out
index b8bf1ea..5fc5c6f 100644
--- a/ql/src/test/results/clientpositive/join_view.q.out
+++ b/ql/src/test/results/clientpositive/join_view.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: invites
+            filterExpr: (ds = '2011-09-01') (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -68,6 +69,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string)
           TableScan
             alias: invites2
+            filterExpr: (ds = '2011-09-01') (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/lateral_view_cp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/lateral_view_cp.q.out b/ql/src/test/results/clientpositive/lateral_view_cp.q.out
index b58da18..fec8c81 100644
--- a/ql/src/test/results/clientpositive/lateral_view_cp.q.out
+++ b/ql/src/test/results/clientpositive/lateral_view_cp.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -46,6 +47,7 @@ STAGE PLANS:
                 Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/lateral_view_onview.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/lateral_view_onview.q.out b/ql/src/test/results/clientpositive/lateral_view_onview.q.out
index 4de4f2e..1ba94da 100644
--- a/ql/src/test/results/clientpositive/lateral_view_onview.q.out
+++ b/ql/src/test/results/clientpositive/lateral_view_onview.q.out
@@ -672,6 +672,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: lv_table1_n0
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 28000 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)
@@ -684,6 +685,7 @@ STAGE PLANS:
                 value expressions: c3 (type: int), c4 (type: char(1)), c5 (type: string), c6 (type: string), c7 (type: string), c8 (type: string), c9 (type: string), c10 (type: string), c11 (type: string), c12 (type: string), c13 (type: string)
           TableScan
             alias: lv_table2
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5500 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/lateral_view_ppd.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/lateral_view_ppd.q.out b/ql/src/test/results/clientpositive/lateral_view_ppd.q.out
index 2e3adab..25c94e2 100644
--- a/ql/src/test/results/clientpositive/lateral_view_ppd.q.out
+++ b/ql/src/test/results/clientpositive/lateral_view_ppd.q.out
@@ -12,6 +12,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '0') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '0') (type: boolean)
@@ -95,6 +96,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '0') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '0') (type: boolean)
@@ -175,6 +177,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((ds = '2008-04-08') and (hr = '12')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Lateral View Forward
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -266,6 +269,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '0') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '0') (type: boolean)
@@ -427,6 +431,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '0') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '0') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/leftsemijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/leftsemijoin.q.out b/ql/src/test/results/clientpositive/leftsemijoin.q.out
index 77d50a6..f8ae36b 100644
--- a/ql/src/test/results/clientpositive/leftsemijoin.q.out
+++ b/ql/src/test/results/clientpositive/leftsemijoin.q.out
@@ -124,6 +124,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -170,6 +171,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: part
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/limit_pushdown_negative.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/limit_pushdown_negative.q.out b/ql/src/test/results/clientpositive/limit_pushdown_negative.q.out
index 054305d..20bcd4b 100644
--- a/ql/src/test/results/clientpositive/limit_pushdown_negative.q.out
+++ b/ql/src/test/results/clientpositive/limit_pushdown_negative.q.out
@@ -12,6 +12,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -28,6 +29,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
index d2308bb..6a959a8 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
@@ -29,6 +29,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -459,6 +460,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_dynamic_part_n0
+          filterExpr: ((ds = '2008-04-08') and (hr = '11') and (key = '484')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
index 550d378..c3eccac 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
@@ -342,6 +342,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_static_part_n3
+          filterExpr: ((ds = '2008-04-08') and (hr = '11') and (value = 'val_466')) (type: boolean)
           Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
index 07b07fb..2f42296 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
@@ -350,6 +350,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_mul_col_n0
+          filterExpr: ((col2 = '466') and (col4 = 'val_466')) (type: boolean)
           Statistics: Num rows: 500 Data size: 6312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -443,6 +444,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_mul_col_n0
+          filterExpr: ((col2 = '382') and (col4 = 'val_382')) (type: boolean)
           Statistics: Num rows: 500 Data size: 6312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
index 4d1224b..e067e06 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
@@ -350,6 +350,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_mul_col
+          filterExpr: ((col2 = '466') and (col4 = 'val_466')) (type: boolean)
           Statistics: Num rows: 500 Data size: 6312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_14.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_14.q.out
index ed23b0d..afe7678 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_14.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_14.q.out
@@ -297,6 +297,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: list_bucketing
+            filterExpr: (key = '484') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
index ea621b8..18aa8d5 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -415,6 +416,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_static_part_n4
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
index 3a6b27b..e70cfca 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
@@ -23,6 +23,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -407,6 +408,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_static_part_n1
+          filterExpr: ((ds = '2008-04-08') and (hr = '11') and (key = '484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
index 823e9e1..fb20e69 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -357,6 +358,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -854,6 +856,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_static_part_n2
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
index d71834f..fd5962f 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
@@ -29,6 +29,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -511,6 +512,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_dynamic_part_n1
+          filterExpr: ((key = '103') and (value = 'val_103')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
index cd3228e..709b40c 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -402,6 +403,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -997,6 +999,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_dynamic_part_n3
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
index a325337..d12c9d9 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -402,6 +403,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -997,6 +999,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_dynamic_part
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_8.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
index 3aa3940..9939448 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -560,6 +561,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_dynamic_part_n2
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
index 78f1d8e..11d19fd 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -357,6 +358,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -854,6 +856,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: list_bucketing_static_part_n0
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
index 40455b7..b6192a1 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -223,6 +224,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily
+          filterExpr: ((key = '238') and (value = 'val_238')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -309,6 +311,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily
+          filterExpr: ((ds = '1') and (hr = '4') and (value = '3')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -393,6 +396,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily
+          filterExpr: ((ds = '1') and (hr = '4') and (key = '495')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
index a7cf4e9..8a34b3d 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n2
+          filterExpr: ((ds = '1') and (hr = '4') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -223,6 +224,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n2
+          filterExpr: ((ds = '1') and (hr = '4') and (key = '406')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -311,6 +313,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n2
+          filterExpr: ((ds = '1') and (hr = '4') and (((key = '484') and (value = 'val_484')) or ((key = '238') and (value = 'val_238')))) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
index 273f2d0..93bbf58 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
@@ -248,6 +248,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n3
+          filterExpr: ((ds = '1') and (hr = '1') and (key = '145')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -360,6 +361,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n3
+          filterExpr: ((key = '484') and (value = 'val_484')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -447,6 +449,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n3
+          filterExpr: ((key = '327') and (value = 'val_327')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
index e2db72b..83545be 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
@@ -186,6 +186,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n4
+          filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
           Statistics: Num rows: 1 Data size: 80 Basic stats: PARTIAL Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -268,6 +269,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n4
+          filterExpr: ((ds = '1') and (x = 495)) (type: boolean)
           Statistics: Num rows: 1 Data size: 80 Basic stats: PARTIAL Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -350,6 +352,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n4
+          filterExpr: ((ds = '1') and (x = 1)) (type: boolean)
           Statistics: Num rows: 1 Data size: 80 Basic stats: PARTIAL Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
index 2537d94..b9407f7 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
@@ -189,6 +189,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n5
+          filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
           Statistics: Num rows: 1 Data size: 240 Basic stats: PARTIAL Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -271,6 +272,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n5
+          filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
           Statistics: Num rows: 1 Data size: 240 Basic stats: PARTIAL Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -308,6 +310,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: fact_daily_n5
+            filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
             Statistics: Num rows: 1 Data size: 240 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -447,6 +450,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: fact_daily_n5
+            filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
             Statistics: Num rows: 1 Data size: 240 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
index 59aeda8..fcb5c4c 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
@@ -209,6 +209,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: fact_daily_n0
+          filterExpr: ((ds = '1') and (x <> 86)) (type: boolean)
           Statistics: Num rows: 2 Data size: 1170 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out b/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
index f9a17a5..36a6a5d 100644
--- a/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_no_buckets.q.out
@@ -119,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart_acid
+                  filterExpr: ((UDFToInteger(key)) IN (413, 43) and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (UDFToInteger(key)) IN (413, 43) (type: boolean)
@@ -302,6 +303,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart_acid
+                  filterExpr: (key) IN ('1001', '213', '43') (type: boolean)
                   Statistics: Num rows: 2015 Data size: 916825 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key) IN ('1001', '213', '43') (type: boolean)
@@ -620,6 +622,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart_acidb
+                  filterExpr: ((UDFToInteger(key)) IN (413, 43) and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (UDFToInteger(key)) IN (413, 43) (type: boolean)
@@ -803,6 +806,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart_acidb
+                  filterExpr: (key) IN ('1001', '213', '43') (type: boolean)
                   Statistics: Num rows: 2015 Data size: 916825 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: (key) IN ('1001', '213', '43') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/autoColumnStats_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/autoColumnStats_1.q.out b/ql/src/test/results/clientpositive/llap/autoColumnStats_1.q.out
index a55f5b2..53d27e9 100644
--- a/ql/src/test/results/clientpositive/llap/autoColumnStats_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/autoColumnStats_1.q.out
@@ -654,6 +654,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter5_n0
+          filterExpr: (dt = 'a') (type: boolean)
           Select Operator
             expressions: col1 (type: string), 'a' (type: string)
             outputColumnNames: _col0, _col1

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/autoColumnStats_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/autoColumnStats_2.q.out b/ql/src/test/results/clientpositive/llap/autoColumnStats_2.q.out
index 7f0867a..8e5f2ad 100644
--- a/ql/src/test/results/clientpositive/llap/autoColumnStats_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/autoColumnStats_2.q.out
@@ -658,6 +658,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter5
+          filterExpr: (dt = 'a') (type: boolean)
           Select Operator
             expressions: col1 (type: string), 'a' (type: string)
             outputColumnNames: _col0, _col1
@@ -775,6 +776,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter5
+          filterExpr: (dt = 'a') (type: boolean)
           Select Operator
             expressions: col1 (type: string), 'a' (type: string)
             outputColumnNames: _col0, _col1

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_join0.q.out b/ql/src/test/results/clientpositive/llap/auto_join0.q.out
index a42001e..10aafa5 100644
--- a/ql/src/test/results/clientpositive/llap/auto_join0.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_join0.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_join1.q.out b/ql/src/test/results/clientpositive/llap/auto_join1.q.out
index 17987a7..badc717 100644
--- a/ql/src/test/results/clientpositive/llap/auto_join1.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_join1.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_join21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_join21.q.out b/ql/src/test/results/clientpositive/llap/auto_join21.q.out
index 5889720..c74fab7 100644
--- a/ql/src/test/results/clientpositive/llap/auto_join21.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_join21.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: (key > 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_join29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_join29.q.out b/ql/src/test/results/clientpositive/llap/auto_join29.q.out
index 3891ea0..9db7cb3 100644
--- a/ql/src/test/results/clientpositive/llap/auto_join29.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_join29.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: (key > 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 10) (type: boolean)
@@ -649,6 +650,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: (key > 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 10) (type: boolean)
@@ -665,6 +667,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -1254,6 +1257,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -1283,6 +1287,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -1884,6 +1889,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -2511,6 +2517,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2527,6 +2534,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: ((key < 10) and (key > 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2543,6 +2551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2628,6 +2637,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2644,6 +2654,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: ((key < 10) and (key > 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3278,6 +3289,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: ((key < 10) and (key > 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3294,6 +3306,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3358,6 +3371,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -3374,6 +3388,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -3409,6 +3424,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -3495,6 +3511,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3526,6 +3543,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: ((key < 10) and (key > 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3542,6 +3560,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src3
+                  filterExpr: ((key > 10) and (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 10) and (key > 10)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_join30.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_join30.q.out b/ql/src/test/results/clientpositive/llap/auto_join30.q.out
index 1f95237..874511a 100644
--- a/ql/src/test/results/clientpositive/llap/auto_join30.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_join30.q.out
@@ -31,6 +31,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -392,6 +394,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -411,6 +414,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -447,6 +451,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_smb_mapjoin_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_smb_mapjoin_14.q.out b/ql/src/test/results/clientpositive/llap/auto_smb_mapjoin_14.q.out
index 5489137..21273c1 100644
--- a/ql/src/test/results/clientpositive/llap/auto_smb_mapjoin_14.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_smb_mapjoin_14.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -75,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -174,6 +176,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -185,6 +188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -330,6 +334,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -341,6 +346,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -374,6 +380,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -385,6 +392,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -547,6 +555,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -558,6 +567,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -664,6 +674,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -675,6 +686,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -805,6 +817,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -816,6 +829,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -934,6 +948,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -945,6 +960,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -1042,6 +1058,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1061,6 +1078,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1162,6 +1180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1173,6 +1192,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1271,6 +1291,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1282,6 +1303,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1293,6 +1315,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1409,6 +1432,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1420,6 +1444,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1549,6 +1574,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1560,6 +1586,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1834,6 +1861,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1845,6 +1873,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
index fd6ae5f..14b2cd0 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
@@ -119,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -186,6 +187,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -396,6 +398,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -463,6 +466,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -673,6 +677,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -740,6 +745,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_10.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_10.q.out
index c2a273b..9e07f1c 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_10.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_10.q.out
@@ -81,6 +81,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -100,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -236,6 +239,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -247,6 +251,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
index b8bd10c..560db39 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
@@ -118,6 +118,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -197,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -422,6 +424,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -489,6 +492,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -699,6 +703,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -762,6 +767,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -968,6 +974,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 1508 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -1031,6 +1038,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -1144,6 +1152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
index d09b19e..63d52da 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
@@ -134,7 +134,7 @@ POSTHOOK: query: load data local inpath '../../data/files/auto_sortmerge_join/sm
 POSTHOOK: type: LOAD
 #### A masked pattern was here ####
 POSTHOOK: Output: default@bucket_medium@ds=2008-04-08
-Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[54][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain extended select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
 PREHOOK: type: QUERY
 POSTHOOK: query: explain extended select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
@@ -156,6 +156,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 552 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -223,6 +224,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -290,6 +292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 39008 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -554,7 +557,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[54][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
 PREHOOK: type: QUERY
 PREHOOK: Input: default@bucket_big_n15

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_13.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_13.q.out
index 34c9abc..11d72ef 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_13.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_13.q.out
@@ -87,6 +87,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -98,6 +99,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -358,6 +360,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -369,6 +372,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -629,6 +633,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -640,6 +645,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
index bd51c86..1fe234e 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
@@ -192,6 +192,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bucket_big_n17
+                  filterExpr: (day = 'day1') (type: boolean)
                   Statistics: Num rows: 5 Data size: 495 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: bigint), value (type: string)
@@ -209,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bucket_small_n17
+                  filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
                   Statistics: Num rows: 236 Data size: 23364 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: bigint), value (type: string)
@@ -344,6 +346,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bucket_small_n17
+                  filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
                   Statistics: Num rows: 236 Data size: 23364 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: bigint), value (type: string)
@@ -352,6 +355,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bucket_big_n17
+                  filterExpr: (day = 'day1') (type: boolean)
                   Statistics: Num rows: 5 Data size: 495 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: bigint), value (type: string)
@@ -586,6 +590,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bucket_small_n17
+                  filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
                   Statistics: Num rows: 236 Data size: 23364 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: bigint), value (type: string)
@@ -594,6 +599,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bucket_big_n17
+                  filterExpr: (day = 'day1') (type: boolean)
                   Statistics: Num rows: 5 Data size: 495 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: bigint), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
index 075cbc1..dd7d321 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
@@ -101,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 2996 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -168,6 +169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 112 Data size: 74872 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -378,6 +380,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 2996 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -445,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 112 Data size: 74872 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
index 4bfc89e..d6a7239 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
@@ -101,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 3016 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -218,6 +219,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 120 Data size: 79280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -378,6 +380,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 3016 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -495,6 +498,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 120 Data size: 79280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -655,6 +659,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 3016 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -772,6 +777,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 120 Data size: 79280 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator


[37/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_2.q.out b/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
index ea32d34..3675d8d 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
@@ -194,37 +194,37 @@ Stage-0
       File Output Operator [FS_16]
         Select Operator [SEL_15] (rows=63 width=268)
           Output:["_col0","_col1","_col2"]
-          Merge Join Operator [MERGEJOIN_26] (rows=63 width=268)
-            Conds:RS_12._col3=RS_35._col0(Inner),Output:["_col1","_col2","_col4"]
+          Merge Join Operator [MERGEJOIN_46] (rows=63 width=268)
+            Conds:RS_12._col3=RS_55._col0(Inner),Output:["_col1","_col2","_col4"]
           <-Map 5 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_35]
+            SHUFFLE [RS_55]
               PartitionCols:_col0
-              Select Operator [SEL_34] (rows=500 width=369)
+              Select Operator [SEL_54] (rows=500 width=369)
                 Output:["_col0"]
-                Filter Operator [FIL_33] (rows=500 width=91)
+                Filter Operator [FIL_53] (rows=500 width=91)
                   predicate:value is not null
                   TableScan [TS_6] (rows=500 width=91)
                     default@srcpart,z,Tbl:COMPLETE,Col:COMPLETE,Output:["value"]
           <-Reducer 2 [SIMPLE_EDGE] llap
             SHUFFLE [RS_12]
               PartitionCols:_col3
-              Merge Join Operator [MERGEJOIN_25] (rows=39 width=266)
-                Conds:RS_29._col0=RS_32._col0(Inner),Output:["_col1","_col2","_col3"]
+              Merge Join Operator [MERGEJOIN_45] (rows=39 width=266)
+                Conds:RS_49._col0=RS_52._col0(Inner),Output:["_col1","_col2","_col3"]
               <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_29]
+                SHUFFLE [RS_49]
                   PartitionCols:_col0
-                  Select Operator [SEL_28] (rows=500 width=178)
+                  Select Operator [SEL_48] (rows=500 width=178)
                     Output:["_col0","_col1"]
-                    Filter Operator [FIL_27] (rows=500 width=178)
+                    Filter Operator [FIL_47] (rows=500 width=178)
                       predicate:key is not null
                       TableScan [TS_0] (rows=500 width=178)
                         default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
               <-Map 4 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_32]
+                SHUFFLE [RS_52]
                   PartitionCols:_col0
-                  Select Operator [SEL_31] (rows=25 width=175)
+                  Select Operator [SEL_51] (rows=25 width=175)
                     Output:["_col0","_col1"]
-                    Filter Operator [FIL_30] (rows=25 width=175)
+                    Filter Operator [FIL_50] (rows=25 width=175)
                       predicate:(key is not null and value is not null)
                       TableScan [TS_3] (rows=25 width=175)
                         default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
@@ -303,121 +303,121 @@ Stage-0
     limit:100
     Stage-1
       Reducer 5 vectorized, llap
-      File Output Operator [FS_126]
-        Limit [LIM_125] (rows=12 width=285)
+      File Output Operator [FS_216]
+        Limit [LIM_215] (rows=12 width=285)
           Number of rows:100
-          Select Operator [SEL_124] (rows=12 width=285)
+          Select Operator [SEL_214] (rows=12 width=285)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_123]
-              Group By Operator [GBY_122] (rows=12 width=285)
+            SHUFFLE [RS_213]
+              Group By Operator [GBY_212] (rows=12 width=285)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2
               <-Reducer 3 [SIMPLE_EDGE] llap
                 SHUFFLE [RS_49]
                   PartitionCols:_col0, _col1, _col2
                   Group By Operator [GBY_48] (rows=12 width=285)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col11)","count(_col21)","count(_col3)"],keys:_col10, _col20, _col2
-                    Merge Join Operator [MERGEJOIN_97] (rows=9275 width=534)
+                    Merge Join Operator [MERGEJOIN_187] (rows=9275 width=534)
                       Conds:RS_44._col1, _col3=RS_45._col15, _col17(Inner),Output:["_col2","_col3","_col10","_col11","_col20","_col21"]
                     <-Reducer 10 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_45]
                         PartitionCols:_col15, _col17
                         Select Operator [SEL_40] (rows=420 width=447)
                           Output:["_col4","_col5","_col14","_col15","_col17"]
-                          Merge Join Operator [MERGEJOIN_96] (rows=420 width=447)
+                          Merge Join Operator [MERGEJOIN_186] (rows=420 width=447)
                             Conds:RS_37._col4, _col2=RS_38._col4, _col2(Inner),Output:["_col0","_col1","_col14","_col15","_col17"]
                           <-Reducer 11 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_38]
                               PartitionCols:_col4, _col2
-                              Merge Join Operator [MERGEJOIN_95] (rows=10 width=356)
-                                Conds:RS_121._col0=RS_109._col0(Inner),Output:["_col2","_col3","_col4","_col5"]
+                              Merge Join Operator [MERGEJOIN_185] (rows=10 width=356)
+                                Conds:RS_211._col0=RS_199._col0(Inner),Output:["_col2","_col3","_col4","_col5"]
                               <-Map 6 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_109]
+                                SHUFFLE [RS_199]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_106] (rows=25 width=178)
+                                  Select Operator [SEL_196] (rows=25 width=178)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_103] (rows=25 width=178)
+                                    Filter Operator [FIL_193] (rows=25 width=178)
                                       predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
                                       TableScan [TS_3] (rows=500 width=178)
                                         default@src,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                               <-Map 15 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_121]
+                                SHUFFLE [RS_211]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_120] (rows=7 width=531)
+                                  Select Operator [SEL_210] (rows=7 width=531)
                                     Output:["_col0","_col2","_col3","_col4","_col5"]
-                                    Filter Operator [FIL_119] (rows=7 width=534)
+                                    Filter Operator [FIL_209] (rows=7 width=534)
                                       predicate:((v1 = 'srv1') and k1 is not null and k2 is not null and k3 is not null and v2 is not null and v3 is not null)
                                       TableScan [TS_18] (rows=85 width=534)
                                         default@sr,sr,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"]
                           <-Reducer 9 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_37]
                               PartitionCols:_col4, _col2
-                              Merge Join Operator [MERGEJOIN_94] (rows=42 width=352)
-                                Conds:RS_34._col1=RS_118._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
+                              Merge Join Operator [MERGEJOIN_184] (rows=42 width=352)
+                                Conds:RS_34._col1=RS_208._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
                               <-Map 14 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_118]
+                                SHUFFLE [RS_208]
                                   PartitionCols:_col1
-                                  Select Operator [SEL_117] (rows=2 width=180)
+                                  Select Operator [SEL_207] (rows=2 width=180)
                                     Output:["_col1"]
-                                    Filter Operator [FIL_116] (rows=2 width=175)
+                                    Filter Operator [FIL_206] (rows=2 width=175)
                                       predicate:((key = 'src1key') and value is not null)
                                       TableScan [TS_15] (rows=25 width=175)
                                         default@src1,src1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                               <-Reducer 8 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_34]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_93] (rows=42 width=352)
-                                    Conds:RS_31._col3=RS_115._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
+                                  Merge Join Operator [MERGEJOIN_183] (rows=42 width=352)
+                                    Conds:RS_31._col3=RS_205._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
                                   <-Map 13 [SIMPLE_EDGE] vectorized, llap
-                                    SHUFFLE [RS_115]
+                                    SHUFFLE [RS_205]
                                       PartitionCols:_col1
-                                      Select Operator [SEL_114] (rows=6 width=185)
+                                      Select Operator [SEL_204] (rows=6 width=185)
                                         Output:["_col1"]
-                                        Filter Operator [FIL_113] (rows=6 width=178)
+                                        Filter Operator [FIL_203] (rows=6 width=178)
                                           predicate:((key = 'srcpartkey') and value is not null)
                                           TableScan [TS_12] (rows=2000 width=178)
                                             default@srcpart,srcpart,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                                   <-Reducer 7 [SIMPLE_EDGE] llap
                                     SHUFFLE [RS_31]
                                       PartitionCols:_col3
-                                      Merge Join Operator [MERGEJOIN_92] (rows=7 width=443)
-                                        Conds:RS_112._col0=RS_108._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4"]
+                                      Merge Join Operator [MERGEJOIN_182] (rows=7 width=443)
+                                        Conds:RS_202._col0=RS_198._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4"]
                                       <-Map 6 [SIMPLE_EDGE] vectorized, llap
-                                        SHUFFLE [RS_108]
+                                        SHUFFLE [RS_198]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_105] (rows=2 width=178)
+                                          Select Operator [SEL_195] (rows=2 width=178)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_102] (rows=2 width=178)
+                                            Filter Operator [FIL_192] (rows=2 width=178)
                                               predicate:((value = 'd1value') and key is not null)
                                                Please refer to the previous TableScan [TS_3]
                                       <-Map 12 [SIMPLE_EDGE] vectorized, llap
-                                        SHUFFLE [RS_112]
+                                        SHUFFLE [RS_202]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_111] (rows=7 width=531)
+                                          Select Operator [SEL_201] (rows=7 width=531)
                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                            Filter Operator [FIL_110] (rows=7 width=534)
+                                            Filter Operator [FIL_200] (rows=7 width=534)
                                               predicate:((v3 = 'ssv3') and k1 is not null and k2 is not null and k3 is not null and v1 is not null and v2 is not null)
                                               TableScan [TS_6] (rows=85 width=534)
                                                 default@ss_n1,ss_n1,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"]
                     <-Reducer 2 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_44]
                         PartitionCols:_col1, _col3
-                        Merge Join Operator [MERGEJOIN_91] (rows=265 width=269)
-                          Conds:RS_100._col0=RS_107._col0(Inner),Output:["_col1","_col2","_col3"]
+                        Merge Join Operator [MERGEJOIN_181] (rows=265 width=269)
+                          Conds:RS_190._col0=RS_197._col0(Inner),Output:["_col1","_col2","_col3"]
                         <-Map 6 [SIMPLE_EDGE] vectorized, llap
-                          SHUFFLE [RS_107]
+                          SHUFFLE [RS_197]
                             PartitionCols:_col0
-                            Select Operator [SEL_104] (rows=25 width=178)
+                            Select Operator [SEL_194] (rows=25 width=178)
                               Output:["_col0"]
-                              Filter Operator [FIL_101] (rows=25 width=178)
+                              Filter Operator [FIL_191] (rows=25 width=178)
                                 predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
                                  Please refer to the previous TableScan [TS_3]
                         <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                          SHUFFLE [RS_100]
+                          SHUFFLE [RS_190]
                             PartitionCols:_col0
-                            Select Operator [SEL_99] (rows=170 width=356)
+                            Select Operator [SEL_189] (rows=170 width=356)
                               Output:["_col0","_col1","_col2","_col3"]
-                              Filter Operator [FIL_98] (rows=170 width=356)
+                              Filter Operator [FIL_188] (rows=170 width=356)
                                 predicate:(k1 is not null and v2 is not null and v3 is not null)
                                 TableScan [TS_0] (rows=170 width=356)
                                   default@cs,cs,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v2","k3","v3"]
@@ -460,124 +460,124 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 5 vectorized, llap
-      File Output Operator [FS_130]
-        Group By Operator [GBY_129] (rows=33 width=177)
+      File Output Operator [FS_172]
+        Group By Operator [GBY_171] (rows=33 width=177)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 4 [SIMPLE_EDGE]
           <-Reducer 3 [CONTAINS] llap
-            Reduce Output Operator [RS_88]
+            Reduce Output Operator [RS_130]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_87] (rows=33 width=177)
+              Group By Operator [GBY_129] (rows=33 width=177)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Select Operator [SEL_85] (rows=33 width=177)
+                Select Operator [SEL_127] (rows=33 width=177)
                   Output:["_col0","_col1"]
-                  Merge Join Operator [MERGEJOIN_84] (rows=33 width=177)
-                    Conds:RS_22._col2=RS_128._col1(Inner),Output:["_col1","_col4"]
+                  Merge Join Operator [MERGEJOIN_126] (rows=33 width=177)
+                    Conds:RS_22._col2=RS_170._col1(Inner),Output:["_col1","_col4"]
                   <-Reducer 11 [SIMPLE_EDGE] vectorized, llap
-                    SHUFFLE [RS_128]
+                    SHUFFLE [RS_170]
                       PartitionCols:_col1
-                      Select Operator [SEL_127] (rows=262 width=178)
+                      Select Operator [SEL_169] (rows=262 width=178)
                         Output:["_col1"]
-                        Group By Operator [GBY_126] (rows=262 width=178)
+                        Group By Operator [GBY_168] (rows=262 width=178)
                           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                         <-Union 10 [SIMPLE_EDGE]
                           <-Map 12 [CONTAINS] vectorized, llap
-                            Reduce Output Operator [RS_141]
+                            Reduce Output Operator [RS_183]
                               PartitionCols:_col0, _col1
-                              Group By Operator [GBY_140] (rows=262 width=178)
+                              Group By Operator [GBY_182] (rows=262 width=178)
                                 Output:["_col0","_col1"],keys:_col1, _col0
-                                Select Operator [SEL_139] (rows=500 width=178)
+                                Select Operator [SEL_181] (rows=500 width=178)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_138] (rows=500 width=178)
+                                  Filter Operator [FIL_180] (rows=500 width=178)
                                     predicate:value is not null
-                                    TableScan [TS_100] (rows=500 width=178)
+                                    TableScan [TS_142] (rows=500 width=178)
                                       Output:["key","value"]
                           <-Map 9 [CONTAINS] vectorized, llap
-                            Reduce Output Operator [RS_137]
+                            Reduce Output Operator [RS_179]
                               PartitionCols:_col0, _col1
-                              Group By Operator [GBY_136] (rows=262 width=178)
+                              Group By Operator [GBY_178] (rows=262 width=178)
                                 Output:["_col0","_col1"],keys:_col1, _col0
-                                Select Operator [SEL_135] (rows=25 width=175)
+                                Select Operator [SEL_177] (rows=25 width=175)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_134] (rows=25 width=175)
+                                  Filter Operator [FIL_176] (rows=25 width=175)
                                     predicate:value is not null
-                                    TableScan [TS_94] (rows=25 width=175)
+                                    TableScan [TS_136] (rows=25 width=175)
                                       Output:["key","value"]
                   <-Reducer 2 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_22]
                       PartitionCols:_col2
-                      Merge Join Operator [MERGEJOIN_80] (rows=39 width=175)
-                        Conds:RS_120._col0=RS_124._col0(Inner),Output:["_col1","_col2"]
+                      Merge Join Operator [MERGEJOIN_122] (rows=39 width=175)
+                        Conds:RS_162._col0=RS_166._col0(Inner),Output:["_col1","_col2"]
                       <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                        SHUFFLE [RS_120]
+                        SHUFFLE [RS_162]
                           PartitionCols:_col0
-                          Select Operator [SEL_119] (rows=500 width=87)
+                          Select Operator [SEL_161] (rows=500 width=87)
                             Output:["_col0"]
-                            Filter Operator [FIL_118] (rows=500 width=87)
+                            Filter Operator [FIL_160] (rows=500 width=87)
                               predicate:key is not null
                               TableScan [TS_0] (rows=500 width=87)
                                 default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
                       <-Map 8 [SIMPLE_EDGE] vectorized, llap
-                        SHUFFLE [RS_124]
+                        SHUFFLE [RS_166]
                           PartitionCols:_col0
-                          Select Operator [SEL_123] (rows=25 width=175)
+                          Select Operator [SEL_165] (rows=25 width=175)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_122] (rows=25 width=175)
+                            Filter Operator [FIL_164] (rows=25 width=175)
                               predicate:(key is not null and value is not null)
                               TableScan [TS_3] (rows=25 width=175)
                                 default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Reducer 7 [CONTAINS] llap
-            Reduce Output Operator [RS_93]
+            Reduce Output Operator [RS_135]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_92] (rows=33 width=177)
+              Group By Operator [GBY_134] (rows=33 width=177)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Select Operator [SEL_90] (rows=33 width=177)
+                Select Operator [SEL_132] (rows=33 width=177)
                   Output:["_col0","_col1"]
-                  Merge Join Operator [MERGEJOIN_89] (rows=33 width=177)
-                    Conds:RS_48._col2=RS_133._col1(Inner),Output:["_col1","_col4"]
+                  Merge Join Operator [MERGEJOIN_131] (rows=33 width=177)
+                    Conds:RS_48._col2=RS_175._col1(Inner),Output:["_col1","_col4"]
                   <-Reducer 15 [SIMPLE_EDGE] vectorized, llap
-                    SHUFFLE [RS_133]
+                    SHUFFLE [RS_175]
                       PartitionCols:_col1
-                      Select Operator [SEL_132] (rows=262 width=178)
+                      Select Operator [SEL_174] (rows=262 width=178)
                         Output:["_col1"]
-                        Group By Operator [GBY_131] (rows=262 width=178)
+                        Group By Operator [GBY_173] (rows=262 width=178)
                           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                         <-Union 14 [SIMPLE_EDGE]
                           <-Map 13 [CONTAINS] vectorized, llap
-                            Reduce Output Operator [RS_145]
+                            Reduce Output Operator [RS_187]
                               PartitionCols:_col0, _col1
-                              Group By Operator [GBY_144] (rows=262 width=178)
+                              Group By Operator [GBY_186] (rows=262 width=178)
                                 Output:["_col0","_col1"],keys:_col1, _col0
-                                Select Operator [SEL_143] (rows=25 width=175)
+                                Select Operator [SEL_185] (rows=25 width=175)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_142] (rows=25 width=175)
+                                  Filter Operator [FIL_184] (rows=25 width=175)
                                     predicate:value is not null
-                                    TableScan [TS_106] (rows=25 width=175)
+                                    TableScan [TS_148] (rows=25 width=175)
                                       Output:["key","value"]
                           <-Map 16 [CONTAINS] vectorized, llap
-                            Reduce Output Operator [RS_149]
+                            Reduce Output Operator [RS_191]
                               PartitionCols:_col0, _col1
-                              Group By Operator [GBY_148] (rows=262 width=178)
+                              Group By Operator [GBY_190] (rows=262 width=178)
                                 Output:["_col0","_col1"],keys:_col1, _col0
-                                Select Operator [SEL_147] (rows=500 width=178)
+                                Select Operator [SEL_189] (rows=500 width=178)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_146] (rows=500 width=178)
+                                  Filter Operator [FIL_188] (rows=500 width=178)
                                     predicate:value is not null
-                                    TableScan [TS_112] (rows=500 width=178)
+                                    TableScan [TS_154] (rows=500 width=178)
                                       Output:["key","value"]
                   <-Reducer 6 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_48]
                       PartitionCols:_col2
-                      Merge Join Operator [MERGEJOIN_81] (rows=39 width=175)
-                        Conds:RS_121._col0=RS_125._col0(Inner),Output:["_col1","_col2"]
+                      Merge Join Operator [MERGEJOIN_123] (rows=39 width=175)
+                        Conds:RS_163._col0=RS_167._col0(Inner),Output:["_col1","_col2"]
                       <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                        SHUFFLE [RS_121]
+                        SHUFFLE [RS_163]
                           PartitionCols:_col0
-                           Please refer to the previous Select Operator [SEL_119]
+                           Please refer to the previous Select Operator [SEL_161]
                       <-Map 8 [SIMPLE_EDGE] vectorized, llap
-                        SHUFFLE [RS_125]
+                        SHUFFLE [RS_167]
                           PartitionCols:_col0
-                           Please refer to the previous Select Operator [SEL_123]
+                           Please refer to the previous Select Operator [SEL_165]
 
 PREHOOK: query: explain
 SELECT x.key, y.value
@@ -636,237 +636,237 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 7 vectorized, llap
-      File Output Operator [FS_268]
-        Group By Operator [GBY_267] (rows=47 width=177)
+      File Output Operator [FS_334]
+        Group By Operator [GBY_333] (rows=47 width=177)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 6 [SIMPLE_EDGE]
           <-Reducer 5 [CONTAINS] vectorized, llap
-            Reduce Output Operator [RS_266]
+            Reduce Output Operator [RS_332]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_265] (rows=47 width=177)
+              Group By Operator [GBY_331] (rows=47 width=177)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Group By Operator [GBY_264] (rows=40 width=177)
+                Group By Operator [GBY_330] (rows=40 width=177)
                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                 <-Union 4 [SIMPLE_EDGE]
                   <-Reducer 10 [CONTAINS] llap
-                    Reduce Output Operator [RS_183]
+                    Reduce Output Operator [RS_249]
                       PartitionCols:_col0, _col1
-                      Group By Operator [GBY_182] (rows=40 width=177)
+                      Group By Operator [GBY_248] (rows=40 width=177)
                         Output:["_col0","_col1"],keys:_col0, _col1
-                        Select Operator [SEL_180] (rows=48 width=177)
+                        Select Operator [SEL_246] (rows=48 width=177)
                           Output:["_col0","_col1"]
-                          Merge Join Operator [MERGEJOIN_179] (rows=48 width=177)
-                            Conds:RS_58._col3=RS_274._col1(Inner),Output:["_col1","_col2"]
+                          Merge Join Operator [MERGEJOIN_245] (rows=48 width=177)
+                            Conds:RS_58._col3=RS_340._col1(Inner),Output:["_col1","_col2"]
                           <-Reducer 20 [SIMPLE_EDGE] vectorized, llap
-                            SHUFFLE [RS_274]
+                            SHUFFLE [RS_340]
                               PartitionCols:_col1
-                              Select Operator [SEL_273] (rows=381 width=178)
+                              Select Operator [SEL_339] (rows=381 width=178)
                                 Output:["_col1"]
-                                Group By Operator [GBY_272] (rows=381 width=178)
+                                Group By Operator [GBY_338] (rows=381 width=178)
                                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                 <-Union 19 [SIMPLE_EDGE]
                                   <-Map 22 [CONTAINS] vectorized, llap
-                                    Reduce Output Operator [RS_298]
+                                    Reduce Output Operator [RS_364]
                                       PartitionCols:_col0, _col1
-                                      Group By Operator [GBY_297] (rows=381 width=178)
+                                      Group By Operator [GBY_363] (rows=381 width=178)
                                         Output:["_col0","_col1"],keys:_col1, _col0
-                                        Select Operator [SEL_296] (rows=500 width=178)
+                                        Select Operator [SEL_362] (rows=500 width=178)
                                           Output:["_col0","_col1"]
-                                          Filter Operator [FIL_295] (rows=500 width=178)
+                                          Filter Operator [FIL_361] (rows=500 width=178)
                                             predicate:value is not null
-                                            TableScan [TS_213] (rows=500 width=178)
+                                            TableScan [TS_279] (rows=500 width=178)
                                               Output:["key","value"]
                                   <-Reducer 18 [CONTAINS] vectorized, llap
-                                    Reduce Output Operator [RS_290]
+                                    Reduce Output Operator [RS_356]
                                       PartitionCols:_col0, _col1
-                                      Group By Operator [GBY_289] (rows=381 width=178)
+                                      Group By Operator [GBY_355] (rows=381 width=178)
                                         Output:["_col0","_col1"],keys:_col1, _col0
-                                        Select Operator [SEL_288] (rows=262 width=178)
+                                        Select Operator [SEL_354] (rows=262 width=178)
                                           Output:["_col0","_col1"]
-                                          Group By Operator [GBY_287] (rows=262 width=178)
+                                          Group By Operator [GBY_353] (rows=262 width=178)
                                             Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                           <-Union 17 [SIMPLE_EDGE]
                                             <-Map 16 [CONTAINS] vectorized, llap
-                                              Reduce Output Operator [RS_286]
+                                              Reduce Output Operator [RS_352]
                                                 PartitionCols:_col0, _col1
-                                                Group By Operator [GBY_285] (rows=262 width=178)
+                                                Group By Operator [GBY_351] (rows=262 width=178)
                                                   Output:["_col0","_col1"],keys:_col1, _col0
-                                                  Select Operator [SEL_284] (rows=25 width=175)
+                                                  Select Operator [SEL_350] (rows=25 width=175)
                                                     Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_283] (rows=25 width=175)
+                                                    Filter Operator [FIL_349] (rows=25 width=175)
                                                       predicate:value is not null
-                                                      TableScan [TS_196] (rows=25 width=175)
+                                                      TableScan [TS_262] (rows=25 width=175)
                                                         Output:["key","value"]
                                             <-Map 21 [CONTAINS] vectorized, llap
-                                              Reduce Output Operator [RS_294]
+                                              Reduce Output Operator [RS_360]
                                                 PartitionCols:_col0, _col1
-                                                Group By Operator [GBY_293] (rows=262 width=178)
+                                                Group By Operator [GBY_359] (rows=262 width=178)
                                                   Output:["_col0","_col1"],keys:_col1, _col0
-                                                  Select Operator [SEL_292] (rows=500 width=178)
+                                                  Select Operator [SEL_358] (rows=500 width=178)
                                                     Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_291] (rows=500 width=178)
+                                                    Filter Operator [FIL_357] (rows=500 width=178)
                                                       predicate:value is not null
-                                                      TableScan [TS_207] (rows=500 width=178)
+                                                      TableScan [TS_273] (rows=500 width=178)
                                                         Output:["key","value"]
                           <-Reducer 9 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_58]
                               PartitionCols:_col3
-                              Merge Join Operator [MERGEJOIN_160] (rows=39 width=266)
-                                Conds:RS_256._col0=RS_260._col0(Inner),Output:["_col1","_col2","_col3"]
+                              Merge Join Operator [MERGEJOIN_226] (rows=39 width=266)
+                                Conds:RS_322._col0=RS_326._col0(Inner),Output:["_col1","_col2","_col3"]
                               <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_256]
+                                SHUFFLE [RS_322]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_254] (rows=500 width=178)
+                                  Select Operator [SEL_320] (rows=500 width=178)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_253] (rows=500 width=178)
+                                    Filter Operator [FIL_319] (rows=500 width=178)
                                       predicate:key is not null
                                       TableScan [TS_0] (rows=500 width=178)
                                         default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                               <-Map 11 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_260]
+                                SHUFFLE [RS_326]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_258] (rows=25 width=175)
+                                  Select Operator [SEL_324] (rows=25 width=175)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_257] (rows=25 width=175)
+                                    Filter Operator [FIL_323] (rows=25 width=175)
                                       predicate:(key is not null and value is not null)
                                       TableScan [TS_3] (rows=25 width=175)
                                         default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                   <-Reducer 3 [CONTAINS] llap
-                    Reduce Output Operator [RS_169]
+                    Reduce Output Operator [RS_235]
                       PartitionCols:_col0, _col1
-                      Group By Operator [GBY_168] (rows=40 width=177)
+                      Group By Operator [GBY_234] (rows=40 width=177)
                         Output:["_col0","_col1"],keys:_col0, _col1
-                        Select Operator [SEL_166] (rows=33 width=177)
+                        Select Operator [SEL_232] (rows=33 width=177)
                           Output:["_col0","_col1"]
-                          Merge Join Operator [MERGEJOIN_165] (rows=33 width=177)
-                            Conds:RS_22._col3=RS_263._col1(Inner),Output:["_col1","_col2"]
+                          Merge Join Operator [MERGEJOIN_231] (rows=33 width=177)
+                            Conds:RS_22._col3=RS_329._col1(Inner),Output:["_col1","_col2"]
                           <-Reducer 2 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_22]
                               PartitionCols:_col3
-                              Merge Join Operator [MERGEJOIN_159] (rows=39 width=266)
-                                Conds:RS_255._col0=RS_259._col0(Inner),Output:["_col1","_col2","_col3"]
+                              Merge Join Operator [MERGEJOIN_225] (rows=39 width=266)
+                                Conds:RS_321._col0=RS_325._col0(Inner),Output:["_col1","_col2","_col3"]
                               <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_255]
+                                SHUFFLE [RS_321]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_254]
+                                   Please refer to the previous Select Operator [SEL_320]
                               <-Map 11 [SIMPLE_EDGE] vectorized, llap
-                                SHUFFLE [RS_259]
+                                SHUFFLE [RS_325]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_258]
+                                   Please refer to the previous Select Operator [SEL_324]
                           <-Reducer 14 [SIMPLE_EDGE] vectorized, llap
-                            SHUFFLE [RS_263]
+                            SHUFFLE [RS_329]
                               PartitionCols:_col1
-                              Select Operator [SEL_262] (rows=262 width=178)
+                              Select Operator [SEL_328] (rows=262 width=178)
                                 Output:["_col1"]
-                                Group By Operator [GBY_261] (rows=262 width=178)
+                                Group By Operator [GBY_327] (rows=262 width=178)
                                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                 <-Union 13 [SIMPLE_EDGE]
                                   <-Map 12 [CONTAINS] vectorized, llap
-                                    Reduce Output Operator [RS_278]
+                                    Reduce Output Operator [RS_344]
                                       PartitionCols:_col0, _col1
-                                      Group By Operator [GBY_277] (rows=262 width=178)
+                                      Group By Operator [GBY_343] (rows=262 width=178)
                                         Output:["_col0","_col1"],keys:_col1, _col0
-                                        Select Operator [SEL_276] (rows=25 width=175)
+                                        Select Operator [SEL_342] (rows=25 width=175)
                                           Output:["_col0","_col1"]
-                                          Filter Operator [FIL_275] (rows=25 width=175)
+                                          Filter Operator [FIL_341] (rows=25 width=175)
                                             predicate:value is not null
-                                            TableScan [TS_184] (rows=25 width=175)
+                                            TableScan [TS_250] (rows=25 width=175)
                                               Output:["key","value"]
                                   <-Map 15 [CONTAINS] vectorized, llap
-                                    Reduce Output Operator [RS_282]
+                                    Reduce Output Operator [RS_348]
                                       PartitionCols:_col0, _col1
-                                      Group By Operator [GBY_281] (rows=262 width=178)
+                                      Group By Operator [GBY_347] (rows=262 width=178)
                                         Output:["_col0","_col1"],keys:_col1, _col0
-                                        Select Operator [SEL_280] (rows=500 width=178)
+                                        Select Operator [SEL_346] (rows=500 width=178)
                                           Output:["_col0","_col1"]
-                                          Filter Operator [FIL_279] (rows=500 width=178)
+                                          Filter Operator [FIL_345] (rows=500 width=178)
                                             predicate:value is not null
-                                            TableScan [TS_190] (rows=500 width=178)
+                                            TableScan [TS_256] (rows=500 width=178)
                                               Output:["key","value"]
           <-Reducer 8 [CONTAINS] llap
-            Reduce Output Operator [RS_178]
+            Reduce Output Operator [RS_244]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_177] (rows=47 width=177)
+              Group By Operator [GBY_243] (rows=47 width=177)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Select Operator [SEL_175] (rows=55 width=177)
+                Select Operator [SEL_241] (rows=55 width=177)
                   Output:["_col0","_col1"]
-                  Merge Join Operator [MERGEJOIN_174] (rows=55 width=177)
-                    Conds:RS_111._col3=RS_271._col1(Inner),Output:["_col1","_col2"]
+                  Merge Join Operator [MERGEJOIN_240] (rows=55 width=177)
+                    Conds:RS_111._col3=RS_337._col1(Inner),Output:["_col1","_col2"]
                   <-Reducer 2 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_111]
                       PartitionCols:_col3
-                       Please refer to the previous Merge Join Operator [MERGEJOIN_159]
+                       Please refer to the previous Merge Join Operator [MERGEJOIN_225]
                   <-Reducer 29 [SIMPLE_EDGE] vectorized, llap
-                    SHUFFLE [RS_271]
+                    SHUFFLE [RS_337]
                       PartitionCols:_col1
-                      Select Operator [SEL_270] (rows=440 width=178)
+                      Select Operator [SEL_336] (rows=440 width=178)
                         Output:["_col1"]
-                        Group By Operator [GBY_269] (rows=440 width=178)
+                        Group By Operator [GBY_335] (rows=440 width=178)
                           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                         <-Union 28 [SIMPLE_EDGE]
                           <-Map 32 [CONTAINS] vectorized, llap
-                            Reduce Output Operator [RS_322]
+                            Reduce Output Operator [RS_388]
                               PartitionCols:_col0, _col1
-                              Group By Operator [GBY_321] (rows=440 width=178)
+                              Group By Operator [GBY_387] (rows=440 width=178)
                                 Output:["_col0","_col1"],keys:_col1, _col0
-                                Select Operator [SEL_320] (rows=500 width=178)
+                                Select Operator [SEL_386] (rows=500 width=178)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_319] (rows=500 width=178)
+                                  Filter Operator [FIL_385] (rows=500 width=178)
                                     predicate:value is not null
-                                    TableScan [TS_247] (rows=500 width=178)
+                                    TableScan [TS_313] (rows=500 width=178)
                                       Output:["key","value"]
                           <-Reducer 27 [CONTAINS] vectorized, llap
-                            Reduce Output Operator [RS_310]
+                            Reduce Output Operator [RS_376]
                               PartitionCols:_col0, _col1
-                              Group By Operator [GBY_309] (rows=440 width=178)
+                              Group By Operator [GBY_375] (rows=440 width=178)
                                 Output:["_col0","_col1"],keys:_col1, _col0
-                                Select Operator [SEL_308] (rows=381 width=178)
+                                Select Operator [SEL_374] (rows=381 width=178)
                                   Output:["_col0","_col1"]
-                                  Group By Operator [GBY_307] (rows=381 width=178)
+                                  Group By Operator [GBY_373] (rows=381 width=178)
                                     Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                   <-Union 26 [SIMPLE_EDGE]
                                     <-Map 31 [CONTAINS] vectorized, llap
-                                      Reduce Output Operator [RS_318]
+                                      Reduce Output Operator [RS_384]
                                         PartitionCols:_col0, _col1
-                                        Group By Operator [GBY_317] (rows=381 width=178)
+                                        Group By Operator [GBY_383] (rows=381 width=178)
                                           Output:["_col0","_col1"],keys:_col1, _col0
-                                          Select Operator [SEL_316] (rows=500 width=178)
+                                          Select Operator [SEL_382] (rows=500 width=178)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_315] (rows=500 width=178)
+                                            Filter Operator [FIL_381] (rows=500 width=178)
                                               predicate:value is not null
-                                              TableScan [TS_241] (rows=500 width=178)
+                                              TableScan [TS_307] (rows=500 width=178)
                                                 Output:["key","value"]
                                     <-Reducer 25 [CONTAINS] vectorized, llap
-                                      Reduce Output Operator [RS_306]
+                                      Reduce Output Operator [RS_372]
                                         PartitionCols:_col0, _col1
-                                        Group By Operator [GBY_305] (rows=381 width=178)
+                                        Group By Operator [GBY_371] (rows=381 width=178)
                                           Output:["_col0","_col1"],keys:_col1, _col0
-                                          Select Operator [SEL_304] (rows=262 width=178)
+                                          Select Operator [SEL_370] (rows=262 width=178)
                                             Output:["_col0","_col1"]
-                                            Group By Operator [GBY_303] (rows=262 width=178)
+                                            Group By Operator [GBY_369] (rows=262 width=178)
                                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                             <-Union 24 [SIMPLE_EDGE]
                                               <-Map 23 [CONTAINS] vectorized, llap
-                                                Reduce Output Operator [RS_302]
+                                                Reduce Output Operator [RS_368]
                                                   PartitionCols:_col0, _col1
-                                                  Group By Operator [GBY_301] (rows=262 width=178)
+                                                  Group By Operator [GBY_367] (rows=262 width=178)
                                                     Output:["_col0","_col1"],keys:_col1, _col0
-                                                    Select Operator [SEL_300] (rows=25 width=175)
+                                                    Select Operator [SEL_366] (rows=25 width=175)
                                                       Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_299] (rows=25 width=175)
+                                                      Filter Operator [FIL_365] (rows=25 width=175)
                                                         predicate:value is not null
-                                                        TableScan [TS_219] (rows=25 width=175)
+                                                        TableScan [TS_285] (rows=25 width=175)
                                                           Output:["key","value"]
                                               <-Map 30 [CONTAINS] vectorized, llap
-                                                Reduce Output Operator [RS_314]
+                                                Reduce Output Operator [RS_380]
                                                   PartitionCols:_col0, _col1
-                                                  Group By Operator [GBY_313] (rows=262 width=178)
+                                                  Group By Operator [GBY_379] (rows=262 width=178)
                                                     Output:["_col0","_col1"],keys:_col1, _col0
-                                                    Select Operator [SEL_312] (rows=500 width=178)
+                                                    Select Operator [SEL_378] (rows=500 width=178)
                                                       Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_311] (rows=500 width=178)
+                                                      Filter Operator [FIL_377] (rows=500 width=178)
                                                         predicate:value is not null
-                                                        TableScan [TS_235] (rows=500 width=178)
+                                                        TableScan [TS_301] (rows=500 width=178)
                                                           Output:["key","value"]
 
 PREHOOK: query: EXPLAIN
@@ -889,34 +889,34 @@ Stage-0
     limit:-1
     Stage-1
       Map 1 vectorized, llap
-      File Output Operator [FS_40]
-        Select Operator [SEL_39] (rows=605 width=10)
+      File Output Operator [FS_60]
+        Select Operator [SEL_59] (rows=605 width=10)
           Output:["_col0","_col1","_col2"]
-          Map Join Operator [MAPJOIN_38] (rows=605 width=10)
-            Conds:MAPJOIN_37._col3=RS_34._col0(Inner),Output:["_col1","_col2","_col4"]
+          Map Join Operator [MAPJOIN_58] (rows=605 width=10)
+            Conds:MAPJOIN_57._col3=RS_54._col0(Inner),Output:["_col1","_col2","_col4"]
           <-Map 3 [BROADCAST_EDGE] vectorized, llap
-            BROADCAST [RS_34]
+            BROADCAST [RS_54]
               PartitionCols:_col0
-              Select Operator [SEL_33] (rows=500 width=10)
+              Select Operator [SEL_53] (rows=500 width=10)
                 Output:["_col0"]
-                Filter Operator [FIL_32] (rows=500 width=10)
+                Filter Operator [FIL_52] (rows=500 width=10)
                   predicate:value is not null
                   TableScan [TS_6] (rows=500 width=10)
                     default@srcpart,z,Tbl:COMPLETE,Col:NONE,Output:["value"]
-          <-Map Join Operator [MAPJOIN_37] (rows=550 width=10)
-              Conds:SEL_36._col0=RS_31._col0(Inner),Output:["_col1","_col2","_col3"]
+          <-Map Join Operator [MAPJOIN_57] (rows=550 width=10)
+              Conds:SEL_56._col0=RS_51._col0(Inner),Output:["_col1","_col2","_col3"]
             <-Map 2 [BROADCAST_EDGE] vectorized, llap
-              BROADCAST [RS_31]
+              BROADCAST [RS_51]
                 PartitionCols:_col0
-                Select Operator [SEL_30] (rows=25 width=7)
+                Select Operator [SEL_50] (rows=25 width=7)
                   Output:["_col0","_col1"]
-                  Filter Operator [FIL_29] (rows=25 width=7)
+                  Filter Operator [FIL_49] (rows=25 width=7)
                     predicate:(key is not null and value is not null)
                     TableScan [TS_3] (rows=25 width=7)
                       default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-            <-Select Operator [SEL_36] (rows=500 width=10)
+            <-Select Operator [SEL_56] (rows=500 width=10)
                 Output:["_col0","_col1"]
-                Filter Operator [FIL_35] (rows=500 width=10)
+                Filter Operator [FIL_55] (rows=500 width=10)
                   predicate:key is not null
                   TableScan [TS_0] (rows=500 width=10)
                     default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
@@ -992,102 +992,102 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized, llap
-      File Output Operator [FS_142]
-        Limit [LIM_141] (rows=100 width=10)
+      File Output Operator [FS_232]
+        Limit [LIM_231] (rows=100 width=10)
           Number of rows:100
-          Select Operator [SEL_140] (rows=732 width=10)
+          Select Operator [SEL_230] (rows=732 width=10)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_139]
-              Group By Operator [GBY_138] (rows=732 width=10)
+            SHUFFLE [RS_229]
+              Group By Operator [GBY_228] (rows=732 width=10)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2
               <-Map 5 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_137]
+                SHUFFLE [RS_227]
                   PartitionCols:_col0, _col1, _col2
-                  Group By Operator [GBY_136] (rows=1464 width=10)
+                  Group By Operator [GBY_226] (rows=1464 width=10)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col11)","count(_col21)","count(_col3)"],keys:_col10, _col20, _col2
-                    Map Join Operator [MAPJOIN_135] (rows=1464 width=10)
-                      Conds:RS_118._col1, _col3=SEL_134._col15, _col17(Inner),Output:["_col2","_col3","_col10","_col11","_col20","_col21"]
+                    Map Join Operator [MAPJOIN_225] (rows=1464 width=10)
+                      Conds:RS_208._col1, _col3=SEL_224._col15, _col17(Inner),Output:["_col2","_col3","_col10","_col11","_col20","_col21"]
                     <-Map 2 [BROADCAST_EDGE] vectorized, llap
-                      BROADCAST [RS_118]
+                      BROADCAST [RS_208]
                         PartitionCols:_col1, _col3
-                        Map Join Operator [MAPJOIN_117] (rows=275 width=10)
-                          Conds:RS_114._col0=SEL_116._col0(Inner),Output:["_col1","_col2","_col3"]
+                        Map Join Operator [MAPJOIN_207] (rows=275 width=10)
+                          Conds:RS_204._col0=SEL_206._col0(Inner),Output:["_col1","_col2","_col3"]
                         <-Map 1 [BROADCAST_EDGE] vectorized, llap
-                          BROADCAST [RS_114]
+                          BROADCAST [RS_204]
                             PartitionCols:_col0
-                            Select Operator [SEL_113] (rows=170 width=34)
+                            Select Operator [SEL_203] (rows=170 width=34)
                               Output:["_col0","_col1","_col2","_col3"]
-                              Filter Operator [FIL_112] (rows=170 width=34)
+                              Filter Operator [FIL_202] (rows=170 width=34)
                                 predicate:(k1 is not null and v2 is not null and v3 is not null)
                                 TableScan [TS_0] (rows=170 width=34)
                                   default@cs,cs,Tbl:COMPLETE,Col:NONE,Output:["k1","v2","k3","v3"]
-                        <-Select Operator [SEL_116] (rows=250 width=10)
+                        <-Select Operator [SEL_206] (rows=250 width=10)
                             Output:["_col0"]
-                            Filter Operator [FIL_115] (rows=250 width=10)
+                            Filter Operator [FIL_205] (rows=250 width=10)
                               predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
                               TableScan [TS_3] (rows=500 width=10)
                                 default@src,d3,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                    <-Select Operator [SEL_134] (rows=1331 width=10)
+                    <-Select Operator [SEL_224] (rows=1331 width=10)
                         Output:["_col4","_col5","_col14","_col15","_col17"]
-                        Map Join Operator [MAPJOIN_133] (rows=1331 width=10)
-                          Conds:MAPJOIN_132._col4, _col2=RS_128._col4, _col2(Inner),Output:["_col0","_col1","_col14","_col15","_col17"]
+                        Map Join Operator [MAPJOIN_223] (rows=1331 width=10)
+                          Conds:MAPJOIN_222._col4, _col2=RS_218._col4, _col2(Inner),Output:["_col0","_col1","_col14","_col15","_col17"]
                         <-Map 10 [BROADCAST_EDGE] vectorized, llap
-                          BROADCAST [RS_128]
+                          BROADCAST [RS_218]
                             PartitionCols:_col4, _col2
-                            Map Join Operator [MAPJOIN_127] (rows=275 width=10)
-                              Conds:RS_124._col0=SEL_126._col0(Inner),Output:["_col2","_col3","_col4","_col5"]
+                            Map Join Operator [MAPJOIN_217] (rows=275 width=10)
+                              Conds:RS_214._col0=SEL_216._col0(Inner),Output:["_col2","_col3","_col4","_col5"]
                             <-Map 9 [BROADCAST_EDGE] vectorized, llap
-                              BROADCAST [RS_124]
+                              BROADCAST [RS_214]
                                 PartitionCols:_col0
-                                Select Operator [SEL_123] (rows=42 width=34)
+                                Select Operator [SEL_213] (rows=42 width=34)
                                   Output:["_col0","_col2","_col3","_col4","_col5"]
-                                  Filter Operator [FIL_122] (rows=42 width=34)
+                                  Filter Operator [FIL_212] (rows=42 width=34)
                                     predicate:((v1 = 'srv1') and k1 is not null and k2 is not null and k3 is not null and v2 is not null and v3 is not null)
                                     TableScan [TS_18] (rows=85 width=34)
                                       default@sr,sr,Tbl:COMPLETE,Col:NONE,Output:["k1","v1","k2","v2","k3","v3"]
-                            <-Select Operator [SEL_126] (rows=250 width=10)
+                            <-Select Operator [SEL_216] (rows=250 width=10)
                                 Output:["_col0"]
-                                Filter Operator [FIL_125] (rows=250 width=10)
+                                Filter Operator [FIL_215] (rows=250 width=10)
                                   predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
                                   TableScan [TS_21] (rows=500 width=10)
                                     default@src,d2,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                        <-Map Join Operator [MAPJOIN_132] (rows=1210 width=10)
-                            Conds:MAPJOIN_131._col1=RS_121._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
+                        <-Map Join Operator [MAPJOIN_222] (rows=1210 width=10)
+                            Conds:MAPJOIN_221._col1=RS_211._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
                           <-Map 8 [BROADCAST_EDGE] vectorized, llap
-                            BROADCAST [RS_121]
+                            BROADCAST [RS_211]
                               PartitionCols:_col1
-                              Select Operator [SEL_120] (rows=12 width=7)
+                              Select Operator [SEL_210] (rows=12 width=7)
                                 Output:["_col1"]
-                                Filter Operator [FIL_119] (rows=12 width=7)
+                                Filter Operator [FIL_209] (rows=12 width=7)
                                   predicate:((key = 'src1key') and value is not null)
                                   TableScan [TS_15] (rows=25 width=7)
                                     default@src1,src1,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                          <-Map Join Operator [MAPJOIN_131] (rows=1100 width=10)
-                              Conds:RS_111._col3=SEL_130._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
+                          <-Map Join Operator [MAPJOIN_221] (rows=1100 width=10)
+                              Conds:RS_201._col3=SEL_220._col1(Inner),Output:["_col0","_col1","_col2","_col4"]
                             <-Map 4 [BROADCAST_EDGE] vectorized, llap
-                              BROADCAST [RS_111]
+                              BROADCAST [RS_201]
                                 PartitionCols:_col3
-                                Map Join Operator [MAPJOIN_110] (rows=275 width=10)
-                                  Conds:RS_107._col0=SEL_109._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4"]
+                                Map Join Operator [MAPJOIN_200] (rows=275 width=10)
+                                  Conds:RS_197._col0=SEL_199._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4"]
                                 <-Map 3 [BROADCAST_EDGE] vectorized, llap
-                                  BROADCAST [RS_107]
+                                  BROADCAST [RS_197]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_106] (rows=42 width=34)
+                                    Select Operator [SEL_196] (rows=42 width=34)
                                       Output:["_col0","_col1","_col2","_col3","_col4"]
-                                      Filter Operator [FIL_105] (rows=42 width=34)
+                                      Filter Operator [FIL_195] (rows=42 width=34)
                                         predicate:((v3 = 'ssv3') and k1 is not null and k2 is not null and k3 is not null and v1 is not null and v2 is not null)
                                         TableScan [TS_6] (rows=85 width=34)
                                           default@ss_n1,ss_n1,Tbl:COMPLETE,Col:NONE,Output:["k1","v1","k2","v2","k3","v3"]
-                                <-Select Operator [SEL_109] (rows=250 width=10)
+                                <-Select Operator [SEL_199] (rows=250 width=10)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_108] (rows=250 width=10)
+                                    Filter Operator [FIL_198] (rows=250 width=10)
                                       predicate:((value = 'd1value') and key is not null)
                                       TableScan [TS_9] (rows=500 width=10)
                                         default@src,d1,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                            <-Select Operator [SEL_130] (rows=1000 width=10)
+                            <-Select Operator [SEL_220] (rows=1000 width=10)
                                 Output:["_col1"]
-                                Filter Operator [FIL_129] (rows=1000 width=10)
+                                Filter Operator [FIL_219] (rows=1000 width=10)
                                   predicate:((key = 'srcpartkey') and value is not null)
                                   TableScan [TS_12] (rows=2000 width=10)
                                     default@srcpart,srcpart,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
@@ -1128,116 +1128,116 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 7 vectorized, llap
-      File Output Operator [FS_147]
-        Group By Operator [GBY_146] (rows=605 width=10)
+      File Output Operator [FS_189]
+        Group By Operator [GBY_188] (rows=605 width=10)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 6 [SIMPLE_EDGE]
           <-Reducer 12 [CONTAINS] vectorized, llap
-            Reduce Output Operator [RS_165]
+            Reduce Output Operator [RS_207]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_164] (rows=1210 width=10)
+              Group By Operator [GBY_206] (rows=1210 width=10)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Select Operator [SEL_163] (rows=605 width=10)
+                Select Operator [SEL_205] (rows=605 width=10)
                   Output:["_col0","_col1"]
-                  Map Join Operator [MAPJOIN_162] (rows=605 width=10)
-                    Conds:RS_159._col2=SEL_161._col1(Inner),Output:["_col1","_col4"]
+                  Map Join Operator [MAPJOIN_204] (rows=605 width=10)
+                    Conds:RS_201._col2=SEL_203._col1(Inner),Output:["_col1","_col4"]
                   <-Map 9 [BROADCAST_EDGE] vectorized, llap
-                    BROADCAST [RS_159]
+                    BROADCAST [RS_201]
                       PartitionCols:_col2
-                      Map Join Operator [MAPJOIN_158] (rows=550 width=10)
-                        Conds:SEL_157._col0=RS_135._col0(Inner),Output:["_col1","_col2"]
+                      Map Join Operator [MAPJOIN_200] (rows=550 width=10)
+                        Conds:SEL_199._col0=RS_177._col0(Inner),Output:["_col1","_col2"]
                       <-Map 2 [BROADCAST_EDGE] vectorized, llap
-                        BROADCAST [RS_135]
+                        BROADCAST [RS_177]
                           PartitionCols:_col0
-                          Select Operator [SEL_133] (rows=25 width=7)
+                          Select Operator [SEL_175] (rows=25 width=7)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_132] (rows=25 width=7)
+                            Filter Operator [FIL_174] (rows=25 width=7)
                               predicate:(key is not null and value is not null)
                               TableScan [TS_3] (rows=25 width=7)
                                 default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                      <-Select Operator [SEL_157] (rows=500 width=10)
+                      <-Select Operator [SEL_199] (rows=500 width=10)
                           Output:["_col0"]
-                          Filter Operator [FIL_156] (rows=500 width=10)
+                          Filter Operator [FIL_198] (rows=500 width=10)
                             predicate:key is not null
                             TableScan [TS_26] (rows=500 width=10)
                               default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key"]
-                  <-Select Operator [SEL_161] (rows=262 width=10)
+                  <-Select Operator [SEL_203] (rows=262 width=10)
                       Output:["_col1"]
-                      Group By Operator [GBY_160] (rows=262 width=10)
+                      Group By Operator [GBY_202] (rows=262 width=10)
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 11 [SIMPLE_EDGE]
                         <-Map 10 [CONTAINS] vectorized, llap
-                          Reduce Output Operator [RS_155]
+                          Reduce Output Operator [RS_197]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_154] (rows=525 width=10)
+                            Group By Operator [GBY_196] (rows=525 width=10)
                               Output:["_col0","_col1"],keys:_col1, _col0
-                              Select Operator [SEL_153] (rows=25 width=7)
+                              Select Operator [SEL_195] (rows=25 width=7)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_152] (rows=25 width=7)
+                                Filter Operator [FIL_194] (rows=25 width=7)
                                   predicate:value is not null
-                                  TableScan [TS_108] (rows=25 width=7)
+                                  TableScan [TS_150] (rows=25 width=7)
                                     Output:["key","value"]
                         <-Map 13 [CONTAINS] vectorized, llap
-                          Reduce Output Operator [RS_169]
+                          Reduce Output Operator [RS_211]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_168] (rows=525 width=10)
+                            Group By Operator [GBY_210] (rows=525 width=10)
                               Output:["_col0","_col1"],keys:_col1, _col0
-                              Select Operator [SEL_167] (rows=500 width=10)
+                              Select Operator [SEL_209] (rows=500 width=10)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_166] (rows=500 width=10)
+                                Filter Operator [FIL_208] (rows=500 width=10)
                                   predicate:value is not null
-                                  TableScan [TS_122] (rows=500 width=10)
+                                  TableScan [TS_164] (rows=500 width=10)
                                     Output:["key","value"]
           <-Reducer 5 [CONTAINS] vectorized, llap
-            Reduce Output Operator [RS_145]
+            Reduce Output Operator [RS_187]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_144] (rows=1210 width=10)
+              Group By Operator [GBY_186] (rows=1210 width=10)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Select Operator [SEL_143] (rows=605 width=10)
+                Select Operator [SEL_185] (rows=605 width=10)
                   Output:["_col0","_col1"]
-                  Map Join Operator [MAPJOIN_142] (rows=605 width=10)
-                    Conds:RS_139._col2=SEL_141._col1(Inner),Output:["_col1","_col4"]
+                  Map Join Operator [MAPJOIN_184] (rows=605 width=10)
+                    Conds:RS_181._col2=SEL_183._col1(Inner),Output:["_col1","_col4"]
                   <-Map 1 [BROADCAST_EDGE] vectorized, llap
-                    BROADCAST [RS_139]
+                    BROADCAST [RS_181]
                       PartitionCols:_col2
-                      Map Join Operator [MAPJOIN_138] (rows=550 width=10)
-                        Conds:SEL_137._col0=RS_134._col0(Inner),Output:["_col1","_col2"]
+                      Map Join Operator [MAPJOIN_180] (rows=550 width=10)
+                        Conds:SEL_179._col0=RS_176._col0(Inner),Output:["_col1","_col2"]
                       <-Map 2 [BROADCAST_EDGE] vectorized, llap
-                        BROADCAST [RS_134]
+                        BROADCAST [RS_176]
                           PartitionCols:_col0
-                           Please refer to the previous Select Operator [SEL_133]
-                      <-Select Operator [SEL_137] (rows=500 width=10)
+                           Please refer to the previous Select Operator [SEL_175]
+                      <-Select Operator [SEL_179] (rows=500 width=10)
                           Output:["_col0"]
-                          Filter Operator [FIL_136] (rows=500 width=10)
+                          Filter Operator [FIL_178] (rows=500 width=10)
                             predicate:key is not null
                             TableScan [TS_0] (rows=500 width=10)
                               default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key"]
-                  <-Select Operator [SEL_141] (rows=262 width=10)
+                  <-Select Operator [SEL_183] (rows=262 width=10)
                       Output:["_col1"]
-                      Group By Operator [GBY_140] (rows=262 width=10)
+                      Group By Operator [GBY_182] (rows=262 width=10)
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 4 [SIMPLE_EDGE]
                         <-Map 3 [CONTAINS] vectorized, llap
-                          Reduce Output Operator [RS_131]
+                          Reduce Output Operator [RS_173]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_130] (rows=525 width=10)
+                            Group By Operator [GBY_172] (rows=525 width=10)
                               Output:["_col0","_col1"],keys:_col1, _col0
-                              Select Operator [SEL_129] (rows=25 width=7)
+                              Select Operator [SEL_171] (rows=25 width=7)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_128] (rows=25 width=7)
+                                Filter Operator [FIL_170] (rows=25 width=7)
                                   predicate:value is not null
-                                  TableScan [TS_88] (rows=25 width=7)
+                                  TableScan [TS_130] (rows=25 width=7)
                                     Output:["key","value"]
                         <-Map 8 [CONTAINS] vectorized, llap
-                          Reduce Output Operator [RS_151]
+                          Reduce Output Operator [RS_193]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_150] (rows=525 width=10)
+                            Group By Operator [GBY_192] (rows=525 width=10)
                               Output:["_col0","_col1"],keys:_col1, _col0
-                              Select Operator [SEL_149] (rows=500 width=10)
+                              Select Operator [SEL_191] (rows=500 width=10)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_148] (rows=500 width=10)
+                                Filter Operator [FIL_190] (rows=500 width=10)
                                   predicate:value is not null
-                                  TableScan [TS_102] (rows=500 width=10)
+                                  TableScan [TS_144] (rows=500 width=10)
                                     Output:["key","value"]
 
 PREHOOK: query: explain
@@ -1294,227 +1294,227 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 9 vectorized, llap
-      File Output Operator [FS_290]
-        Group By Operator [GBY_289] (rows=605 width=10)
+      File Output Operator [FS_356]
+        Group By Operator [GBY_355] (rows=605 width=10)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 8 [SIMPLE_EDGE]
           <-Reducer 25 [CONTAINS] vectorized, llap
-            Reduce Output Operator [RS_338]
+            Reduce Output Operator [RS_404]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_337] (rows=1210 width=10)
+              Group By Operator [GBY_403] (rows=1210 width=10)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Select Operator [SEL_336] (rows=605 width=10)
+                Select Operator [SEL_402] (rows=605 width=10)
                   Output:["_col0","_col1"]
-                  Map Join Operator [MAPJOIN_335] (rows=605 width=10)
-                    Conds:RS_279._col3=SEL_334._col1(Inner),Output:["_col1","_col2"]
+                  Map Join Operator [MAPJOIN_401] (rows=605 width=10)
+                    Conds:RS_345._col3=SEL_400._col1(Inner),Output:["_col1","_col2"]
                   <-Map 1 [BROADCAST_EDGE] vectorized, llap
-                    BROADCAST [RS_279]
+                    BROADCAST [RS_345]
                       PartitionCols:_col3
-                      Map Join Operator [MAPJOIN_277] (rows=550 width=10)
-                        Conds:SEL_276._col0=RS_273._col0(Inner),Output:["_col1","_col2","_col3"]
+                      Map Join Operator [MAPJOIN_343] (rows=550 width=10)
+                        Conds:SEL_342._col0=RS_339._col0(Inner),Output:["_col1","_col2","_col3"]
                       <-Map 2 [BROADCAST_EDGE] vectorized, llap
-                        BROADCAST [RS_273]
+                        BROADCAST [RS_339]
                           PartitionCols:_col0
-                          Select Operator [SEL_272] (rows=25 width=7)
+                          Select Operator [SEL_338] (rows=25 width=7)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_271] (rows=25 width=7)
+                            Filter Operator [FIL_337] (rows=25 width=7)
                               predicate:(key is not null and value is not null)
                               TableScan [TS_3] (rows=25 width=7)
                                 default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                      <-Select Operator [SEL_276] (rows=500 width=10)
+                      <-Select Operator [SEL_342] (rows=500 width=10)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_275] (rows=500 width=10)
+                          Filter Operator [FIL_341] (rows=500 width=10)
                             predicate:key is not null
                             TableScan [TS_0] (rows=500 width=10)
                               default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                  <-Select Operator [SEL_334] (rows=440 width=10)
+                  <-Select Operator [SEL_400] (rows=440 width=10)
                       Output:["_col1"]
-                      Group By Operator [GBY_333] (rows=440 width=10)
+                      Group By Operator [GBY_399] (rows=440 width=10)
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 24 [SIMPLE_EDGE]
                         <-Map 28 [CONTAINS] vectorized, llap
-                          Reduce Output Operator [RS_350]
+                          Reduce Output Operator [RS_416]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_349] (rows=881 width=10)
+                            Group By Operator [GBY_415] (rows=881 width=10)
                               Output:["_col0","_col1"],keys:_col1, _col0
-                              Select Operator [SEL_348] (rows=500 width=10)
+                              Select Operator [SEL_414] (rows=500 width=10)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_347] (rows=500 width=10)
+                                Filter Operator [FIL_413] (rows=500 width=10)
                                   predicate:value is not null
-                                  TableScan [TS_261] (rows=500 width=10)
+                                  TableScan [TS_327] (rows=500 width=10)
                                     Output:["key","value"]
                         <-Reducer 23 [CONTAINS] vectorized, llap
-                          Reduce Output Operator [RS_332]
+                          Reduce Output Operator [RS_398]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_331] (rows=881 width=10)
+                            Group By Operator [GBY_397] (rows=881 width=10)
                               Output:["_col0","_col1"],keys:_col1, _col0
-                              Select Operator [SEL_330] (rows=381 width=10)
+                              Select Operator [SEL_396] (rows=381 width=10)
                                 Output:["_col0","_col1"]
-                                Group By Operator [GBY_329] (rows=381 width=10)
+                                Group By Operator [GBY_395] (rows=381 width=10)
                                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                 <-Union 22 [SIMPLE_EDGE]
                                   <-Map 27 [CONTAINS] vectorized, llap
-                                    Reduce Output Operator [RS_346]
+                                    Reduce Output Operator [RS_412]
                                       PartitionCols:_col0, _col1
-                                      Group By Operator [GBY_345] (rows=762 width=10)
+                                      Group By Operator [GBY_411] (rows=762 width=10)
                                         Output:["_col0","_col1"],keys:_col1, _col0
-                                        Select Operator [SEL_344] (rows=500 width=10)
+                                        Select Operator [SEL_410] (rows=500 width=10)
                                           Output:["_col0","_col1"]
-                                          Filter Operator [FIL_343] (rows=500 width=10)
+                                          Filter Operator [FIL_409] (rows=500 width=10)
                                             predicate:value is not null
-                                            TableScan [TS_255] (rows=500 width=10)
+                                            TableScan [TS_321] (rows=500 width=10)
                                               Output:["key","value"]
                                   <-Reducer 21 [CONTAINS] vectorized, llap
-                                    Reduce Output Operator [RS_328]
+                                    Reduce Output Operator [RS_394]
                                       PartitionCols:_col0, _col1
-                                      Group By Operator [GBY_327] (rows=762 width=10)
+                                      Group By Operator [GBY_393] (rows=762 width=10)
                                         Output:["_col0","_col1"],keys:_col1, _col0
-                                        Select Operator [SEL_326] (rows=262 width=10)
+                                        Select Operator [SEL_392] (rows=262 width=10)
                                           Output:["_col0","_col1"]
-                                          Group By Operator [GBY_325] (rows=262 width=10)
+                                          Group By Operator [GBY_391] (rows=262 width=10)
                                             Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                           <-Union 20 [SIMPLE_EDGE]
                                             <-Map 19 [CONTAINS] vectorized, llap
-                                              Reduce Output Operator [RS_324]
+                                              Reduce Output Operator [RS_390]
                                                 PartitionCols:_col0, _col1
-                                                Group By Operator [GBY_323] (rows=525 width=10)
+                                                Group By Operator [GBY_389] (rows=525 width=10)
                                                   Output:["_col0","_col1"],keys:_col1, _col0
-                                                  Select Operator [SEL_322] (rows=25 width=7)
+                                                  Select Operator [SEL_388] (rows=25 width=7)
                                                     Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_321] (rows=25 width=7)
+                                                    Filter Operator [FIL_387] (rows=25 width=7)
                                                       predicate:value is not null
-                                                      TableScan [TS_225] (rows=25 width=7)
+                                                      TableScan [TS_291] (rows=25 width=7)
                                                         Output:["key","value"]
                                             <-Map 26 [CONTAINS] vectorized, llap
-                                              Reduce Output Operator [RS_342]
+                                              Reduce Output Operator [RS_408]
                                                 PartitionCols:_col0, _col1
-                                                Group By Operator [GBY_341] (rows=525 width=10)
+                                                Group By Operator [GBY_407] (rows=525 width=10)
                                                   Output:["_col0","_col1"],keys:_col1, _col0
-                                                  Select Operator [SEL_340] (rows=500 width=10)
+                                                  Select Operator [SEL_406] (rows=500 width=10)
                                                     Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_339] (rows=500 width=10)
+                                                    Filter Operator [FIL_405] (rows=500 width=10)
                                                       predicate:value is not null
-                                                      TableScan [TS_249] (rows=500 width=10)
+                                                      TableScan [TS_315] (rows=500 width=10)
                                                         Output:["key","value"]
           <-Reducer 7 [CONTAINS] vectorized, llap
-            Reduce Output Operator [RS_288]
+            Reduce Output Operator [RS_354]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_287] (rows=1210 width=10)
+              Group By Operator [GBY_353] (rows=1210 width=10)
                 Output:["_col0","_col1"],keys:_col0, _col1
-                Group By Operator [GBY_286] (rows=605 width=10)
+                Group By Operator [GBY_352] (rows=605 width=10)
                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                 <-Union 6 [SIMPLE_EDGE]
                   <-Reducer 16 [CONTAINS] vectorized, llap
-                    Reduce Output Operator [RS_312]
+                    Reduce Output Operator [RS_378]
                       PartitionCols:_col0, _col1
-                      Group By Operator [GBY_311] (rows=1210 width=10)
+                      Group By Operator [GBY_377] (rows=1210 width=10)
                         Output:["_col0","_col1"],keys:_col0, _col1
-                        Select Operator [SEL_310] (rows=605 width=10)
+                        Select Operator [SEL_376] (rows=605 width=10)
                           Output:["_col0","_col1"]
-                          Map Join Operator [MAPJOIN_309] (rows=605 width=10)
-                            Conds:RS_306._col3=SEL_308._col1(Inner),Output:["_col1","_col2"]
+                          Map Join Operator [MAPJOIN_375] (rows=605 width=10)
+                            Conds:RS_372._col3=SEL_374._col1(Inner),Output:["_col1","_col2"]
                           <-Map 11 [BROADCAST_EDGE] vectorized, llap
-                            BROADCAST [RS_306]
+                            BROADCAST [RS_372]
                               PartitionCols:_col3
-                              Map Join Operator [MAPJOIN_305] (rows=550 width=10)
-                                Conds:SEL_304._col0=RS_274._col0(Inner),Output:["_col1","_col2","_col3"]
+                              Map Join Operator [MAPJOIN_371] (rows=550 width=10)
+                                Conds:SEL_370._col0=RS_340._col0(Inner),Output:["_col1","_col2","_col3"]
                               <-Map 2 [BROAD

<TRUNCATED>

[36/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_4.q.out b/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
index 95098b9..c7a7153 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_4.q.out
@@ -25,28 +25,28 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 3 vectorized, llap
-      File Output Operator [FS_25]
-        Select Operator [SEL_24] (rows=2048 width=552)
+      File Output Operator [FS_35]
+        Select Operator [SEL_34] (rows=2048 width=552)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
         <-Reducer 2 [SIMPLE_EDGE] llap
           SHUFFLE [RS_10]
-            Merge Join Operator [MERGEJOIN_17] (rows=2048 width=552)
-              Conds:RS_20._col2=RS_23._col2(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
+            Merge Join Operator [MERGEJOIN_27] (rows=2048 width=552)
+              Conds:RS_30._col2=RS_33._col2(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
             <-Map 1 [SIMPLE_EDGE] vectorized, llap
-              SHUFFLE [RS_20]
+              SHUFFLE [RS_30]
                 PartitionCols:_col2
-                Select Operator [SEL_19] (rows=1365 width=251)
+                Select Operator [SEL_29] (rows=1365 width=251)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_18] (rows=1365 width=251)
+                  Filter Operator [FIL_28] (rows=1365 width=251)
                     predicate:cint BETWEEN 1000000 AND 3000000
                     TableScan [TS_0] (rows=12288 width=251)
                       default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
             <-Map 4 [SIMPLE_EDGE] vectorized, llap
-              SHUFFLE [RS_23]
+              SHUFFLE [RS_33]
                 PartitionCols:_col2
-                Select Operator [SEL_22] (rows=1019 width=251)
+                Select Operator [SEL_32] (rows=1019 width=251)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_21] (rows=1019 width=251)
+                  Filter Operator [FIL_31] (rows=1019 width=251)
                     predicate:(cbigint is not null and cint BETWEEN 1000000 AND 3000000)
                     TableScan [TS_3] (rows=12288 width=251)
                       default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
@@ -104,30 +104,30 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 3 vectorized, llap
-      File Output Operator [FS_27]
-        Group By Operator [GBY_26] (rows=1 width=8)
+      File Output Operator [FS_37]
+        Group By Operator [GBY_36] (rows=1 width=8)
           Output:["_col0"],aggregations:["count(VALUE._col0)"]
         <-Reducer 2 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_11]
             Group By Operator [GBY_10] (rows=1 width=8)
               Output:["_col0"],aggregations:["count()"]
-              Merge Join Operator [MERGEJOIN_19] (rows=2048 width=8)
-                Conds:RS_22._col0=RS_25._col0(Inner)
+              Merge Join Operator [MERGEJOIN_29] (rows=2048 width=8)
+                Conds:RS_32._col0=RS_35._col0(Inner)
               <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_22]
+                SHUFFLE [RS_32]
                   PartitionCols:_col0
-                  Select Operator [SEL_21] (rows=1365 width=2)
+                  Select Operator [SEL_31] (rows=1365 width=2)
                     Output:["_col0"]
-                    Filter Operator [FIL_20] (rows=1365 width=2)
+                    Filter Operator [FIL_30] (rows=1365 width=2)
                       predicate:cint BETWEEN 1000000 AND 3000000
                       TableScan [TS_0] (rows=12288 width=2)
                         default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["cint"]
               <-Map 4 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_25]
+                SHUFFLE [RS_35]
                   PartitionCols:_col0
-                  Select Operator [SEL_24] (rows=1019 width=8)
+                  Select Operator [SEL_34] (rows=1019 width=8)
                     Output:["_col0"]
-                    Filter Operator [FIL_23] (rows=1019 width=8)
+                    Filter Operator [FIL_33] (rows=1019 width=8)
                       predicate:(cbigint is not null and cint BETWEEN 1000000 AND 3000000)
                       TableScan [TS_3] (rows=12288 width=8)
                         default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cbigint"]
@@ -179,35 +179,35 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 4 vectorized, llap
-      File Output Operator [FS_31]
-        Select Operator [SEL_30] (rows=631 width=11)
+      File Output Operator [FS_41]
+        Select Operator [SEL_40] (rows=631 width=11)
           Output:["_col0","_col1"]
         <-Reducer 3 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_29]
-            Group By Operator [GBY_28] (rows=631 width=11)
+          SHUFFLE [RS_39]
+            Group By Operator [GBY_38] (rows=631 width=11)
               Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
             <-Reducer 2 [SIMPLE_EDGE] llap
               SHUFFLE [RS_11]
                 PartitionCols:_col0
                 Group By Operator [GBY_10] (rows=631 width=11)
                   Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                  Merge Join Operator [MERGEJOIN_21] (rows=2048 width=3)
-                    Conds:RS_24._col1=RS_27._col0(Inner),Output:["_col0"]
+                  Merge Join Operator [MERGEJOIN_31] (rows=2048 width=3)
+                    Conds:RS_34._col1=RS_37._col0(Inner),Output:["_col0"]
                   <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                    SHUFFLE [RS_24]
+                    SHUFFLE [RS_34]
                       PartitionCols:_col1
-                      Select Operator [SEL_23] (rows=1365 width=5)
+                      Select Operator [SEL_33] (rows=1365 width=5)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_22] (rows=1365 width=5)
+                        Filter Operator [FIL_32] (rows=1365 width=5)
                           predicate:cint BETWEEN 1000000 AND 3000000
                           TableScan [TS_0] (rows=12288 width=5)
                             default@alltypesorc,a,Tbl:COMPLETE,Col:COMPLETE,Output:["csmallint","cint"]
                   <-Map 5 [SIMPLE_EDGE] vectorized, llap
-                    SHUFFLE [RS_27]
+                    SHUFFLE [RS_37]
                       PartitionCols:_col0
-                      Select Operator [SEL_26] (rows=1019 width=8)
+                      Select Operator [SEL_36] (rows=1019 width=8)
                         Output:["_col0"]
-                        Filter Operator [FIL_25] (rows=1019 width=8)
+                        Filter Operator [FIL_35] (rows=1019 width=8)
                           predicate:(cbigint is not null and cint BETWEEN 1000000 AND 3000000)
                           TableScan [TS_3] (rows=12288 width=8)
                             default@alltypesorc,b,Tbl:COMPLETE,Col:COMPLETE,Output:["cint","cbigint"]
@@ -264,28 +264,28 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 3 vectorized, llap
-      File Output Operator [FS_28]
-        Select Operator [SEL_27] (rows=1501 width=236)
+      File Output Operator [FS_38]
+        Select Operator [SEL_37] (rows=1501 width=236)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
         <-Reducer 2 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_26]
-            Map Join Operator [MAPJOIN_25] (rows=1501 width=236)
-              Conds:RS_21.KEY.reducesinkkey0=RS_24.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
+          SHUFFLE [RS_36]
+            Map Join Operator [MAPJOIN_35] (rows=1501 width=236)
+              Conds:RS_31.KEY.reducesinkkey0=RS_34.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18","_col19","_col20","_col21","_col22","_col23"]
             <-Map 4 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-              PARTITION_ONLY_SHUFFLE [RS_24]
+              PARTITION_ONLY_SHUFFLE [RS_34]
                 PartitionCols:_col2
-                Select Operator [SEL_23] (rows=1365 width=236)
+                Select Operator [SEL_33] (rows=1365 width=236)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_22] (rows=1365 width=236)
+                  Filter Operator [FIL_32] (rows=1365 width=236)
                     predicate:(cbigint is not null and cint BETWEEN 1000000 AND 3000000)
                     TableScan [TS_3] (rows=12288 width=236)
                       default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
             <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-              PARTITION_ONLY_SHUFFLE [RS_21]
+              PARTITION_ONLY_SHUFFLE [RS_31]
                 PartitionCols:_col2
-                Select Operator [SEL_20] (rows=1365 width=236)
+                Select Operator [SEL_30] (rows=1365 width=236)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                  Filter Operator [FIL_19] (rows=1365 width=236)
+                  Filter Operator [FIL_29] (rows=1365 width=236)
                     predicate:cint BETWEEN 1000000 AND 3000000
                     TableScan [TS_0] (rows=12288 width=236)
                       default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["ctinyint","csmallint","cint","cbigint","cfloat","cdouble","cstring1","cstring2","ctimestamp1","ctimestamp2","cboolean1","cboolean2"]
@@ -343,30 +343,30 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 3 vectorized, llap
-      File Output Operator [FS_31]
-        Group By Operator [GBY_30] (rows=1 width=8)
+      File Output Operator [FS_41]
+        Group By Operator [GBY_40] (rows=1 width=8)
           Output:["_col0"],aggregations:["count(VALUE._col0)"]
         <-Reducer 2 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-          PARTITION_ONLY_SHUFFLE [RS_29]
-            Group By Operator [GBY_28] (rows=1 width=8)
+          PARTITION_ONLY_SHUFFLE [RS_39]
+            Group By Operator [GBY_38] (rows=1 width=8)
               Output:["_col0"],aggregations:["count()"]
-              Map Join Operator [MAPJOIN_27] (rows=1501 width=236)
-                Conds:RS_23.KEY.reducesinkkey0=RS_26.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true
+              Map Join Operator [MAPJOIN_37] (rows=1501 width=236)
+                Conds:RS_33.KEY.reducesinkkey0=RS_36.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true
               <-Map 4 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-                PARTITION_ONLY_SHUFFLE [RS_26]
+                PARTITION_ONLY_SHUFFLE [RS_36]
                   PartitionCols:_col0
-                  Select Operator [SEL_25] (rows=1365 width=236)
+                  Select Operator [SEL_35] (rows=1365 width=236)
                     Output:["_col0"]
-                    Filter Operator [FIL_24] (rows=1365 width=236)
+                    Filter Operator [FIL_34] (rows=1365 width=236)
                       predicate:(cbigint is not null and cint BETWEEN 1000000 AND 3000000)
                       TableScan [TS_3] (rows=12288 width=236)
                         default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["cint","cbigint"]
               <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-                PARTITION_ONLY_SHUFFLE [RS_23]
+                PARTITION_ONLY_SHUFFLE [RS_33]
                   PartitionCols:_col0
-                  Select Operator [SEL_22] (rows=1365 width=236)
+                  Select Operator [SEL_32] (rows=1365 width=236)
                     Output:["_col0"]
-                    Filter Operator [FIL_21] (rows=1365 width=236)
+                    Filter Operator [FIL_31] (rows=1365 width=236)
                       predicate:cint BETWEEN 1000000 AND 3000000
                       TableScan [TS_0] (rows=12288 width=236)
                         default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["cint"]
@@ -418,35 +418,35 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 4 vectorized, llap
-      File Output Operator [FS_35]
-        Select Operator [SEL_34] (rows=750 width=236)
+      File Output Operator [FS_45]
+        Select Operator [SEL_44] (rows=750 width=236)
           Output:["_col0","_col1"]
         <-Reducer 3 [SIMPLE_EDGE] vectorized, llap
-          SHUFFLE [RS_33]
-            Group By Operator [GBY_32] (rows=750 width=236)
+          SHUFFLE [RS_43]
+            Group By Operator [GBY_42] (rows=750 width=236)
               Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
             <-Reducer 2 [SIMPLE_EDGE] vectorized, llap
-              SHUFFLE [RS_31]
+              SHUFFLE [RS_41]
                 PartitionCols:_col0
-                Group By Operator [GBY_30] (rows=1501 width=236)
+                Group By Operator [GBY_40] (rows=1501 width=236)
                   Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                  Map Join Operator [MAPJOIN_29] (rows=1501 width=236)
-                    Conds:RS_25.KEY.reducesinkkey0=RS_28.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0"]
+                  Map Join Operator [MAPJOIN_39] (rows=1501 width=236)
+                    Conds:RS_35.KEY.reducesinkkey0=RS_38.KEY.reducesinkkey0(Inner),HybridGraceHashJoin:true,Output:["_col0"]
                   <-Map 5 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-                    PARTITION_ONLY_SHUFFLE [RS_28]
+                    PARTITION_ONLY_SHUFFLE [RS_38]
                       PartitionCols:_col0
-                      Select Operator [SEL_27] (rows=1365 width=236)
+                      Select Operator [SEL_37] (rows=1365 width=236)
                         Output:["_col0"]
-                        Filter Operator [FIL_26] (rows=1365 width=236)
+                        Filter Operator [FIL_36] (rows=1365 width=236)
                           predicate:(cbigint is not null and cint BETWEEN 1000000 AND 3000000)
                           TableScan [TS_3] (rows=12288 width=236)
                             default@alltypesorc,b,Tbl:COMPLETE,Col:NONE,Output:["cint","cbigint"]
                   <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized, llap
-                    PARTITION_ONLY_SHUFFLE [RS_25]
+                    PARTITION_ONLY_SHUFFLE [RS_35]
                       PartitionCols:_col1
-                      Select Operator [SEL_24] (rows=1365 width=236)
+                      Select Operator [SEL_34] (rows=1365 width=236)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_23] (rows=1365 width=236)
+                        Filter Operator [FIL_33] (rows=1365 width=236)
                           predicate:cint BETWEEN 1000000 AND 3000000
                           TableScan [TS_0] (rows=12288 width=236)
                             default@alltypesorc,a,Tbl:COMPLETE,Col:NONE,Output:["csmallint","cint"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out b/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out
index c473183..4b15ce0 100644
--- a/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out
+++ b/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out
@@ -45,6 +45,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: f
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -122,6 +123,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: m
+                  filterExpr: ((value <> '') and key is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 2289 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -200,6 +202,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: g
+                  filterExpr: (value <> '') (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/groupby_resolution.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/groupby_resolution.q.out b/ql/src/test/results/clientpositive/llap/groupby_resolution.q.out
index 39dd4d5..11bb452 100644
--- a/ql/src/test/results/clientpositive/llap/groupby_resolution.q.out
+++ b/ql/src/test/results/clientpositive/llap/groupby_resolution.q.out
@@ -647,6 +647,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < '12') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < '12') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out b/ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
index a47df59..421250f 100644
--- a/ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
+++ b/ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
@@ -165,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tx2_n1
+                  filterExpr: (a < 0) (type: boolean)
                   Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (a < 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/having.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/having.q.out b/ql/src/test/results/clientpositive/llap/having.q.out
index 3964a31..742fc02 100644
--- a/ql/src/test/results/clientpositive/llap/having.q.out
+++ b/ql/src/test/results/clientpositive/llap/having.q.out
@@ -109,6 +109,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) <> 302.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) <> 302.0D) (type: boolean)
@@ -762,6 +763,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (UDFToDouble(key) > 300.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToDouble(key) > 300.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out b/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
index e98f3ba..333b103 100644
--- a/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint < 2000000000) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint < 2000000000) (type: boolean)
@@ -161,6 +163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint < 2000000000) (type: boolean)
@@ -193,6 +196,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cint < 2000000000) (type: boolean)
@@ -280,6 +284,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint is not null (type: boolean)
@@ -312,6 +317,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint is not null (type: boolean)
@@ -397,6 +403,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint is not null (type: boolean)
@@ -429,6 +436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd
+                  filterExpr: cint is not null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint is not null (type: boolean)
@@ -768,6 +776,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -800,6 +809,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -889,6 +899,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -922,6 +933,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1011,6 +1023,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1030,6 +1043,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1138,6 +1152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1157,6 +1172,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 525 Data size: 104474 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1291,6 +1307,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: l
+                  filterExpr: (cint = 6981) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1354300 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint = 6981) (type: boolean)
@@ -1309,6 +1326,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: r
+                  filterExpr: (cint = 6981) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1354300 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint = 6981) (type: boolean)
@@ -1494,6 +1512,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: l
+                  filterExpr: (cint = 6981) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1354300 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint = 6981) (type: boolean)
@@ -1512,6 +1531,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: r
+                  filterExpr: (cint = 6981) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 1354300 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cint = 6981) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_2.q.out b/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_2.q.out
index ed7d8c9..5996e07 100644
--- a/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_2.q.out
@@ -43,6 +43,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -89,6 +91,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -174,6 +177,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -189,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -220,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -316,6 +322,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -331,6 +338,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -365,6 +373,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: w
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -380,6 +389,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -469,6 +479,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -484,6 +495,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -518,6 +530,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: w
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -533,6 +546,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -640,6 +654,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -655,6 +670,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -670,6 +686,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -701,6 +718,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -716,6 +734,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -731,6 +750,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 182000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -890,6 +910,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -905,6 +926,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -920,6 +942,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -951,6 +974,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -966,6 +990,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -981,6 +1006,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 182000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1148,6 +1174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: ((value < 'zzzzzzzzzz') and (key < 'zzzzzzzz')) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 'zzzzzzzz') and (value < 'zzzzzzzzzz')) (type: boolean)
@@ -1164,6 +1191,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z1
+                  filterExpr: (key < 'zzzzzzzz') (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 'zzzzzzzz') (type: boolean)
@@ -1208,6 +1236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y1
+                  filterExpr: ((value < 'zzzzzzzz') and (key < 'zzzzzzzz')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 'zzzzzzzz') and (value < 'zzzzzzzz')) (type: boolean)
@@ -1223,6 +1252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z2
+                  filterExpr: ((key < 'zzzzzzzzzz') and (value < 'zzzzzzzzzz')) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 'zzzzzzzzzz') and (value < 'zzzzzzzzzz')) (type: boolean)
@@ -1238,6 +1268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: (value < 'zzzzzzzzzz') (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (value < 'zzzzzzzzzz') (type: boolean)
@@ -1343,6 +1374,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: ((value < 'zzzzzzzzzz') and (key < 'zzzzzzzz')) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 'zzzzzzzz') and (value < 'zzzzzzzzzz')) (type: boolean)
@@ -1359,6 +1391,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z1
+                  filterExpr: (key < 'zzzzzzzz') (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 'zzzzzzzz') (type: boolean)
@@ -1403,6 +1436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y1
+                  filterExpr: ((value < 'zzzzzzzz') and (key < 'zzzzzzzz')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 'zzzzzzzz') and (value < 'zzzzzzzz')) (type: boolean)
@@ -1418,6 +1452,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z2
+                  filterExpr: ((key < 'zzzzzzzzzz') and (value < 'zzzzzzzzzz')) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key < 'zzzzzzzzzz') and (value < 'zzzzzzzzzz')) (type: boolean)
@@ -1433,6 +1468,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: (value < 'zzzzzzzzzz') (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (value < 'zzzzzzzzzz') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/identity_project_remove_skip.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/identity_project_remove_skip.q.out b/ql/src/test/results/clientpositive/llap/identity_project_remove_skip.q.out
index b29d277..aacbd96 100644
--- a/ql/src/test/results/clientpositive/llap/identity_project_remove_skip.q.out
+++ b/ql/src/test/results/clientpositive/llap/identity_project_remove_skip.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((value = 'val_105') and (key = '105')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((key = '105') and (value = 'val_105')) (type: boolean)
@@ -49,6 +50,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key = '105') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = '105') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/insert1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert1.q.out b/ql/src/test/results/clientpositive/llap/insert1.q.out
index 33ad150..94cef86 100644
--- a/ql/src/test/results/clientpositive/llap/insert1.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert1.q.out
@@ -46,6 +46,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key = -1) (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = -1) (type: boolean)
@@ -136,6 +137,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key = -1) (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = -1) (type: boolean)
@@ -240,6 +242,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key = -1) (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = -1) (type: boolean)
@@ -330,6 +333,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key = -1) (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key = -1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out b/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
index 7f830e9..228cb6a 100644
--- a/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sourcetable
+                  filterExpr: ((ds = '2011-11-11') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 99 Data size: 93448 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: one (type: string), two (type: string)
@@ -245,6 +246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sourcetable
+                  filterExpr: ((ds = '2011-11-11') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 99 Data size: 93448 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: one (type: string), two (type: string)
@@ -402,6 +404,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sourcetable
+                  filterExpr: ((ds = '2011-11-11') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 99 Data size: 93448 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: one (type: string), two (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/insert_into2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_into2.q.out b/ql/src/test/results/clientpositive/llap/insert_into2.q.out
index 0303f56..47927d5 100644
--- a/ql/src/test/results/clientpositive/llap/insert_into2.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_into2.q.out
@@ -594,6 +594,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: insert_into2
+                  filterExpr: (ds = '2') (type: boolean)
                   Statistics: Num rows: 50 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     Statistics: Num rows: 50 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out b/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
index febcddb..cd38c51 100644
--- a/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
@@ -1704,6 +1704,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: insert_into1_n0
+                  filterExpr: (value = 1) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (value = 1) (type: boolean)
@@ -1811,6 +1812,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: insert_into1_n0
+                  filterExpr: (value = 1) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (value = 1) (type: boolean)
@@ -2368,6 +2370,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t
+                  filterExpr: enforce_constraint(key is not null) (type: boolean)
                   Statistics: Num rows: 20 Data size: 80 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: enforce_constraint(key is not null) (type: boolean)
@@ -2383,6 +2386,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s
+                  filterExpr: enforce_constraint(key is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: enforce_constraint(key is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out b/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
index 1c0841c..8bd95b1 100644
--- a/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_values_orig_table_use_metadata.q.out
@@ -906,6 +906,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sp
+                  filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
                   Statistics: Num rows: 99 Data size: 58912 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     Statistics: Num rows: 99 Data size: 58912 Basic stats: COMPLETE Column stats: COMPLETE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/is_distinct_from.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/is_distinct_from.q.out b/ql/src/test/results/clientpositive/llap/is_distinct_from.q.out
index 1938a76..5ec8867 100644
--- a/ql/src/test/results/clientpositive/llap/is_distinct_from.q.out
+++ b/ql/src/test/results/clientpositive/llap/is_distinct_from.q.out
@@ -194,6 +194,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: test_n5
+          filterExpr: (y <> null) (type: boolean)
           Filter Operator
             predicate: (y <> null) (type: boolean)
             Select Operator
@@ -226,6 +227,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: test_n5
+          filterExpr: (y = null) (type: boolean)
           Filter Operator
             predicate: (y = null) (type: boolean)
             Select Operator
@@ -265,6 +267,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: part
+          filterExpr: (p_size <> 2) (type: boolean)
           Filter Operator
             predicate: (p_size <> 2) (type: boolean)
             Select Operator
@@ -316,6 +319,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: part
+          filterExpr: (p_size = 2) (type: boolean)
           Filter Operator
             predicate: (p_size = 2) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/jdbc_handler.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/jdbc_handler.q.out b/ql/src/test/results/clientpositive/llap/jdbc_handler.q.out
index e7e3bc3..f55bda5 100644
--- a/ql/src/test/results/clientpositive/llap/jdbc_handler.q.out
+++ b/ql/src/test/results/clientpositive/llap/jdbc_handler.q.out
@@ -243,6 +243,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) - 1.0D) = 1.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) - 1.0D) = 1.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join0.q.out b/ql/src/test/results/clientpositive/llap/join0.q.out
index c2c6515..a6baa0f 100644
--- a/ql/src/test/results/clientpositive/llap/join0.q.out
+++ b/ql/src/test/results/clientpositive/llap/join0.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key < 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join1.q.out b/ql/src/test/results/clientpositive/llap/join1.q.out
index cf14327..9bdec85 100644
--- a/ql/src/test/results/clientpositive/llap/join1.q.out
+++ b/ql/src/test/results/clientpositive/llap/join1.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out b/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out
index e4b5673..48efb80 100644
--- a/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out
+++ b/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out
@@ -46,6 +46,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -136,6 +137,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -214,6 +216,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -578,6 +581,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -656,6 +660,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -734,6 +739,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -812,6 +818,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: w
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -1195,6 +1202,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -1273,6 +1281,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -1367,6 +1376,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -1729,6 +1739,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -1880,6 +1891,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Filter Operator
@@ -1965,7 +1977,7 @@ STAGE PLANS:
                   0 _col0 (type: string)
                   1 _col1 (type: string)
                 outputColumnNames: _col0, _col3, _col4
-                Position of Big Table: 0
+                Position of Big Table: 1
                 Statistics: Num rows: 63 Data size: 16758 Basic stats: COMPLETE Column stats: COMPLETE
                 Select Operator
                   expressions: _col3 (type: string), _col0 (type: string), _col4 (type: string)
@@ -2280,6 +2292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2299,6 +2312,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2333,6 +2347,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2570,6 +2585,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2589,6 +2605,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2623,6 +2640,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join46.q.out b/ql/src/test/results/clientpositive/llap/join46.q.out
index 1f637d4..b6ef9b1 100644
--- a/ql/src/test/results/clientpositive/llap/join46.q.out
+++ b/ql/src/test/results/clientpositive/llap/join46.q.out
@@ -190,6 +190,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2_n0
+                  filterExpr: key BETWEEN 100 AND 102 (type: boolean)
                   Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -302,6 +303,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2_n0
+                  filterExpr: key BETWEEN 100 AND 102 (type: boolean)
                   Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -2016,7 +2018,7 @@ NULL	NULL	None	NULL	NULL	NULL
 101	2	Car	102	2	Del
 101	2	Car	103	2	Ema
 NULL	NULL	NULL	104	3	Fli
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM (
@@ -2086,6 +2088,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col1 (type: int)
                       Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col0 (type: int), _col2 (type: string)
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 (type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: int)
                       sort order: +
@@ -2109,6 +2115,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col1 (type: int)
                       Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col0 (type: int), _col2 (type: string)
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_2 (type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: int)
                       sort order: +
@@ -2175,7 +2185,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: SELECT *
 FROM (
   SELECT test1_n2.key AS key1, test1_n2.value AS value1, test1_n2.col_1 AS col_1,

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join_is_not_distinct_from.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join_is_not_distinct_from.q.out b/ql/src/test/results/clientpositive/llap/join_is_not_distinct_from.q.out
index f29700f..acb3381 100644
--- a/ql/src/test/results/clientpositive/llap/join_is_not_distinct_from.q.out
+++ b/ql/src/test/results/clientpositive/llap/join_is_not_distinct_from.q.out
@@ -125,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -141,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -157,6 +159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -354,6 +357,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -369,6 +373,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -384,6 +389,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1596,6 +1602,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is null (type: boolean)
@@ -1612,6 +1619,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join_max_hashtable.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join_max_hashtable.q.out b/ql/src/test/results/clientpositive/llap/join_max_hashtable.q.out
index 996b789..c0c9f95 100644
--- a/ql/src/test/results/clientpositive/llap/join_max_hashtable.q.out
+++ b/ql/src/test/results/clientpositive/llap/join_max_hashtable.q.out
@@ -22,6 +22,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -53,6 +54,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -99,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -130,6 +133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -176,6 +180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -196,6 +201,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -263,6 +269,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -282,6 +289,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -349,6 +357,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -369,6 +378,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -436,6 +446,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -455,6 +466,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -522,6 +534,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -553,6 +566,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -599,6 +613,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -630,6 +645,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join_nullsafe.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join_nullsafe.q.out b/ql/src/test/results/clientpositive/llap/join_nullsafe.q.out
index d64c8b8..4e923c6 100644
--- a/ql/src/test/results/clientpositive/llap/join_nullsafe.q.out
+++ b/ql/src/test/results/clientpositive/llap/join_nullsafe.q.out
@@ -125,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -141,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -157,6 +159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -354,6 +357,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -369,6 +373,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -384,6 +389,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1596,6 +1602,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is null (type: boolean)
@@ -1612,6 +1619,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is null (type: boolean)


[30/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_select.q.out b/ql/src/test/results/clientpositive/llap/subquery_select.q.out
index f21fd39..bd569b3 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_select.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_select.q.out
@@ -641,6 +641,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1000,6 +1001,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1271,6 +1273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1408,6 +1411,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1546,6 +1550,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1768,7 +1773,7 @@ POSTHOOK: Input: default@part
 2	46
 46	46
 23	46
-Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[46][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain
 select *
 from src b
@@ -1805,6 +1810,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value is not null and key is not null) or ((key > '9') and value is not null)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1916,7 +1922,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[46][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select *
 from src b
 where b.key in
@@ -1975,6 +1981,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value is not null and key is not null) or ((key > '9') and value is not null) or value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2135,7 +2142,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 POSTHOOK: Output: default@tnull_n3
 POSTHOOK: Lineage: tnull_n3.i EXPRESSION []
-Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[29][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select p_size, p_size IN (select i from tnull_n3) from part
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select p_size, p_size IN (select i from tnull_n3) from part
@@ -2276,7 +2283,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[29][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select p_size, p_size IN (select i from tnull_n3) from part
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -3056,7 +3063,7 @@ STANDARD ANODIZED TIN	true
 STANDARD BURNISHED TIN	true
 STANDARD PLATED TIN	true
 STANDARD POLISHED STEEL	true
-Warning: Shuffle Join MERGEJOIN[62][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[72][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: EXPLAIN SELECT p_size, p_size IN (
         SELECT MAX(p_size) FROM part p where p.p_type = part.p_type) AND
         p_name IN (SELECT min(p_name) from part)
@@ -3106,6 +3113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -3298,7 +3306,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[62][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[72][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: SELECT p_size, p_size IN (
         SELECT MAX(p_size) FROM part p where p.p_type = part.p_type) AND
         p_name IN (SELECT min(p_name) from part)
@@ -3379,6 +3387,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -3777,6 +3786,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size BETWEEN 1 AND 20 (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size BETWEEN 1 AND 20 (type: boolean)
@@ -3798,6 +3808,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_partkey BETWEEN 1 AND 20 (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey BETWEEN 1 AND 20 (type: boolean)
@@ -3817,6 +3828,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_partkey BETWEEN 10000 AND 20000 (type: boolean)
                   Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey BETWEEN 10000 AND 20000 (type: boolean)
@@ -4114,7 +4126,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part
 #### A masked pattern was here ####
 true
-Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[48][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select o.p_size, (select count(distinct p_type) from part p where p.p_partkey = o.p_partkey) tmp
     FROM part o right join (select * from part where p_size > (select avg(p_size) from part)) t on t.p_partkey = o.p_partkey
 PREHOOK: type: QUERY
@@ -4151,6 +4163,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: int)
                       Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: int)
+                  Select Operator
+                    expressions: p_partkey (type: int), p_size (type: int)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       sort order: 
                       Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
@@ -4181,6 +4197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -4289,7 +4306,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[48][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select o.p_size, (select count(distinct p_type) from part p where p.p_partkey = o.p_partkey) tmp
     FROM part o right join (select * from part where p_size > (select avg(p_size) from part)) t on t.p_partkey = o.p_partkey
 PREHOOK: type: QUERY
@@ -4569,7 +4586,7 @@ POSTHOOK: Input: default@part
 46	1	19.692307692307693	512
 46	1	19.692307692307693	512
 46	1	19.692307692307693	512
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[46][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select t1.p_size,
     (select count(*) from part p, part pp where p.p_size = pp.p_size and p.p_type = pp.p_type)
     from part t1
@@ -4611,6 +4628,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -4630,6 +4648,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -4701,7 +4720,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[46][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select t1.p_size,
     (select count(*) from part p, part pp where p.p_size = pp.p_size and p.p_type = pp.p_type)
     from part t1
@@ -4740,7 +4759,7 @@ POSTHOOK: Input: default@part
 2	28
 46	28
 23	28
-Warning: Shuffle Join MERGEJOIN[60][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[92][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select t1.p_size,
     (select count(*) from part p, part pp where p.p_size = pp.p_size and p.p_type = pp.p_type
                                               and (select sum(p_size) from part a1 where a1.p_partkey = p.p_partkey
@@ -4789,6 +4808,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -4811,6 +4831,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_type is not null and p_partkey is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null and p_type is not null) (type: boolean)
@@ -4831,6 +4852,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -4850,6 +4872,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -4991,7 +5014,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[60][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[92][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select t1.p_size,
     (select count(*) from part p, part pp where p.p_size = pp.p_size and p.p_type = pp.p_type
                                               and (select sum(p_size) from part a1 where a1.p_partkey = p.p_partkey
@@ -5034,7 +5057,7 @@ POSTHOOK: Input: default@part
 2	28
 46	28
 23	28
-Warning: Shuffle Join MERGEJOIN[89][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[127][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select t1.p_size,
     (select count(*) from part t2 where t2.p_partkey = t1.p_partkey group by t2.p_partkey),
     (select count(*) from part p, part pp where p.p_size = pp.p_size and p.p_type = pp.p_type
@@ -5105,6 +5128,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_type is not null and p_partkey is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null and p_type is not null) (type: boolean)
@@ -5125,6 +5149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -5144,6 +5169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -5373,7 +5399,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[89][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[127][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select t1.p_size,
     (select count(*) from part t2 where t2.p_partkey = t1.p_partkey group by t2.p_partkey),
     (select count(*) from part p, part pp where p.p_size = pp.p_size and p.p_type = pp.p_type

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_views.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_views.q.out b/ql/src/test/results/clientpositive/llap/subquery_views.q.out
index cde0413..05c91cd 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_views.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_views.q.out
@@ -116,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((key < '11') or ((value > 'val_11') and (key < '11')) or ((value > 'val_11') and (key < '11'))) (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
@@ -192,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < '11') (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/table_access_keys_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/table_access_keys_stats.q.out b/ql/src/test/results/clientpositive/llap/table_access_keys_stats.q.out
index bb823d4..1b6fdbd 100644
--- a/ql/src/test/results/clientpositive/llap/table_access_keys_stats.q.out
+++ b/ql/src/test/results/clientpositive/llap/table_access_keys_stats.q.out
@@ -496,7 +496,7 @@ Keys:val
 13.0	1
 17.0	1
 46.0	1
-Warning: Shuffle Join MERGEJOIN[29][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[39][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: SELECT *
 FROM
 (

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/temp_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/temp_table.q.out b/ql/src/test/results/clientpositive/llap/temp_table.q.out
index 7abb8e6..2965d54 100644
--- a/ql/src/test/results/clientpositive/llap/temp_table.q.out
+++ b/ql/src/test/results/clientpositive/llap/temp_table.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((UDFToDouble(key) % 2.0D) = 1.0D) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) % 2.0D) = 1.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_bmj_schema_evolution.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_bmj_schema_evolution.q.out b/ql/src/test/results/clientpositive/llap/tez_bmj_schema_evolution.q.out
index 5107fbe..5766ba2 100644
--- a/ql/src/test/results/clientpositive/llap/tez_bmj_schema_evolution.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_bmj_schema_evolution.q.out
@@ -86,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_n1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1000 Data size: 95000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -115,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out b/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
index fd6541e..cfa87a7 100644
--- a/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
@@ -31,6 +31,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -51,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -163,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -182,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -291,6 +295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -311,6 +316,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -442,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -462,6 +469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -577,6 +585,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -596,6 +605,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -708,6 +718,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -728,6 +739,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out b/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
index 3373fc25..55c581f 100644
--- a/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (csmallint < 100S) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint < 100S) (type: boolean)
@@ -59,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -78,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -230,6 +233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (csmallint < 100S) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint < 100S) (type: boolean)
@@ -250,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -269,6 +274,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -421,6 +427,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (csmallint < 100S) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint < 100S) (type: boolean)
@@ -441,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -460,6 +468,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out b/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
index 5a9fb30..f24906f 100644
--- a/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_input_counters.q.out
@@ -1859,6 +1859,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: v is not null (type: boolean)
                   Statistics: Num rows: 1000 Data size: 188000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: k (type: int), v (type: string)
@@ -1891,6 +1892,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: v is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 45120 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: k (type: int), v (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_join.q.out b/ql/src/test/results/clientpositive/llap/tez_join.q.out
index 8253333..53f8895 100644
--- a/ql/src/test/results/clientpositive/llap/tez_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_join.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n42
+                  filterExpr: id is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: id is not null (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n26
+                  filterExpr: id is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out b/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
index 122eb5c..0da6c05 100644
--- a/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_join_hash.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orc_src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -156,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -176,6 +179,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -195,6 +199,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -215,6 +220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_join_result_complex.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_join_result_complex.q.out b/ql/src/test/results/clientpositive/llap/tez_join_result_complex.q.out
index 8b5f73f..606c384 100644
--- a/ql/src/test/results/clientpositive/llap/tez_join_result_complex.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_join_result_complex.q.out
@@ -167,6 +167,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: contact_event_id is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 3212 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -251,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: cnctevn_id is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4944 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -1156,6 +1158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: contact_event_id is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 3212 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -1240,6 +1243,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: cnctevn_id is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4944 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_join_tests.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_join_tests.q.out b/ql/src/test/results/clientpositive/llap/tez_join_tests.q.out
index ff74455..bf2f5a8 100644
--- a/ql/src/test/results/clientpositive/llap/tez_join_tests.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_join_tests.q.out
@@ -33,6 +33,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: string)
                       sort order: +

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_joins_explain.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_joins_explain.q.out b/ql/src/test/results/clientpositive/llap/tez_joins_explain.q.out
index 012b934..72b84a0 100644
--- a/ql/src/test/results/clientpositive/llap/tez_joins_explain.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_joins_explain.q.out
@@ -33,6 +33,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: string)
                       sort order: +

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_nway_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_nway_join.q.out b/ql/src/test/results/clientpositive/llap/tez_nway_join.q.out
index 2dac1d2..fab8b52 100644
--- a/ql/src/test/results/clientpositive/llap/tez_nway_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_nway_join.q.out
@@ -53,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -107,6 +109,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -207,6 +211,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -226,6 +231,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_self_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_self_join.q.out b/ql/src/test/results/clientpositive/llap/tez_self_join.q.out
index fe602a5..a362411 100644
--- a/ql/src/test/results/clientpositive/llap/tez_self_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_self_join.q.out
@@ -42,7 +42,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 POSTHOOK: Output: default@tez_self_join2
 POSTHOOK: Lineage: tez_self_join2.id1 SCRIPT []
-Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain
 select s.id2, s.id3
 from  
@@ -82,6 +82,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tez_self_join2
+                  filterExpr: id1 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: id1 is not null (type: boolean)
@@ -101,6 +102,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: self1
+                  filterExpr: ((id2 = 'ab') and id1 is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 528 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((id2 = 'ab') and id1 is not null) (type: boolean)
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: self2
+                  filterExpr: (id3 = 'ab') (type: boolean)
                   Statistics: Num rows: 3 Data size: 258 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (id3 = 'ab') (type: boolean)
@@ -180,7 +183,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select s.id2, s.id3
 from  
 (

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_smb_empty.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_smb_empty.q.out b/ql/src/test/results/clientpositive/llap/tez_smb_empty.q.out
index c8d1d90..dfc4d30 100644
--- a/ql/src/test/results/clientpositive/llap/tez_smb_empty.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_smb_empty.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -149,6 +150,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -540,6 +542,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -551,6 +554,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -562,6 +566,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -646,6 +651,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -657,6 +663,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -668,6 +675,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -752,6 +760,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -763,6 +772,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -841,6 +851,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -852,6 +863,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out b/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
index 468f45c..9929989 100644
--- a/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -263,6 +265,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 3490 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -282,6 +285,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 7216 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -374,6 +378,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 3490 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -393,6 +398,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 7216 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -485,6 +491,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -504,6 +511,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -593,6 +601,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -622,6 +631,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -641,6 +651,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -719,6 +730,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -748,6 +760,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -767,6 +780,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -861,6 +875,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -880,6 +895,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -957,6 +973,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -976,6 +993,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1078,6 +1096,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1089,6 +1108,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1115,6 +1135,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1134,6 +1155,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1213,6 +1235,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1232,6 +1255,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1303,6 +1327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1322,6 +1347,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1409,6 +1435,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1438,6 +1465,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1457,6 +1485,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1529,6 +1558,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1558,6 +1588,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1577,6 +1608,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1674,6 +1706,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 924 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1716,6 +1749,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 924 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1735,6 +1769,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 924 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1767,6 +1802,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 1904 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1846,6 +1882,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 45994 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1864,6 +1901,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 94800 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_union.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_union.q.out b/ql/src/test/results/clientpositive/llap/tez_union.q.out
index 5e5e9a8..914ed47 100644
--- a/ql/src/test/results/clientpositive/llap/tez_union.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_union.q.out
@@ -25,6 +25,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -56,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -183,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -202,6 +205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -221,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -240,6 +245,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -359,6 +365,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -383,6 +390,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -414,6 +422,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -539,6 +548,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -585,6 +595,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s8
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -614,6 +625,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -633,6 +645,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s4
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -679,6 +692,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s5
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -698,6 +712,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s6
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -744,6 +759,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s7
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -763,6 +779,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -979,6 +996,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1010,6 +1028,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1029,6 +1048,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s4
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1060,6 +1080,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s5
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_union_group_by.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_union_group_by.q.out b/ql/src/test/results/clientpositive/llap/tez_union_group_by.q.out
index 9d7430d..2c79549 100644
--- a/ql/src/test/results/clientpositive/llap/tez_union_group_by.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_union_group_by.q.out
@@ -160,6 +160,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x_n3
+                  filterExpr: ((date < '2014-09-02') and (u <> 0L)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: ((date < '2014-09-02') and (u <> 0L)) (type: boolean)
@@ -186,6 +187,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: v_n15
+                  filterExpr: t is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: t is not null (type: boolean)
@@ -201,6 +203,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y_n1
+                  filterExpr: ((date < '2014-09-02') and (u <> 0L)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: ((date < '2014-09-02') and (u <> 0L)) (type: boolean)
@@ -227,6 +230,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z_n0
+                  filterExpr: ((date < '2014-09-02') and (u <> 0L)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: ((date < '2014-09-02') and (u <> 0L)) (type: boolean)
@@ -253,6 +257,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x_n3
+                  filterExpr: (t is not null and (date >= '2014-03-04') and (date < '2014-09-03') and (u <> 0L)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 560 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: ((date < '2014-09-03') and (date >= '2014-03-04') and (u <> 0L) and t is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out b/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
index 5c12e9a..dcc7e9d 100644
--- a/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
@@ -31,6 +31,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -51,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -163,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -182,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -291,6 +295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -311,6 +316,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -442,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -462,6 +469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -577,6 +585,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -596,6 +605,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)
@@ -708,6 +718,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: cint BETWEEN 1000000 AND 3000000 (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cint BETWEEN 1000000 AND 3000000 (type: boolean)
@@ -728,6 +739,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (cint BETWEEN 1000000 AND 3000000 and cbigint is not null) (type: boolean)
                   Statistics: Num rows: ###Masked### Data size: ###Masked### Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cbigint is not null and cint BETWEEN 1000000 AND 3000000) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out b/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
index 3373fc25..55c581f 100644
--- a/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (csmallint < 100S) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint < 100S) (type: boolean)
@@ -59,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -78,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -230,6 +233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (csmallint < 100S) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint < 100S) (type: boolean)
@@ -250,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -269,6 +274,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -421,6 +427,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (csmallint < 100S) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (csmallint < 100S) (type: boolean)
@@ -441,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -460,6 +468,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)


[52/58] [abbrv] hive git commit: HIVE-19948: HiveCli is not splitting the command by semicolon properly if quotes are inside the string (Aihua Xu, reviewed by Sahil Takiar)

Posted by se...@apache.org.
HIVE-19948: HiveCli is not splitting the command by semicolon properly if quotes are inside the string (Aihua Xu, reviewed by Sahil Takiar)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f37c5de6
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f37c5de6
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f37c5de6

Branch: refs/heads/master-txnstats
Commit: f37c5de6c32b9395d1b34fa3c02ed06d1bfbf6eb
Parents: f2c4f31
Author: Aihua Xu <ai...@apache.org>
Authored: Wed Jun 20 09:01:10 2018 -0700
Committer: Aihua Xu <ai...@apache.org>
Committed: Mon Jun 25 11:39:55 2018 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/cli/CliDriver.java   | 61 ++++++++++++--------
 .../hadoop/hive/cli/TestCliDriverMethods.java   | 23 ++++++++
 2 files changed, 59 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/f37c5de6/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
----------------------------------------------------------------------
diff --git a/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java b/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
index 68741f6..806663d 100644
--- a/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
+++ b/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
@@ -416,44 +416,55 @@ public class CliDriver {
     }
   }
 
+  /**
+   * Split the line by semicolon by ignoring the ones in the single/double quotes.
+   *
+   */
   public static List<String> splitSemiColon(String line) {
-    boolean insideSingleQuote = false;
-    boolean insideDoubleQuote = false;
+    boolean inQuotes = false;
     boolean escape = false;
-    int beginIndex = 0;
+
     List<String> ret = new ArrayList<>();
+
+    char quoteChar = '"';
+    int beginIndex = 0;
     for (int index = 0; index < line.length(); index++) {
-      if (line.charAt(index) == '\'') {
-        // take a look to see if it is escaped
-        if (!escape) {
-          // flip the boolean variable
-          insideSingleQuote = !insideSingleQuote;
-        }
-      } else if (line.charAt(index) == '\"') {
-        // take a look to see if it is escaped
-        if (!escape) {
-          // flip the boolean variable
-          insideDoubleQuote = !insideDoubleQuote;
-        }
-      } else if (line.charAt(index) == ';') {
-        if (insideSingleQuote || insideDoubleQuote) {
-          // do not split
-        } else {
-          // split, do not include ; itself
+      char c = line.charAt(index);
+      switch (c) {
+      case ';':
+        if (!inQuotes) {
           ret.add(line.substring(beginIndex, index));
           beginIndex = index + 1;
         }
-      } else {
-        // nothing to do
+        break;
+      case '"':
+      case '\'':
+        if (!escape) {
+          if (!inQuotes) {
+            quoteChar = c;
+            inQuotes = !inQuotes;
+          } else {
+            if (c == quoteChar) {
+              inQuotes = !inQuotes;
+            }
+          }
+        }
+        break;
+      default:
+        break;
       }
-      // set the escape
+
       if (escape) {
         escape = false;
-      } else if (line.charAt(index) == '\\') {
+      } else if (c == '\\') {
         escape = true;
       }
     }
-    ret.add(line.substring(beginIndex));
+
+    if (beginIndex < line.length()) {
+      ret.add(line.substring(beginIndex));
+    }
+
     return ret;
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f37c5de6/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
----------------------------------------------------------------------
diff --git a/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java b/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
index c06ec3e..8f8f04e 100644
--- a/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
+++ b/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
@@ -53,6 +53,7 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.metastore.api.Schema;
 import org.apache.hadoop.hive.ql.IDriver;
 import org.apache.hadoop.hive.ql.processors.CommandProcessorResponse;
+import org.junit.Test;
 
 
 // Cannot call class TestCliDriver since that's the name of the generated
@@ -353,6 +354,28 @@ public class TestCliDriverMethods extends TestCase {
     }
   }
 
+  @Test
+  public void testCommandSplits() {
+    // Test double quote in the string
+    String cmd1 = "insert into escape1 partition (ds='1', part='\"') values (\"!\")";
+    assertEquals(cmd1, CliDriver.splitSemiColon(cmd1).get(0));
+    assertEquals(cmd1, CliDriver.splitSemiColon(cmd1 + ";").get(0));
+
+    // Test escape
+    String cmd2 = "insert into escape1 partition (ds='1', part='\"\\'') values (\"!\")";
+    assertEquals(cmd2, CliDriver.splitSemiColon(cmd2).get(0));
+    assertEquals(cmd2, CliDriver.splitSemiColon(cmd2 + ";").get(0));
+
+    // Test multiple commands
+    List<String> results = CliDriver.splitSemiColon(cmd1 + ";" + cmd2);
+    assertEquals(cmd1, results.get(0));
+    assertEquals(cmd2, results.get(1));
+
+    results = CliDriver.splitSemiColon(cmd1 + ";" + cmd2 + ";");
+    assertEquals(cmd1, results.get(0));
+    assertEquals(cmd2, results.get(1));
+  }
+
   private static void setEnv(String key, String value) throws Exception {
     Class[] classes = Collections.class.getDeclaredClasses();
     Map<String, String> env = System.getenv();


[45/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input42.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input42.q.out b/ql/src/test/results/clientpositive/input42.q.out
index 5d44dd2..f47b0c6 100644
--- a/ql/src/test/results/clientpositive/input42.q.out
+++ b/ql/src/test/results/clientpositive/input42.q.out
@@ -109,6 +109,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: a
+          filterExpr: (ds = '2008-04-08') (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator
@@ -1240,6 +1241,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: a
+          filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) < 200.0D)) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input6.q.out b/ql/src/test/results/clientpositive/input6.q.out
index f6a5e43..de9e798 100644
--- a/ql/src/test/results/clientpositive/input6.q.out
+++ b/ql/src/test/results/clientpositive/input6.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part0.q.out b/ql/src/test/results/clientpositive/input_part0.q.out
index f1853aa..aa25c46 100644
--- a/ql/src/test/results/clientpositive/input_part0.q.out
+++ b/ql/src/test/results/clientpositive/input_part0.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: x
+          filterExpr: (ds = '2008-04-08') (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part1.q.out b/ql/src/test/results/clientpositive/input_part1.q.out
index 801c31b..088a9a9 100644
--- a/ql/src/test/results/clientpositive/input_part1.q.out
+++ b/ql/src/test/results/clientpositive/input_part1.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((UDFToDouble(key) < 100.0D) and (ds = '2008-04-08') and (hr = '12')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part3.q.out b/ql/src/test/results/clientpositive/input_part3.q.out
index 3c1b29b..375fec9 100644
--- a/ql/src/test/results/clientpositive/input_part3.q.out
+++ b/ql/src/test/results/clientpositive/input_part3.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: x
+          filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D)) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part4.q.out b/ql/src/test/results/clientpositive/input_part4.q.out
index fd09911..cdae542 100644
--- a/ql/src/test/results/clientpositive/input_part4.q.out
+++ b/ql/src/test/results/clientpositive/input_part4.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: x
+          filterExpr: ((ds = '2008-04-08') and (UDFToDouble(hr) = 15.0D)) (type: boolean)
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
             predicate: ((UDFToDouble(hr) = 15.0D) and (ds = '2008-04-08')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part5.q.out b/ql/src/test/results/clientpositive/input_part5.q.out
index 3b4c490..75c44ae 100644
--- a/ql/src/test/results/clientpositive/input_part5.q.out
+++ b/ql/src/test/results/clientpositive/input_part5.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) < 100.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part6.q.out b/ql/src/test/results/clientpositive/input_part6.q.out
index 90e8ba3..2392ce0 100644
--- a/ql/src/test/results/clientpositive/input_part6.q.out
+++ b/ql/src/test/results/clientpositive/input_part6.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: x
+          filterExpr: (ds = '2008-04-08') (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part7.q.out b/ql/src/test/results/clientpositive/input_part7.q.out
index c4f0b11..23f3fd7 100644
--- a/ql/src/test/results/clientpositive/input_part7.q.out
+++ b/ql/src/test/results/clientpositive/input_part7.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((ds = '2008-04-08') and (key < 100)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -49,6 +50,7 @@ STAGE PLANS:
                       auto parallelism: false
           TableScan
             alias: y
+            filterExpr: ((ds = '2008-04-08') and (key < 100)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part8.q.out b/ql/src/test/results/clientpositive/input_part8.q.out
index 0fef273..a35d6cf 100644
--- a/ql/src/test/results/clientpositive/input_part8.q.out
+++ b/ql/src/test/results/clientpositive/input_part8.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: x
+          filterExpr: (ds = '2008-04-08') (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_part9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_part9.q.out b/ql/src/test/results/clientpositive/input_part9.q.out
index d1bd4f9..dc2d7d8 100644
--- a/ql/src/test/results/clientpositive/input_part9.q.out
+++ b/ql/src/test/results/clientpositive/input_part9.q.out
@@ -109,6 +109,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: x
+          filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_testxpath2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_testxpath2.q.out b/ql/src/test/results/clientpositive/input_testxpath2.q.out
index d0494ac..8584923 100644
--- a/ql/src/test/results/clientpositive/input_testxpath2.q.out
+++ b/ql/src/test/results/clientpositive/input_testxpath2.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src_thrift
+            filterExpr: (lint is not null and mstringstring is not null) (type: boolean)
             Statistics: Num rows: 11 Data size: 30700 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (lint is not null and mstringstring is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input_testxpath4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_testxpath4.q.out b/ql/src/test/results/clientpositive/input_testxpath4.q.out
index 24454c1..faaaa62 100644
--- a/ql/src/test/results/clientpositive/input_testxpath4.q.out
+++ b/ql/src/test/results/clientpositive/input_testxpath4.q.out
@@ -94,6 +94,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src_thrift
+            filterExpr: (mstringstring['key_9'] is not null and lintstring.myint is not null and lintstring is not null) (type: boolean)
             Statistics: Num rows: 11 Data size: 30700 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (lintstring is not null and lintstring.myint is not null and mstringstring['key_9'] is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/insert1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/insert1.q.out b/ql/src/test/results/clientpositive/insert1.q.out
index 7272a89..7d3305e 100644
--- a/ql/src/test/results/clientpositive/insert1.q.out
+++ b/ql/src/test/results/clientpositive/insert1.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key = -1) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (key = -1) (type: boolean)
@@ -164,6 +165,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key = -1) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (key = -1) (type: boolean)
@@ -298,6 +300,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key = -1) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (key = -1) (type: boolean)
@@ -418,6 +421,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key = -1) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (key = -1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out b/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
index 8f0d998..99f0ed0 100644
--- a/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
+++ b/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
@@ -61,6 +61,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: sourcetable
+            filterExpr: (ds = '2011-11-11') (type: boolean)
             Statistics: Num rows: 124 Data size: 60280 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: one (type: string), two (type: string)
@@ -201,6 +202,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: sourcetable
+            filterExpr: (ds = '2011-11-11') (type: boolean)
             Statistics: Num rows: 124 Data size: 60280 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: one (type: string), two (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/insert_into2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/insert_into2.q.out b/ql/src/test/results/clientpositive/insert_into2.q.out
index eb0a179..fff6076 100644
--- a/ql/src/test/results/clientpositive/insert_into2.q.out
+++ b/ql/src/test/results/clientpositive/insert_into2.q.out
@@ -579,6 +579,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: insert_into2
+            filterExpr: (ds = '2') (type: boolean)
             Statistics: Num rows: 50 Data size: 530 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               Statistics: Num rows: 50 Data size: 530 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join0.q.out b/ql/src/test/results/clientpositive/join0.q.out
index 3362b5e..003a990 100644
--- a/ql/src/test/results/clientpositive/join0.q.out
+++ b/ql/src/test/results/clientpositive/join0.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -112,7 +114,7 @@ SELECT src1.key as k1, src1.value as v1,
   (SELECT * FROM src WHERE src.key < 10) src2
   SORT BY k1, v1, k2, v2
 POSTHOOK: type: QUERY
-{"STAGE DEPENDENCIES":{"Stage-1":{"ROOT STAGE":"TRUE"},"Stage-2":{"DEPENDENT STAGES":"Stage-1"},"Stage-0":{"DEPENDENT STAGES":"Stage-2"}},"STAGE PLANS":{"Stage-1":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_0","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_13","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_2","children":{"Reduce Output Operator":{"columnExprMap:":{"VALUE._col0":"_col0","VALUE._col1":"_col1"},"so
 rt order:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_6"}}}}}}}},{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_3","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_14","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_5","children":{"Reduce Output Operator":{"columnExprMap:":{"VALUE._col0":"_col0","VALUE._col1":"_col1"},"sort o
 rder:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_7"}}}}}}}}],"Reduce Operator Tree:":{"Join Operator":{"columnExprMap:":{"_col0":"0:VALUE._col0","_col1":"0:VALUE._col1","_col2":"1:VALUE._col0","_col3":"1:VALUE._col1"},"condition map:":[{"":"Inner Join 0 to 1"}],"keys:":{},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"JOIN_8","children":{"File Output Operator":{"compressed:":"false","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe"},"OperatorId:":"FS_15"}}}}}},"Stage-2":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"columns:":["_col0","_col1","_col2","_col3"],"Operato
 rId:":"TS_16","children":{"Reduce Output Operator":{"columnExprMap:":{"KEY.reducesinkkey0":"_col0","KEY.reducesinkkey1":"_col1","KEY.reducesinkkey2":"_col2","KEY.reducesinkkey3":"_col3"},"key expressions:":"_col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)","sort order:":"++++","Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"RS_10"}}}}],"Reduce Operator Tree:":{"Select Operator":{"expressions:":"KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey2 (type: string), KEY.reducesinkkey3 (type: string)","columnExprMap:":{"_col0":"KEY.reducesinkkey0","_col1":"KEY.reducesinkkey1","_col2":"KEY.reducesinkkey2","_col3":"KEY.reducesinkkey3"},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_11","children":{"File Output Operator":{"compressed:":"false","
 Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"},"OperatorId:":"FS_12"}}}}}},"Stage-0":{"Fetch Operator":{"limit:":"-1","Processor Tree:":{"ListSink":{"OperatorId:":"LIST_SINK_17"}}}}}}
+{"STAGE DEPENDENCIES":{"Stage-1":{"ROOT STAGE":"TRUE"},"Stage-2":{"DEPENDENT STAGES":"Stage-1"},"Stage-0":{"DEPENDENT STAGES":"Stage-2"}},"STAGE PLANS":{"Stage-1":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","filterExpr:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_0","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_13","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_2","children":{"Reduce Output Operator":{"columnExprMap:":{"VALU
 E._col0":"_col0","VALUE._col1":"_col1"},"sort order:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_6"}}}}}}}},{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","filterExpr:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_3","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_14","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_5","children":{"Reduce Ou
 tput Operator":{"columnExprMap:":{"VALUE._col0":"_col0","VALUE._col1":"_col1"},"sort order:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_7"}}}}}}}}],"Reduce Operator Tree:":{"Join Operator":{"columnExprMap:":{"_col0":"0:VALUE._col0","_col1":"0:VALUE._col1","_col2":"1:VALUE._col0","_col3":"1:VALUE._col1"},"condition map:":[{"":"Inner Join 0 to 1"}],"keys:":{},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"JOIN_8","children":{"File Output Operator":{"compressed:":"false","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe"},"OperatorId:":"FS_15"}}}}}},"Stage-2":{"Map Reduce":{"Ma
 p Operator Tree:":[{"TableScan":{"columns:":["_col0","_col1","_col2","_col3"],"OperatorId:":"TS_16","children":{"Reduce Output Operator":{"columnExprMap:":{"KEY.reducesinkkey0":"_col0","KEY.reducesinkkey1":"_col1","KEY.reducesinkkey2":"_col2","KEY.reducesinkkey3":"_col3"},"key expressions:":"_col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)","sort order:":"++++","Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"RS_10"}}}}],"Reduce Operator Tree:":{"Select Operator":{"expressions:":"KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey2 (type: string), KEY.reducesinkkey3 (type: string)","columnExprMap:":{"_col0":"KEY.reducesinkkey0","_col1":"KEY.reducesinkkey1","_col2":"KEY.reducesinkkey2","_col3":"KEY.reducesinkkey3"},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NO
 NE","OperatorId:":"SEL_11","children":{"File Output Operator":{"compressed:":"false","Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"},"OperatorId:":"FS_12"}}}}}},"Stage-0":{"Fetch Operator":{"limit:":"-1","Processor Tree:":{"ListSink":{"OperatorId:":"LIST_SINK_17"}}}}}}
 Warning: Shuffle Join JOIN[8][tables = [src1, src2]] in Stage 'Stage-1:MAPRED' is a cross product
 PREHOOK: query: SELECT src1.key as k1, src1.value as v1, 
        src2.key as k2, src2.value as v2 FROM 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join10.q.out b/ql/src/test/results/clientpositive/join10.q.out
index eb67903..385d2a2 100644
--- a/ql/src/test/results/clientpositive/join10.q.out
+++ b/ql/src/test/results/clientpositive/join10.q.out
@@ -22,6 +22,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -37,6 +38,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join11.q.out b/ql/src/test/results/clientpositive/join11.q.out
index aa717df..7cfff50 100644
--- a/ql/src/test/results/clientpositive/join11.q.out
+++ b/ql/src/test/results/clientpositive/join11.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -39,6 +40,7 @@ STAGE PLANS:
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join12.q.out b/ql/src/test/results/clientpositive/join12.q.out
index 29e3b26..964fa1b 100644
--- a/ql/src/test/results/clientpositive/join12.q.out
+++ b/ql/src/test/results/clientpositive/join12.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 80.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 80.0D) (type: boolean)
@@ -45,6 +46,7 @@ STAGE PLANS:
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 80.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 80.0D) (type: boolean)
@@ -60,6 +62,7 @@ STAGE PLANS:
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 80.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 80.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join13.q.out b/ql/src/test/results/clientpositive/join13.q.out
index 17c8ca7..ca41e22 100644
--- a/ql/src/test/results/clientpositive/join13.q.out
+++ b/ql/src/test/results/clientpositive/join13.q.out
@@ -31,6 +31,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -47,6 +48,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -88,6 +90,7 @@ STAGE PLANS:
               value expressions: _col1 (type: string), _col2 (type: string)
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 200.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 200.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join14.q.out b/ql/src/test/results/clientpositive/join14.q.out
index 2e559c6..631b335 100644
--- a/ql/src/test/results/clientpositive/join14.q.out
+++ b/ql/src/test/results/clientpositive/join14.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -41,6 +42,7 @@ STAGE PLANS:
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: srcpart
+            filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join15.q.out b/ql/src/test/results/clientpositive/join15.q.out
index c5b6518..8fe9bb1 100644
--- a/ql/src/test/results/clientpositive/join15.q.out
+++ b/ql/src/test/results/clientpositive/join15.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -27,6 +28,7 @@ STAGE PLANS:
                 value expressions: value (type: string)
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join16.q.out b/ql/src/test/results/clientpositive/join16.q.out
index cb1d572..686b812 100644
--- a/ql/src/test/results/clientpositive/join16.q.out
+++ b/ql/src/test/results/clientpositive/join16.q.out
@@ -12,6 +12,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)
@@ -27,6 +28,7 @@ STAGE PLANS:
                   Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: tab
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join17.q.out b/ql/src/test/results/clientpositive/join17.q.out
index 12086fb..4290cc5 100644
--- a/ql/src/test/results/clientpositive/join17.q.out
+++ b/ql/src/test/results/clientpositive/join17.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -47,6 +48,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join19.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join19.q.out b/ql/src/test/results/clientpositive/join19.q.out
index 35b20c7..a34f4ca 100644
--- a/ql/src/test/results/clientpositive/join19.q.out
+++ b/ql/src/test/results/clientpositive/join19.q.out
@@ -132,6 +132,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t5
+            filterExpr: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and subject is not null and object is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and object is not null and subject is not null) (type: boolean)
@@ -148,6 +149,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string)
           TableScan
             alias: t6
+            filterExpr: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__LABEL_REL') and subject is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__LABEL_REL') and subject is not null) (type: boolean)
@@ -254,6 +256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t3
+            filterExpr: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_from') and object is not null and subject is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_from') and object is not null and subject is not null) (type: boolean)
@@ -270,6 +273,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: t4
+            filterExpr: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and (object = 'http://ontos/OntosMiner/Common.English/ontology#Author') and subject is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((object = 'http://ontos/OntosMiner/Common.English/ontology#Author') and (predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and subject is not null) (type: boolean)
@@ -304,6 +308,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t2
+            filterExpr: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__LABEL_REL') and subject is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__LABEL_REL') and subject is not null) (type: boolean)
@@ -320,6 +325,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: t1
+            filterExpr: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and (object = 'http://ontos/OntosMiner/Common.English/ontology#Citation') and subject is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((object = 'http://ontos/OntosMiner/Common.English/ontology#Citation') and (predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and subject is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join2.q.out b/ql/src/test/results/clientpositive/join2.q.out
index d4560da..4b80607 100644
--- a/ql/src/test/results/clientpositive/join2.q.out
+++ b/ql/src/test/results/clientpositive/join2.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -41,6 +42,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -82,6 +84,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join20.q.out b/ql/src/test/results/clientpositive/join20.q.out
index 071f1ae..6a072e0 100644
--- a/ql/src/test/results/clientpositive/join20.q.out
+++ b/ql/src/test/results/clientpositive/join20.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -29,6 +30,7 @@ STAGE PLANS:
                 value expressions: value (type: string)
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -679,6 +681,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((key < 15) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 15)) (type: boolean)
@@ -691,6 +694,7 @@ STAGE PLANS:
                 value expressions: value (type: string)
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key < 15)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 15)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join21.q.out b/ql/src/test/results/clientpositive/join21.q.out
index cde2bcb..4886609 100644
--- a/ql/src/test/results/clientpositive/join21.q.out
+++ b/ql/src/test/results/clientpositive/join21.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
               value expressions: value (type: string)
           TableScan
             alias: src2
+            filterExpr: (key > 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join22.q.out b/ql/src/test/results/clientpositive/join22.q.out
index 3695655..f4b9472 100644
--- a/ql/src/test/results/clientpositive/join22.q.out
+++ b/ql/src/test/results/clientpositive/join22.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -31,6 +32,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -72,6 +74,7 @@ STAGE PLANS:
               value expressions: _col1 (type: string)
           TableScan
             alias: src4
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join23.q.out b/ql/src/test/results/clientpositive/join23.q.out
index 64822b6..c76118a 100644
--- a/ql/src/test/results/clientpositive/join23.q.out
+++ b/ql/src/test/results/clientpositive/join23.q.out
@@ -16,6 +16,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -26,6 +27,7 @@ STAGE PLANS:
                 value expressions: key (type: string), value (type: string)
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join25.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join25.q.out b/ql/src/test/results/clientpositive/join25.q.out
index 94db4a4..2cf39a4 100644
--- a/ql/src/test/results/clientpositive/join25.q.out
+++ b/ql/src/test/results/clientpositive/join25.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
         $hdt$_0:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join26.q.out b/ql/src/test/results/clientpositive/join26.q.out
index 06b6d69..08e0099 100644
--- a/ql/src/test/results/clientpositive/join26.q.out
+++ b/ql/src/test/results/clientpositive/join26.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
         $hdt$_1:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -58,6 +59,7 @@ STAGE PLANS:
         $hdt$_2:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -80,6 +82,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join27.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join27.q.out b/ql/src/test/results/clientpositive/join27.q.out
index d21e232..13d8f72 100644
--- a/ql/src/test/results/clientpositive/join27.q.out
+++ b/ql/src/test/results/clientpositive/join27.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
         $hdt$_0:x 
           TableScan
             alias: x
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join28.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join28.q.out b/ql/src/test/results/clientpositive/join28.q.out
index e8098ab..8a3d79d 100644
--- a/ql/src/test/results/clientpositive/join28.q.out
+++ b/ql/src/test/results/clientpositive/join28.q.out
@@ -43,6 +43,7 @@ STAGE PLANS:
         $hdt$_0:z 
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
         $hdt$_1:$hdt$_2:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -76,6 +78,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join29.q.out b/ql/src/test/results/clientpositive/join29.q.out
index 6afca35..9bb10b7 100644
--- a/ql/src/test/results/clientpositive/join29.q.out
+++ b/ql/src/test/results/clientpositive/join29.q.out
@@ -37,6 +37,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -283,6 +284,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join3.q.out b/ql/src/test/results/clientpositive/join3.q.out
index 25d8d24..800202b 100644
--- a/ql/src/test/results/clientpositive/join3.q.out
+++ b/ql/src/test/results/clientpositive/join3.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -41,6 +42,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -56,6 +58,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join30.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join30.q.out b/ql/src/test/results/clientpositive/join30.q.out
index 0f13aa6..059b263 100644
--- a/ql/src/test/results/clientpositive/join30.q.out
+++ b/ql/src/test/results/clientpositive/join30.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join31.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join31.q.out b/ql/src/test/results/clientpositive/join31.q.out
index 124a861..8fda645 100644
--- a/ql/src/test/results/clientpositive/join31.q.out
+++ b/ql/src/test/results/clientpositive/join31.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
         $hdt$_1:y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join32.q.out b/ql/src/test/results/clientpositive/join32.q.out
index a7af569..05ca72d 100644
--- a/ql/src/test/results/clientpositive/join32.q.out
+++ b/ql/src/test/results/clientpositive/join32.q.out
@@ -88,6 +88,7 @@ STAGE PLANS:
         $hdt$_0:z 
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -106,6 +107,7 @@ STAGE PLANS:
         $hdt$_2:x 
           TableScan
             alias: x
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -127,6 +129,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join33.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join33.q.out b/ql/src/test/results/clientpositive/join33.q.out
index 7d44eb1..c11637b 100644
--- a/ql/src/test/results/clientpositive/join33.q.out
+++ b/ql/src/test/results/clientpositive/join33.q.out
@@ -88,6 +88,7 @@ STAGE PLANS:
         $hdt$_0:z 
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -106,6 +107,7 @@ STAGE PLANS:
         $hdt$_2:x 
           TableScan
             alias: x
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -127,6 +129,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join34.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join34.q.out b/ql/src/test/results/clientpositive/join34.q.out
index 161097f..88e42e2 100644
--- a/ql/src/test/results/clientpositive/join34.q.out
+++ b/ql/src/test/results/clientpositive/join34.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
         $hdt$_1:x 
           TableScan
             alias: x
+            filterExpr: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -65,6 +66,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -152,6 +154,7 @@ STAGE PLANS:
                             MultiFileSpray: false
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join35.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join35.q.out b/ql/src/test/results/clientpositive/join35.q.out
index 873a307..3f15739 100644
--- a/ql/src/test/results/clientpositive/join35.q.out
+++ b/ql/src/test/results/clientpositive/join35.q.out
@@ -41,6 +41,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -153,6 +154,7 @@ STAGE PLANS:
         $hdt$_1:x 
           TableScan
             alias: x
+            filterExpr: (((UDFToDouble(key) < 20.0D) or (UDFToDouble(key) > 100.0D)) and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -540,6 +542,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x1
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join36.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join36.q.out b/ql/src/test/results/clientpositive/join36.q.out
index ded4290..76737ac 100644
--- a/ql/src/test/results/clientpositive/join36.q.out
+++ b/ql/src/test/results/clientpositive/join36.q.out
@@ -74,6 +74,7 @@ STAGE PLANS:
         $hdt$_0:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 309 Data size: 1482 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -92,6 +93,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 309 Data size: 1482 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join37.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join37.q.out b/ql/src/test/results/clientpositive/join37.q.out
index 7b84876..8f9c8a4 100644
--- a/ql/src/test/results/clientpositive/join37.q.out
+++ b/ql/src/test/results/clientpositive/join37.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
         $hdt$_0:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join38.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join38.q.out b/ql/src/test/results/clientpositive/join38.q.out
index ce76c30..c4ddd7a 100644
--- a/ql/src/test/results/clientpositive/join38.q.out
+++ b/ql/src/test/results/clientpositive/join38.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
         $hdt$_1:b 
           TableScan
             alias: b
+            filterExpr: (UDFToDouble(col11) = 111.0D) (type: boolean)
             Statistics: Num rows: 2 Data size: 126 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(col11) = 111.0D) (type: boolean)
@@ -82,6 +83,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (UDFToDouble(key) = 111.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 111.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join39.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join39.q.out b/ql/src/test/results/clientpositive/join39.q.out
index 78ef521..00c37cd 100644
--- a/ql/src/test/results/clientpositive/join39.q.out
+++ b/ql/src/test/results/clientpositive/join39.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
         $hdt$_1:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) <= 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) <= 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join4.q.out b/ql/src/test/results/clientpositive/join4.q.out
index adbb17e..916ffbb 100644
--- a/ql/src/test/results/clientpositive/join4.q.out
+++ b/ql/src/test/results/clientpositive/join4.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join40.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join40.q.out b/ql/src/test/results/clientpositive/join40.q.out
index 0927b91..86cc740 100644
--- a/ql/src/test/results/clientpositive/join40.q.out
+++ b/ql/src/test/results/clientpositive/join40.q.out
@@ -27,6 +27,7 @@ STAGE PLANS:
                 value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) <= 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) <= 100.0D) (type: boolean)
@@ -656,6 +657,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -671,6 +673,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1769,6 +1772,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -1781,6 +1785,7 @@ STAGE PLANS:
                 value expressions: value (type: string)
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -2431,6 +2436,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((key < 15) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 15)) (type: boolean)
@@ -2443,6 +2449,7 @@ STAGE PLANS:
                 value expressions: value (type: string)
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key < 15)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 15)) (type: boolean)
@@ -3098,6 +3105,7 @@ STAGE PLANS:
         $hdt$_1:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) <= 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) <= 100.0D) (type: boolean)
@@ -3744,6 +3752,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -3762,6 +3771,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join41.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join41.q.out b/ql/src/test/results/clientpositive/join41.q.out
index 50ce9f6..08d6e36 100644
--- a/ql/src/test/results/clientpositive/join41.q.out
+++ b/ql/src/test/results/clientpositive/join41.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
                 value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: (UDFToDouble(key) > 10.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 10.0D) (type: boolean)
@@ -116,6 +117,7 @@ STAGE PLANS:
                 value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: (UDFToDouble(key) > 10.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 10.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join42.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join42.q.out b/ql/src/test/results/clientpositive/join42.q.out
index 045c395..83287ca 100644
--- a/ql/src/test/results/clientpositive/join42.q.out
+++ b/ql/src/test/results/clientpositive/join42.q.out
@@ -130,6 +130,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acct
+            filterExpr: (aid is not null and brn is not null) (type: boolean)
             Statistics: Num rows: 3 Data size: 31 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (aid is not null and brn is not null) (type: boolean)
@@ -144,6 +145,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
           TableScan
             alias: l
+            filterExpr: (id = 4436) (type: boolean)
             Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (id = 4436) (type: boolean)
@@ -155,6 +157,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: fr
+            filterExpr: (loan_id = 4436) (type: boolean)
             Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (loan_id = 4436) (type: boolean)
@@ -224,6 +227,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: la_n11
+            filterExpr: ((loan_id = 4436) and aid is not null and pi_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 14 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((loan_id = 4436) and aid is not null and pi_id is not null) (type: boolean)
@@ -240,6 +244,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: int)
           TableScan
             alias: a_n11
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -281,6 +286,7 @@ STAGE PLANS:
               value expressions: _col3 (type: int)
           TableScan
             alias: pi
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join43.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join43.q.out b/ql/src/test/results/clientpositive/join43.q.out
index 8535c43..5880856 100644
--- a/ql/src/test/results/clientpositive/join43.q.out
+++ b/ql/src/test/results/clientpositive/join43.q.out
@@ -252,6 +252,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cart_history
+            filterExpr: s is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s is not null (type: boolean)
@@ -268,6 +269,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: purchase_history
+            filterExpr: s is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 57 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s is not null (type: boolean)
@@ -344,6 +346,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: events
+            filterExpr: (s is not null and time is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 79 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (s is not null and time is not null) (type: boolean)
@@ -475,6 +478,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cart_history
+            filterExpr: s is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s is not null (type: boolean)
@@ -491,6 +495,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: purchase_history
+            filterExpr: s is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 57 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s is not null (type: boolean)
@@ -563,6 +568,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: events
+            filterExpr: (s is not null and time is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 79 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (s is not null and time is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join44.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join44.q.out b/ql/src/test/results/clientpositive/join44.q.out
index 1ca04b3..470a03b 100644
--- a/ql/src/test/results/clientpositive/join44.q.out
+++ b/ql/src/test/results/clientpositive/join44.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (val1 is not null and val2 BETWEEN 2450816 AND 2451500) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (val1 is not null and val2 BETWEEN 2450816 AND 2451500) (type: boolean)
@@ -42,6 +43,7 @@ STAGE PLANS:
                 value expressions: val2 (type: int), val3 (type: int)
           TableScan
             alias: src2
+            filterExpr: (val1 is not null and val2 BETWEEN 2450816 AND 2451500) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (val1 is not null and val2 BETWEEN 2450816 AND 2451500) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join45.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join45.q.out b/ql/src/test/results/clientpositive/join45.q.out
index f2cca31..4365d52 100644
--- a/ql/src/test/results/clientpositive/join45.q.out
+++ b/ql/src/test/results/clientpositive/join45.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -138,6 +141,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -231,6 +235,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
@@ -245,6 +250,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join46.q.out b/ql/src/test/results/clientpositive/join46.q.out
index 07582e1..c192194 100644
--- a/ql/src/test/results/clientpositive/join46.q.out
+++ b/ql/src/test/results/clientpositive/join46.q.out
@@ -166,6 +166,7 @@ STAGE PLANS:
                 value expressions: _col0 (type: int), _col2 (type: string)
           TableScan
             alias: test2_n0
+            filterExpr: key BETWEEN 100 AND 102 (type: boolean)
             Statistics: Num rows: 4 Data size: 38 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -264,6 +265,7 @@ STAGE PLANS:
                 value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: string)
           TableScan
             alias: test2_n0
+            filterExpr: key BETWEEN 100 AND 102 (type: boolean)
             Statistics: Num rows: 4 Data size: 38 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key BETWEEN 100 AND 102 (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join47.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join47.q.out b/ql/src/test/results/clientpositive/join47.q.out
index 4a13df8..c04b94b 100644
--- a/ql/src/test/results/clientpositive/join47.q.out
+++ b/ql/src/test/results/clientpositive/join47.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -138,6 +141,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -231,6 +235,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
@@ -245,6 +250,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join5.q.out b/ql/src/test/results/clientpositive/join5.q.out
index a21f35a..49dd968 100644
--- a/ql/src/test/results/clientpositive/join5.q.out
+++ b/ql/src/test/results/clientpositive/join5.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)


[34/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_5.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_5.q.out
index 6718e3f..3bb93ba 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_5.q.out
@@ -232,6 +232,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n1
+                  filterExpr: (deptno >= 20) (type: boolean)
                   Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (deptno >= 20) (type: boolean)
@@ -341,6 +342,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n1
+                  filterExpr: (deptno > 15) (type: boolean)
                   Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (deptno > 15) (type: boolean)
@@ -481,6 +483,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n1
+                  filterExpr: ((deptno > 11) and (deptno < 19)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((deptno < 19) and (deptno > 11)) (type: boolean)
@@ -1076,7 +1079,7 @@ POSTHOOK: query: drop materialized view mv1_n1
 POSTHOOK: type: DROP_MATERIALIZED_VIEW
 POSTHOOK: Input: default@mv1_n1
 POSTHOOK: Output: default@mv1_n1
-Warning: Shuffle Join MERGEJOIN[22][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: create materialized view mv1_n1 as
 select a.empid deptno from
 (select * from emps_n2 where empid = 1) a
@@ -1158,7 +1161,7 @@ POSTHOOK: query: drop materialized view mv1_n1
 POSTHOOK: type: DROP_MATERIALIZED_VIEW
 POSTHOOK: Input: default@mv1_n1
 POSTHOOK: Output: default@mv1_n1
-Warning: Shuffle Join MERGEJOIN[22][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: create materialized view mv1_n1 as
 select a.empid, a.deptno from
 (select * from emps_n2 where empid = 1) a
@@ -1307,7 +1310,7 @@ POSTHOOK: query: drop materialized view mv1_n1
 POSTHOOK: type: DROP_MATERIALIZED_VIEW
 POSTHOOK: Input: default@mv1_n1
 POSTHOOK: Output: default@mv1_n1
-Warning: Shuffle Join MERGEJOIN[22][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: create materialized view mv1_n1 as
 select emps_n2.empid, emps_n2.deptno from emps_n2
 join depts_n1 on (emps_n2.deptno = depts_n1.deptno)
@@ -1389,7 +1392,7 @@ POSTHOOK: query: drop materialized view mv1_n1
 POSTHOOK: type: DROP_MATERIALIZED_VIEW
 POSTHOOK: Input: default@mv1_n1
 POSTHOOK: Output: default@mv1_n1
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_2, $hdt$_3, $hdt$_1, $hdt$_0]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[48][tables = [$hdt$_2, $hdt$_3, $hdt$_1, $hdt$_0]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: create materialized view mv1_n1 as
 select emps_n2.empid, emps_n2.deptno from emps_n2
 join depts_n1 a on (emps_n2.deptno=a.deptno)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_6.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_6.q.out
index 77887e0..8a52138 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_6.q.out
@@ -236,6 +236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1
+                  filterExpr: (deptno > 10) (type: boolean)
                   Statistics: Num rows: 4 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (deptno > 10) (type: boolean)
@@ -354,6 +355,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1
+                  filterExpr: (deptno > 15) (type: boolean)
                   Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (deptno > 15) (type: boolean)
@@ -480,6 +482,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 440 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -499,6 +502,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -630,6 +634,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 440 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -649,6 +654,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: locations
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 190 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -668,6 +674,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -819,6 +826,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1
+                  filterExpr: (UDFToString(name1) = 'Bill') (type: boolean)
                   Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToString(name1) = 'Bill') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
index f677a6c..423741a 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
@@ -266,6 +266,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents_n4
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -307,6 +308,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: locations_n4
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 190 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -326,6 +328,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n6
+                  filterExpr: ((deptno > 10) and (deptno <= 11) and name is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((deptno <= 11) and (deptno > 10) and name is not null) (type: boolean)
@@ -346,6 +349,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: emps_n8
+                  filterExpr: ((deptno > 10) and (deptno <= 11)) (type: boolean)
                   Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((deptno <= 11) and (deptno > 10)) (type: boolean)
@@ -557,6 +561,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents_n4
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -600,6 +605,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: locations_n4
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 190 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -619,6 +625,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: emps_n8
+                  filterExpr: ((deptno > 10) and (deptno < 20) and ((deptno <= 11) or (deptno >= 19))) (type: boolean)
                   Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((deptno <= 11) or (deptno >= 19)) and (deptno < 20) and (deptno > 10)) (type: boolean)
@@ -639,6 +646,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n6
+                  filterExpr: ((deptno > 10) and (deptno < 20) and ((deptno <= 11) or (deptno >= 19)) and name is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((deptno <= 11) or (deptno >= 19)) and (deptno < 20) and (deptno > 10) and name is not null) (type: boolean)
@@ -870,6 +878,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n6
+                  filterExpr: ((deptno > 0) and (deptno < 10) and name is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((deptno < 10) and (deptno > 0) and name is not null) (type: boolean)
@@ -890,6 +899,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: emps_n8
+                  filterExpr: ((deptno > 0) and (deptno < 10)) (type: boolean)
                   Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((deptno < 10) and (deptno > 0)) (type: boolean)
@@ -909,6 +919,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents_n4
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_8.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_8.q.out
index 72f327e..b8bc011 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_8.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_8.q.out
@@ -366,6 +366,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.source_table_001_mv
+          filterExpr: (my_date = DATE'2010-01-10') (type: boolean)
           Filter Operator
             predicate: (my_date = DATE'2010-01-10') (type: boolean)
             Select Operator
@@ -399,6 +400,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.source_table_001_mv
+          filterExpr: (my_date = DATE'2010-01-10') (type: boolean)
           Filter Operator
             predicate: (my_date = DATE'2010-01-10') (type: boolean)
             Select Operator
@@ -434,6 +436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.source_table_001_mv
+                  filterExpr: (my_date = DATE'2010-01-10') (type: boolean)
                   Statistics: Num rows: 1 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (my_date = DATE'2010-01-10') (type: boolean)
@@ -505,6 +508,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.source_table_001_mv
+                  filterExpr: (my_date = DATE'2010-01-10') (type: boolean)
                   Statistics: Num rows: 1 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (my_date = DATE'2010-01-10') (type: boolean)
@@ -582,6 +586,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.source_table_001_mv
+                  filterExpr: (my_date = DATE'2010-01-10') (type: boolean)
                   Statistics: Num rows: 1 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (my_date = DATE'2010-01-10') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_empty.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_empty.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_empty.q.out
index b33d8c3..2e6f00c 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_empty.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_empty.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_mv_rewrite_empty
+          filterExpr: (empid < 120) (type: boolean)
           Filter Operator
             predicate: (empid < 120) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out
index ab28253..1841f1f 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out
@@ -688,6 +688,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_year = 1993) and (lo_quantity < 25.0D) and lo_discount BETWEEN 1.0D AND 3.0D) (type: boolean)
                   Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1993) and (lo_quantity < 25.0D) and lo_discount BETWEEN 1.0D AND 3.0D) (type: boolean)
@@ -767,6 +768,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_yearmonthnum = 199401) and lo_discount BETWEEN 4.0D AND 6.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean)
                   Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_yearmonthnum = 199401) and lo_discount BETWEEN 4.0D AND 6.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean)
@@ -848,6 +850,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_year = 1994) and (d_weeknuminyear = 6) and lo_discount BETWEEN 5.0D AND 7.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean)
                   Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_weeknuminyear = 6) and (d_year = 1994) and lo_discount BETWEEN 5.0D AND 7.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean)
@@ -938,6 +941,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((p_category = 'MFGR#12') and (s_region = 'AMERICA')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_category = 'MFGR#12') and (s_region = 'AMERICA')) (type: boolean)
@@ -1048,6 +1052,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((s_region = 'ASIA') and p_brand1 BETWEEN 'MFGR#2221' AND 'MFGR#2228') (type: boolean)
                   Statistics: Num rows: 1 Data size: 380 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_region = 'ASIA') and p_brand1 BETWEEN 'MFGR#2221' AND 'MFGR#2228') (type: boolean)
@@ -1158,6 +1163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((p_brand1 = 'MFGR#2239') and (s_region = 'EUROPE')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 380 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_brand1 = 'MFGR#2239') and (s_region = 'EUROPE')) (type: boolean)
@@ -1272,6 +1278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_year >= 1992) and (c_region = 'ASIA') and (s_region = 'ASIA') and (d_year <= 1997)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 748 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((c_region = 'ASIA') and (d_year <= 1997) and (d_year >= 1992) and (s_region = 'ASIA')) (type: boolean)
@@ -1384,6 +1391,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_year >= 1992) and (c_nation = 'UNITED STATES') and (s_nation = 'UNITED STATES') and (d_year <= 1997)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 748 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((c_nation = 'UNITED STATES') and (d_year <= 1997) and (d_year >= 1992) and (s_nation = 'UNITED STATES')) (type: boolean)
@@ -1496,6 +1504,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_year >= 1992) and (d_year <= 1997) and ((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 380 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5')) and (d_year <= 1997) and (d_year >= 1992)) (type: boolean)
@@ -1604,6 +1613,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((d_yearmonth = 'Dec1997') and ((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5')) and (d_yearmonth = 'Dec1997')) (type: boolean)
@@ -1720,6 +1730,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((c_region = 'AMERICA') and (s_region = 'AMERICA') and ((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 748 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2')) and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean)
@@ -1834,6 +1845,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((c_region = 'AMERICA') and (s_region = 'AMERICA') and ((d_year = 1997) or (d_year = 1998)) and ((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 932 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 1997) or (d_year = 1998)) and ((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2')) and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean)
@@ -1948,6 +1960,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv_n0
+                  filterExpr: ((c_region = 'AMERICA') and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES') and ((d_year = 1997) or (d_year = 1998))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 932 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 1997) or (d_year = 1998)) and (c_region = 'AMERICA') and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out
index 994c9c1..d7c92d8 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out
@@ -690,6 +690,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((UDFToInteger(d_year) = 1993) and (UDFToDouble(lo_quantity) < 25.0D) and UDFToDouble(lo_discount) BETWEEN 1.0D AND 3.0D) (type: boolean)
                   Statistics: Num rows: 1 Data size: 560 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToDouble(lo_quantity) < 25.0D) and (UDFToInteger(d_year) = 1993) and UDFToDouble(lo_discount) BETWEEN 1.0D AND 3.0D) (type: boolean)
@@ -769,6 +770,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((UDFToInteger(d_yearmonthnum) = 199401) and UDFToDouble(lo_discount) BETWEEN 4.0D AND 6.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean)
                   Statistics: Num rows: 1 Data size: 560 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToInteger(d_yearmonthnum) = 199401) and UDFToDouble(lo_discount) BETWEEN 4.0D AND 6.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean)
@@ -850,6 +852,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((UDFToInteger(d_year) = 1994) and (UDFToInteger(d_weeknuminyear) = 6) and UDFToDouble(lo_discount) BETWEEN 5.0D AND 7.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean)
                   Statistics: Num rows: 1 Data size: 744 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToInteger(d_weeknuminyear) = 6) and (UDFToInteger(d_year) = 1994) and UDFToDouble(lo_discount) BETWEEN 5.0D AND 7.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean)
@@ -940,6 +943,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((p_category = 'MFGR#12') and (s_region = 'AMERICA')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 744 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_category = 'MFGR#12') and (s_region = 'AMERICA')) (type: boolean)
@@ -1050,6 +1054,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((s_region = 'ASIA') and p_brand1 BETWEEN 'MFGR#2221' AND 'MFGR#2228') (type: boolean)
                   Statistics: Num rows: 1 Data size: 560 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_region = 'ASIA') and p_brand1 BETWEEN 'MFGR#2221' AND 'MFGR#2228') (type: boolean)
@@ -1160,6 +1165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((p_brand1 = 'MFGR#2239') and (s_region = 'EUROPE')) (type: boolean)
                   Statistics: Num rows: 1 Data size: 560 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_brand1 = 'MFGR#2239') and (s_region = 'EUROPE')) (type: boolean)
@@ -1274,6 +1280,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((UDFToInteger(d_year) >= 1992) and (c_region = 'ASIA') and (s_region = 'ASIA') and (UDFToInteger(d_year) <= 1997)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 928 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToInteger(d_year) <= 1997) and (UDFToInteger(d_year) >= 1992) and (c_region = 'ASIA') and (s_region = 'ASIA')) (type: boolean)
@@ -1386,6 +1393,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((UDFToInteger(d_year) >= 1992) and (c_nation = 'UNITED STATES') and (s_nation = 'UNITED STATES') and (UDFToInteger(d_year) <= 1997)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 928 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToInteger(d_year) <= 1997) and (UDFToInteger(d_year) >= 1992) and (c_nation = 'UNITED STATES') and (s_nation = 'UNITED STATES')) (type: boolean)
@@ -1498,6 +1506,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((UDFToInteger(d_year) >= 1992) and (UDFToInteger(d_year) <= 1997) and ((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 560 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5')) and (UDFToInteger(d_year) <= 1997) and (UDFToInteger(d_year) >= 1992)) (type: boolean)
@@ -1610,6 +1619,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((d_yearmonth = 'Dec1997') and ((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 744 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((c_city = 'UNITED KI1') or (c_city = 'UNITED KI5')) and ((s_city = 'UNITED KI1') or (s_city = 'UNITED KI5')) and (d_yearmonth = 'Dec1997')) (type: boolean)
@@ -1726,6 +1736,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((c_region = 'AMERICA') and (s_region = 'AMERICA') and ((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 928 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2')) and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean)
@@ -1840,6 +1851,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((c_region = 'AMERICA') and (s_region = 'AMERICA') and ((UDFToInteger(d_year) = 1997) or (UDFToInteger(d_year) = 1998)) and ((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2'))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((UDFToInteger(d_year) = 1997) or (UDFToInteger(d_year) = 1998)) and ((p_mfgr = 'MFGR#1') or (p_mfgr = 'MFGR#2')) and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean)
@@ -1954,6 +1966,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.ssb_mv
+                  filterExpr: ((c_region = 'AMERICA') and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES') and ((UDFToInteger(d_year) = 1997) or (UDFToInteger(d_year) = 1998))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((UDFToInteger(d_year) = 1997) or (UDFToInteger(d_year) = 1998)) and (c_region = 'AMERICA') and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/metadataonly1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/metadataonly1.q.out b/ql/src/test/results/clientpositive/llap/metadataonly1.q.out
index 6735c58..7754ce1 100644
--- a/ql/src/test/results/clientpositive/llap/metadataonly1.q.out
+++ b/ql/src/test/results/clientpositive/llap/metadataonly1.q.out
@@ -556,6 +556,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a2
+                  filterExpr: ds is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: COMPLETE
                   GatherStats: false
                   Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/mrr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mrr.q.out b/ql/src/test/results/clientpositive/llap/mrr.q.out
index 2a8a2fc..314031f 100644
--- a/ql/src/test/results/clientpositive/llap/mrr.q.out
+++ b/ql/src/test/results/clientpositive/llap/mrr.q.out
@@ -412,6 +412,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -431,6 +432,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -846,6 +848,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -865,6 +868,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1300,6 +1304,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1322,6 +1327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1344,6 +1350,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1627,6 +1634,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1649,6 +1657,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/multiMapJoin1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/multiMapJoin1.q.out b/ql/src/test/results/clientpositive/llap/multiMapJoin1.q.out
index f8adcd4..ed1745f 100644
--- a/ql/src/test/results/clientpositive/llap/multiMapJoin1.q.out
+++ b/ql/src/test/results/clientpositive/llap/multiMapJoin1.q.out
@@ -192,6 +192,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -238,6 +239,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -257,6 +259,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -355,6 +358,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -401,6 +405,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -420,6 +425,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -520,6 +526,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -570,6 +577,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -589,6 +597,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -825,6 +834,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key1 is not null and value is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 262752 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key1 is not null and key2 is not null and value is not null) (type: boolean)
@@ -904,6 +914,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -923,6 +934,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -943,6 +955,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -962,6 +975,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl4
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1160,6 +1174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key1 is not null and value is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 262752 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key1 is not null and key2 is not null and value is not null) (type: boolean)
@@ -1239,6 +1254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1258,6 +1274,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1278,6 +1295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1297,6 +1315,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl4
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1498,6 +1517,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key1 is not null and value is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 262752 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key1 is not null and key2 is not null and value is not null) (type: boolean)
@@ -1518,6 +1538,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl4
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1537,6 +1558,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1556,6 +1578,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1576,6 +1599,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1864,6 +1888,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: bigtbl
+                  filterExpr: (key1 is not null and value is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 262752 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key1 is not null and key2 is not null and value is not null) (type: boolean)
@@ -1884,6 +1909,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl4
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1903,6 +1929,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1922,6 +1949,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1942,6 +1970,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: smalltbl3
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/multiMapJoin2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/multiMapJoin2.q.out b/ql/src/test/results/clientpositive/llap/multiMapJoin2.q.out
index 61b7c4e..1c6bc94 100644
--- a/ql/src/test/results/clientpositive/llap/multiMapJoin2.q.out
+++ b/ql/src/test/results/clientpositive/llap/multiMapJoin2.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -77,6 +79,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -105,6 +108,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -268,6 +272,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -287,6 +292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -306,6 +312,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -325,6 +332,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -539,6 +547,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -567,6 +576,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -733,6 +743,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -767,6 +778,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -791,6 +803,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -973,6 +986,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1007,6 +1021,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1031,6 +1046,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1213,6 +1229,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1247,6 +1264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1437,6 +1455,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1471,6 +1490,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1683,6 +1703,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 125 Data size: 10875 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1715,6 +1736,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1812,6 +1834,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1840,6 +1863,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1874,6 +1898,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1913,6 +1938,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1941,6 +1967,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/multi_column_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/multi_column_in.q.out b/ql/src/test/results/clientpositive/llap/multi_column_in.q.out
index f6b6fec..c06d243 100644
--- a/ql/src/test/results/clientpositive/llap/multi_column_in.q.out
+++ b/ql/src/test/results/clientpositive/llap/multi_column_in.q.out
@@ -117,6 +117,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_n1
+          filterExpr: (struct((empno + 1),deptno)) IN (const struct(1,2), const struct(3,2)) (type: boolean)
           Filter Operator
             predicate: (struct((empno + 1),deptno)) IN (const struct(1,2), const struct(3,2)) (type: boolean)
             Select Operator
@@ -140,6 +141,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_n1
+          filterExpr: (not (struct((empno + 1),deptno)) IN (const struct(1,2), const struct(3,2))) (type: boolean)
           Filter Operator
             predicate: (not (struct((empno + 1),deptno)) IN (const struct(1,2), const struct(3,2))) (type: boolean)
             Select Operator
@@ -207,6 +209,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_n1
+          filterExpr: (struct(((empno * 2) | 1),deptno)) IN (struct((empno + 1),2), struct((empno + 2),2)) (type: boolean)
           Filter Operator
             predicate: (struct(((empno * 2) | 1),deptno)) IN (struct((empno + 1),2), struct((empno + 2),2)) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out b/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out
index 81fdb13..ce34344 100644
--- a/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out
+++ b/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out
@@ -127,6 +127,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_n7
+          filterExpr: (struct((empno + 1),deptno)) IN (const struct(3,2)) (type: boolean)
           Filter Operator
             predicate: (struct((empno + 1),deptno)) IN (const struct(3,2)) (type: boolean)
             Select Operator
@@ -150,6 +151,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_n7
+          filterExpr: (not (struct((empno + 1),deptno)) IN (const struct(3,2))) (type: boolean)
           Filter Operator
             predicate: (not (struct((empno + 1),deptno)) IN (const struct(3,2))) (type: boolean)
             Select Operator
@@ -171,6 +173,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: emps_n7
+          filterExpr: (struct(((empno * 2) | 1),deptno)) IN (struct((empno + 2),2)) (type: boolean)
           Filter Operator
             predicate: (struct(((empno * 2) | 1),deptno)) IN (struct((empno + 2),2)) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/multi_insert.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/multi_insert.q.out b/ql/src/test/results/clientpositive/llap/multi_insert.q.out
index 53ae291..d8efef1 100644
--- a/ql/src/test/results/clientpositive/llap/multi_insert.q.out
+++ b/ql/src/test/results/clientpositive/llap/multi_insert.q.out
@@ -898,6 +898,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -1120,6 +1121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -1342,6 +1344,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -1564,6 +1567,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out b/ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
index e4e3f74..779258b 100644
--- a/ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
+++ b/ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n97
+                  filterExpr: (k < 15) (type: boolean)
                   Statistics: Num rows: 3 Data size: 285 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (k < 15) (type: boolean)
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n60
+                  filterExpr: ((v = 'people') and k is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 297 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((v = 'people') and k is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/orc_merge_incompat1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_merge_incompat1.q.out b/ql/src/test/results/clientpositive/llap/orc_merge_incompat1.q.out
index 676af08..fd3a8fb 100644
--- a/ql/src/test/results/clientpositive/llap/orc_merge_incompat1.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_merge_incompat1.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orc_merge5_n3
+                  filterExpr: (userid <= 13L) (type: boolean)
                   Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (userid <= 13L) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/orc_struct_type_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_struct_type_vectorization.q.out b/ql/src/test/results/clientpositive/llap/orc_struct_type_vectorization.q.out
index da69c5f..5c6b481 100644
--- a/ql/src/test/results/clientpositive/llap/orc_struct_type_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_struct_type_vectorization.q.out
@@ -217,6 +217,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orc_struct_type
+                  filterExpr: (st1.f1 > 500) (type: boolean)
                   Pruned Column Paths: st1.f1
                   Statistics: Num rows: 1023 Data size: 229628 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/parquet_complex_types_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/parquet_complex_types_vectorization.q.out b/ql/src/test/results/clientpositive/llap/parquet_complex_types_vectorization.q.out
index f4d6218..da9dd4e 100644
--- a/ql/src/test/results/clientpositive/llap/parquet_complex_types_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/llap/parquet_complex_types_vectorization.q.out
@@ -194,6 +194,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: parquet_complex_types
+                  filterExpr: (l1[0] > 1000) (type: boolean)
                   Statistics: Num rows: 1023 Data size: 116760 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -482,6 +483,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: parquet_complex_types
+                  filterExpr: (l1[0] > 1000) (type: boolean)
                   Statistics: Num rows: 1024 Data size: 116880 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -770,6 +772,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: parquet_complex_types
+                  filterExpr: (l1[0] > 1000) (type: boolean)
                   Statistics: Num rows: 1025 Data size: 117000 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/parquet_map_type_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/parquet_map_type_vectorization.q.out b/ql/src/test/results/clientpositive/llap/parquet_map_type_vectorization.q.out
index a2bb0f3..6f65061 100644
--- a/ql/src/test/results/clientpositive/llap/parquet_map_type_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/llap/parquet_map_type_vectorization.q.out
@@ -210,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: parquet_map_type
+                  filterExpr: (stringmap['k1'] like 'v100%') (type: boolean)
                   Statistics: Num rows: 1023 Data size: 1992704 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/parquet_struct_type_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/parquet_struct_type_vectorization.q.out b/ql/src/test/results/clientpositive/llap/parquet_struct_type_vectorization.q.out
index 7249363..affb27e 100644
--- a/ql/src/test/results/clientpositive/llap/parquet_struct_type_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/llap/parquet_struct_type_vectorization.q.out
@@ -217,6 +217,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: parquet_struct_type
+                  filterExpr: (st1.f1 > 500) (type: boolean)
                   Pruned Column Paths: st1.f1
                   Statistics: Num rows: 1023 Data size: 229628 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/partialdhj.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/partialdhj.q.out b/ql/src/test/results/clientpositive/llap/partialdhj.q.out
index fde5496..ec0044f 100644
--- a/ql/src/test/results/clientpositive/llap/partialdhj.q.out
+++ b/ql/src/test/results/clientpositive/llap/partialdhj.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -59,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -78,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -270,6 +273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -290,6 +294,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -309,6 +314,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/partition_multilevels.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/partition_multilevels.q.out b/ql/src/test/results/clientpositive/llap/partition_multilevels.q.out
index 3df6e2f..62bab84 100644
--- a/ql/src/test/results/clientpositive/llap/partition_multilevels.q.out
+++ b/ql/src/test/results/clientpositive/llap/partition_multilevels.q.out
@@ -982,6 +982,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: partition_test_multilevel
+                  filterExpr: ((level1 = '2222') and level2 BETWEEN '222' AND '333' and level3 BETWEEN '11' AND '33') (type: boolean)
                   Statistics: Num rows: 108 Data size: 40890 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: level2 (type: string), level3 (type: string)
@@ -1572,6 +1573,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: partition_test_multilevel
+                  filterExpr: ((level1 = '2222') and level2 BETWEEN '222' AND '333' and level3 BETWEEN '11' AND '33') (type: boolean)
                   Statistics: Num rows: 108 Data size: 40890 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: level2 (type: string), level3 (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/partition_pruning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/partition_pruning.q.out b/ql/src/test/results/clientpositive/llap/partition_pruning.q.out
index 829ab15..ba863a5 100644
--- a/ql/src/test/results/clientpositive/llap/partition_pruning.q.out
+++ b/ql/src/test/results/clientpositive/llap/partition_pruning.q.out
@@ -153,6 +153,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: daysales
+          filterExpr: NVL((customer = 1),false) (type: boolean)
           GatherStats: false
           Filter Operator
             isSamplingPred: false
@@ -269,6 +270,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: daysales
+          filterExpr: NVL(((dt = '2001-01-01') or (customer = 3)),false) (type: boolean)
           GatherStats: false
           Filter Operator
             isSamplingPred: false
@@ -385,6 +387,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: daysales
+          filterExpr: NVL(((dt = '2001-01-01') or (customer = 3)),false) (type: boolean)
           GatherStats: false
           Filter Operator
             isSamplingPred: false

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/partition_shared_scan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/partition_shared_scan.q.out b/ql/src/test/results/clientpositive/llap/partition_shared_scan.q.out
index fd33f12..d7d9126 100644
--- a/ql/src/test/results/clientpositive/llap/partition_shared_scan.q.out
+++ b/ql/src/test/results/clientpositive/llap/partition_shared_scan.q.out
@@ -59,6 +59,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -79,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: f1
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -98,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: f2
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -190,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -210,6 +214,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: f1
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out b/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out
index 0f20c9b..ca1b58f 100644
--- a/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out
+++ b/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out
@@ -153,6 +153,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_new_n0
+                  filterExpr: (ds = '2011-10-13') (type: boolean)
                   Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
                   GatherStats: false
                   Filter Operator
@@ -195,6 +196,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_old
+                  filterExpr: keymap is not null (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
@@ -277,6 +279,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_mapping
+                  filterExpr: keymap is not null (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 1 Data size: 179 Basic stats: COMPLETE Column stats: COMPLETE
@@ -468,6 +471,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_new_n0
+                  filterExpr: (ds = '2011-10-15') (type: boolean)
                   Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                   GatherStats: false
                   Select Operator
@@ -561,6 +565,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_old
+                  filterExpr: ((ds = '2011-10-15') and keymap is not null) (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
@@ -588,6 +593,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_mapping
+                  filterExpr: ((ds = '2011-10-15') and keymap is not null) (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/ptf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/ptf.q.out b/ql/src/test/results/clientpositive/llap/ptf.q.out
index 13ea607..808d8c8 100644
--- a/ql/src/test/results/clientpositive/llap/ptf.q.out
+++ b/ql/src/test/results/clientpositive/llap/ptf.q.out
@@ -210,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5902 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -226,6 +227,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -1085,6 +1087,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -1226,6 +1229,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -2370,6 +2374,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/ptf_matchpath.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/ptf_matchpath.q.out b/ql/src/test/results/clientpositive/llap/ptf_matchpath.q.out
index c2a80fe..abb05ff 100644
--- a/ql/src/test/results/clientpositive/llap/ptf_matchpath.q.out
+++ b/ql/src/test/results/clientpositive/llap/ptf_matchpath.q.out
@@ -318,6 +318,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: flights_tiny_n0
+                  filterExpr: (fl_num = -1142) (type: boolean)
                   Statistics: Num rows: 1 Data size: 384 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (fl_num = -1142) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/ptf_streaming.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/ptf_streaming.q.out b/ql/src/test/results/clientpositive/llap/ptf_streaming.q.out
index 3b3b13d..d536945 100644
--- a/ql/src/test/results/clientpositive/llap/ptf_streaming.q.out
+++ b/ql/src/test/results/clientpositive/llap/ptf_streaming.q.out
@@ -210,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5902 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -226,6 +227,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p2
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -415,6 +417,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -1660,6 +1663,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)


[04/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query53.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query53.q.out b/ql/src/test/results/clientpositive/perf/tez/query53.q.out
index 51c956d..3567534 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query53.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query53.q.out
@@ -55,21 +55,25 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 12 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_71]
-        Limit [LIM_70] (rows=100 width=88)
+      File Output Operator [FS_116]
+        Limit [LIM_115] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_69] (rows=191662559 width=88)
+          Select Operator [SEL_114] (rows=191662559 width=88)
             Output:["_col0","_col1","_col2"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_33]
@@ -90,52 +94,85 @@ Stage-0
                             PartitionCols:_col0
                             Group By Operator [GBY_22] (rows=766650239 width=88)
                               Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col8, _col11
-                              Merge Join Operator [MERGEJOIN_54] (rows=766650239 width=88)
-                                Conds:RS_18._col2=RS_66._col0(Inner),Output:["_col3","_col8","_col11"]
-                              <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_66]
+                              Merge Join Operator [MERGEJOIN_84] (rows=766650239 width=88)
+                                Conds:RS_18._col2=RS_103._col0(Inner),Output:["_col3","_col8","_col11"]
+                              <-Map 11 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_103]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_65] (rows=1704 width=1910)
+                                  Select Operator [SEL_102] (rows=1704 width=1910)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_64] (rows=1704 width=1910)
+                                    Filter Operator [FIL_101] (rows=1704 width=1910)
                                       predicate:s_store_sk is not null
                                       TableScan [TS_9] (rows=1704 width=1910)
                                         default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk"]
                               <-Reducer 3 [SIMPLE_EDGE]
                                 SHUFFLE [RS_18]
                                   PartitionCols:_col2
-                                  Merge Join Operator [MERGEJOIN_53] (rows=696954748 width=88)
-                                    Conds:RS_15._col0=RS_63._col0(Inner),Output:["_col2","_col3","_col8","_col11"]
-                                  <-Map 8 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_63]
+                                  Merge Join Operator [MERGEJOIN_83] (rows=696954748 width=88)
+                                    Conds:RS_15._col0=RS_95._col0(Inner),Output:["_col2","_col3","_col8","_col11"]
+                                  <-Map 9 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_95]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_62] (rows=36525 width=1119)
+                                      Select Operator [SEL_94] (rows=36525 width=1119)
                                         Output:["_col0","_col2"]
-                                        Filter Operator [FIL_61] (rows=36525 width=1119)
+                                        Filter Operator [FIL_93] (rows=36525 width=1119)
                                           predicate:((d_month_seq) IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) and d_date_sk is not null)
                                           TableScan [TS_6] (rows=73049 width=1119)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq","d_qoy"]
                                   <-Reducer 2 [SIMPLE_EDGE]
                                     SHUFFLE [RS_15]
                                       PartitionCols:_col0
-                                      Merge Join Operator [MERGEJOIN_52] (rows=633595212 width=88)
-                                        Conds:RS_57._col1=RS_60._col0(Inner),Output:["_col0","_col2","_col3","_col8"]
-                                      <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_57]
-                                          PartitionCols:_col1
-                                          Select Operator [SEL_56] (rows=575995635 width=88)
-                                            Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_55] (rows=575995635 width=88)
-                                              predicate:(ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                              TableScan [TS_0] (rows=575995635 width=88)
-                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                      Merge Join Operator [MERGEJOIN_82] (rows=633595212 width=88)
+                                        Conds:RS_111._col1=RS_87._col0(Inner),Output:["_col0","_col2","_col3","_col8"]
                                       <-Map 7 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_60]
+                                        PARTITION_ONLY_SHUFFLE [RS_87]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_59] (rows=115500 width=1436)
+                                          Select Operator [SEL_86] (rows=115500 width=1436)
                                             Output:["_col0","_col4"]
-                                            Filter Operator [FIL_58] (rows=115500 width=1436)
+                                            Filter Operator [FIL_85] (rows=115500 width=1436)
                                               predicate:((((i_category) IN ('Books', 'Children', 'Electronics') and (i_class) IN ('personal', 'portable', 'reference', 'self-help') and (i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) or ((i_category) IN ('Women', 'Music', 'Men') and (i_class) IN ('accessories', 'classical', 'fragrances', 'pants') and (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) and ((i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9') or (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1')) and ((i_category) IN ('Books', 'Children', 'Electronics') or (i_category) IN ('Women', 'Music', 'Men')) and ((i_class) IN ('personal', 'portable', 'reference', 'self-help') or (i_class) IN ('accessories', 'classical', 'fragrances', 'pants')) and i_item_sk is not null)
                                               TableScan [TS_3] (rows=462000 width=1436)
                                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_class","i_category","i_manufact_id"]
+                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_111]
+                                          PartitionCols:_col1
+                                          Select Operator [SEL_110] (rows=575995635 width=88)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_109] (rows=575995635 width=88)
+                                              predicate:((ss_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_19_store_s_store_sk_min) AND DynamicValue(RS_19_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_19_store_s_store_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                              TableScan [TS_0] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                              <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_100]
+                                                  Group By Operator [GBY_99] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_98]
+                                                      Group By Operator [GBY_97] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_96] (rows=36525 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_94]
+                                              <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_108]
+                                                  Group By Operator [GBY_107] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_106]
+                                                      Group By Operator [GBY_105] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_104] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_102]
+                                              <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_92]
+                                                  Group By Operator [GBY_91] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_90]
+                                                      Group By Operator [GBY_89] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_88] (rows=115500 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_86]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query54.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query54.q.out b/ql/src/test/results/clientpositive/perf/tez/query54.q.out
index 386ea4b..8ab239c 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query54.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query54.q.out
@@ -1,7 +1,7 @@
-Warning: Shuffle Join MERGEJOIN[184][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
-Warning: Shuffle Join MERGEJOIN[185][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3, $hdt$_4]] in Stage 'Reducer 5' is a cross product
-Warning: Shuffle Join MERGEJOIN[183][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 29' is a cross product
-Warning: Shuffle Join MERGEJOIN[186][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product
+Warning: Shuffle Join MERGEJOIN[269][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[270][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3, $hdt$_4]] in Stage 'Reducer 5' is a cross product
+Warning: Shuffle Join MERGEJOIN[268][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 33' is a cross product
+Warning: Shuffle Join MERGEJOIN[271][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 6' is a cross product
 PREHOOK: query: explain
 with my_customers as (
  select distinct c_customer_sk
@@ -115,25 +115,30 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 15 <- Union 16 (CONTAINS)
-Map 21 <- Union 16 (CONTAINS)
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
-Reducer 17 <- Map 22 (SIMPLE_EDGE), Union 16 (SIMPLE_EDGE)
-Reducer 18 <- Map 23 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE)
-Reducer 19 <- Map 24 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Map 1 <- Reducer 11 (BROADCAST_EDGE)
+Map 16 <- Reducer 24 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE), Reducer 28 (BROADCAST_EDGE), Union 17 (CONTAINS)
+Map 22 <- Reducer 24 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE), Union 17 (CONTAINS)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
+Reducer 18 <- Map 23 (SIMPLE_EDGE), Union 17 (SIMPLE_EDGE)
+Reducer 19 <- Map 25 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
-Reducer 26 <- Map 25 (SIMPLE_EDGE)
-Reducer 27 <- Reducer 26 (CUSTOM_SIMPLE_EDGE)
-Reducer 28 <- Map 25 (SIMPLE_EDGE)
-Reducer 29 <- Reducer 28 (CUSTOM_SIMPLE_EDGE), Reducer 31 (CUSTOM_SIMPLE_EDGE)
-Reducer 3 <- Reducer 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 30 <- Map 25 (SIMPLE_EDGE)
+Reducer 20 <- Map 27 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 21 <- Reducer 20 (SIMPLE_EDGE)
+Reducer 24 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Map 27 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 29 (SIMPLE_EDGE)
 Reducer 31 <- Reducer 30 (CUSTOM_SIMPLE_EDGE)
-Reducer 4 <- Reducer 27 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
-Reducer 5 <- Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 6 <- Reducer 29 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 32 <- Map 29 (SIMPLE_EDGE)
+Reducer 33 <- Reducer 32 (CUSTOM_SIMPLE_EDGE), Reducer 35 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Map 29 (SIMPLE_EDGE)
+Reducer 35 <- Reducer 34 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE), Reducer 31 (CUSTOM_SIMPLE_EDGE)
+Reducer 5 <- Reducer 30 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Reducer 33 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
 Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
@@ -143,25 +148,25 @@ Stage-0
     limit:100
     Stage-1
       Reducer 9 vectorized
-      File Output Operator [FS_259]
-        Limit [LIM_258] (rows=100 width=158)
+      File Output Operator [FS_358]
+        Limit [LIM_357] (rows=100 width=158)
           Number of rows:100
-          Select Operator [SEL_257] (rows=1614130953450400 width=158)
+          Select Operator [SEL_356] (rows=1614130953450400 width=158)
             Output:["_col0","_col1","_col2"]
           <-Reducer 8 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_256]
-              Select Operator [SEL_255] (rows=1614130953450400 width=158)
+            SHUFFLE [RS_355]
+              Select Operator [SEL_354] (rows=1614130953450400 width=158)
                 Output:["_col0","_col1","_col2"]
-                Group By Operator [GBY_254] (rows=1614130953450400 width=158)
+                Group By Operator [GBY_353] (rows=1614130953450400 width=158)
                   Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
                 <-Reducer 7 [SIMPLE_EDGE] vectorized
-                  SHUFFLE [RS_253]
+                  SHUFFLE [RS_352]
                     PartitionCols:_col0
-                    Group By Operator [GBY_252] (rows=3228261906900801 width=158)
+                    Group By Operator [GBY_351] (rows=3228261906900801 width=158)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                      Select Operator [SEL_251] (rows=3228261906900801 width=158)
+                      Select Operator [SEL_350] (rows=3228261906900801 width=158)
                         Output:["_col0"]
-                        Group By Operator [GBY_250] (rows=3228261906900801 width=158)
+                        Group By Operator [GBY_349] (rows=3228261906900801 width=158)
                           Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
                         <-Reducer 6 [SIMPLE_EDGE]
                           SHUFFLE [RS_119]
@@ -174,207 +179,257 @@ Stage-0
                                   predicate:_col11 BETWEEN _col13 AND _col15
                                   Select Operator [SEL_115] (rows=58108714324214428 width=158)
                                     Output:["_col0","_col4","_col11","_col13","_col15"]
-                                    Merge Join Operator [MERGEJOIN_186] (rows=58108714324214428 width=158)
+                                    Merge Join Operator [MERGEJOIN_271] (rows=58108714324214428 width=158)
                                       Conds:(Inner),Output:["_col0","_col2","_col6","_col13","_col15"]
-                                    <-Reducer 29 [CUSTOM_SIMPLE_EDGE]
+                                    <-Reducer 33 [CUSTOM_SIMPLE_EDGE]
                                       PARTITION_ONLY_SHUFFLE [RS_112]
-                                        Merge Join Operator [MERGEJOIN_183] (rows=9131 width=1128)
+                                        Merge Join Operator [MERGEJOIN_268] (rows=9131 width=1128)
                                           Conds:(Right Outer),Output:["_col0"]
-                                        <-Reducer 28 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          PARTITION_ONLY_SHUFFLE [RS_241]
-                                            Group By Operator [GBY_240] (rows=9131 width=1119)
+                                        <-Reducer 32 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_340]
+                                            Group By Operator [GBY_339] (rows=9131 width=1119)
                                               Output:["_col0"],keys:KEY._col0
-                                            <-Map 25 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_229]
+                                            <-Map 29 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_328]
                                                 PartitionCols:_col0
-                                                Group By Operator [GBY_226] (rows=18262 width=1119)
+                                                Group By Operator [GBY_325] (rows=18262 width=1119)
                                                   Output:["_col0"],keys:_col0
-                                                  Select Operator [SEL_223] (rows=18262 width=1119)
+                                                  Select Operator [SEL_322] (rows=18262 width=1119)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_221] (rows=18262 width=1119)
+                                                    Filter Operator [FIL_320] (rows=18262 width=1119)
                                                       predicate:((d_moy = 3) and (d_year = 1999))
                                                       TableScan [TS_73] (rows=73049 width=1119)
                                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
-                                        <-Reducer 31 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          PARTITION_ONLY_SHUFFLE [RS_249]
-                                            Select Operator [SEL_248] (rows=1 width=8)
-                                              Filter Operator [FIL_247] (rows=1 width=8)
+                                        <-Reducer 35 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_348]
+                                            Select Operator [SEL_347] (rows=1 width=8)
+                                              Filter Operator [FIL_346] (rows=1 width=8)
                                                 predicate:(sq_count_check(_col0) <= 1)
-                                                Group By Operator [GBY_246] (rows=1 width=8)
+                                                Group By Operator [GBY_345] (rows=1 width=8)
                                                   Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                                <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                  PARTITION_ONLY_SHUFFLE [RS_245]
-                                                    Group By Operator [GBY_244] (rows=1 width=8)
+                                                <-Reducer 34 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_344]
+                                                    Group By Operator [GBY_343] (rows=1 width=8)
                                                       Output:["_col0"],aggregations:["count()"]
-                                                      Select Operator [SEL_243] (rows=9131 width=1119)
-                                                        Group By Operator [GBY_242] (rows=9131 width=1119)
+                                                      Select Operator [SEL_342] (rows=9131 width=1119)
+                                                        Group By Operator [GBY_341] (rows=9131 width=1119)
                                                           Output:["_col0"],keys:KEY._col0
-                                                        <-Map 25 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_230]
+                                                        <-Map 29 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_329]
                                                             PartitionCols:_col0
-                                                            Group By Operator [GBY_227] (rows=18262 width=1119)
+                                                            Group By Operator [GBY_326] (rows=18262 width=1119)
                                                               Output:["_col0"],keys:_col0
-                                                              Select Operator [SEL_224] (rows=18262 width=1119)
+                                                              Select Operator [SEL_323] (rows=18262 width=1119)
                                                                 Output:["_col0"]
-                                                                 Please refer to the previous Filter Operator [FIL_221]
+                                                                 Please refer to the previous Filter Operator [FIL_320]
                                     <-Reducer 5 [CUSTOM_SIMPLE_EDGE]
                                       PARTITION_ONLY_SHUFFLE [RS_113]
                                         Select Operator [SEL_108] (rows=6363893803988 width=1217)
                                           Output:["_col0","_col4","_col11","_col13"]
-                                          Merge Join Operator [MERGEJOIN_185] (rows=6363893803988 width=1217)
+                                          Merge Join Operator [MERGEJOIN_270] (rows=6363893803988 width=1217)
                                             Conds:(Left Outer),Output:["_col2","_col4","_col10","_col13"]
-                                          <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                                            PARTITION_ONLY_SHUFFLE [RS_233]
-                                              Group By Operator [GBY_231] (rows=9131 width=1119)
+                                          <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_332]
+                                              Group By Operator [GBY_330] (rows=9131 width=1119)
                                                 Output:["_col0"],keys:KEY._col0
-                                              <-Map 25 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_228]
+                                              <-Map 29 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_327]
                                                   PartitionCols:_col0
-                                                  Group By Operator [GBY_225] (rows=18262 width=1119)
+                                                  Group By Operator [GBY_324] (rows=18262 width=1119)
                                                     Output:["_col0"],keys:_col0
-                                                    Select Operator [SEL_222] (rows=18262 width=1119)
+                                                    Select Operator [SEL_321] (rows=18262 width=1119)
                                                       Output:["_col0"]
-                                                       Please refer to the previous Filter Operator [FIL_221]
+                                                       Please refer to the previous Filter Operator [FIL_320]
                                           <-Reducer 4 [CUSTOM_SIMPLE_EDGE]
                                             PARTITION_ONLY_SHUFFLE [RS_105]
-                                              Merge Join Operator [MERGEJOIN_184] (rows=696954748 width=97)
+                                              Merge Join Operator [MERGEJOIN_269] (rows=696954748 width=97)
                                                 Conds:(Inner),Output:["_col2","_col4","_col10"]
-                                              <-Reducer 27 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                PARTITION_ONLY_SHUFFLE [RS_239]
-                                                  Select Operator [SEL_238] (rows=1 width=8)
-                                                    Filter Operator [FIL_237] (rows=1 width=8)
-                                                      predicate:(sq_count_check(_col0) <= 1)
-                                                      Group By Operator [GBY_236] (rows=1 width=8)
-                                                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                                      <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                        PARTITION_ONLY_SHUFFLE [RS_235]
-                                                          Group By Operator [GBY_234] (rows=1 width=8)
-                                                            Output:["_col0"],aggregations:["count()"]
-                                                            Select Operator [SEL_232] (rows=9131 width=1119)
-                                                               Please refer to the previous Group By Operator [GBY_231]
                                               <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
                                                 PARTITION_ONLY_SHUFFLE [RS_102]
-                                                  Merge Join Operator [MERGEJOIN_182] (rows=696954748 width=88)
+                                                  Merge Join Operator [MERGEJOIN_267] (rows=696954748 width=88)
                                                     Conds:RS_99._col1=RS_100._col5(Inner),Output:["_col2","_col4","_col10"]
-                                                  <-Reducer 13 [SIMPLE_EDGE]
+                                                  <-Reducer 14 [SIMPLE_EDGE]
                                                     SHUFFLE [RS_100]
                                                       PartitionCols:_col5
-                                                      Merge Join Operator [MERGEJOIN_181] (rows=316240138 width=135)
-                                                        Conds:RS_69._col0=RS_220._col1(Inner),Output:["_col5"]
-                                                      <-Reducer 12 [SIMPLE_EDGE]
+                                                      Merge Join Operator [MERGEJOIN_266] (rows=316240138 width=135)
+                                                        Conds:RS_69._col0=RS_319._col1(Inner),Output:["_col5"]
+                                                      <-Reducer 13 [SIMPLE_EDGE]
                                                         SHUFFLE [RS_69]
                                                           PartitionCols:_col0
-                                                          Merge Join Operator [MERGEJOIN_177] (rows=44000000 width=1014)
-                                                            Conds:RS_205._col1, _col2=RS_208._col0, _col1(Inner),Output:["_col0"]
-                                                          <-Map 11 [SIMPLE_EDGE] vectorized
-                                                            SHUFFLE [RS_205]
+                                                          Merge Join Operator [MERGEJOIN_262] (rows=44000000 width=1014)
+                                                            Conds:RS_295._col1, _col2=RS_298._col0, _col1(Inner),Output:["_col0"]
+                                                          <-Map 12 [SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_295]
                                                               PartitionCols:_col1, _col2
-                                                              Select Operator [SEL_204] (rows=40000000 width=1014)
+                                                              Select Operator [SEL_294] (rows=40000000 width=1014)
                                                                 Output:["_col0","_col1","_col2"]
-                                                                Filter Operator [FIL_203] (rows=40000000 width=1014)
+                                                                Filter Operator [FIL_293] (rows=40000000 width=1014)
                                                                   predicate:(ca_address_sk is not null and ca_county is not null and ca_state is not null)
                                                                   TableScan [TS_29] (rows=40000000 width=1014)
                                                                     default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_state"]
-                                                          <-Map 14 [SIMPLE_EDGE] vectorized
-                                                            SHUFFLE [RS_208]
+                                                          <-Map 15 [SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_298]
                                                               PartitionCols:_col0, _col1
-                                                              Select Operator [SEL_207] (rows=1704 width=1910)
+                                                              Select Operator [SEL_297] (rows=1704 width=1910)
                                                                 Output:["_col0","_col1"]
-                                                                Filter Operator [FIL_206] (rows=1704 width=1910)
+                                                                Filter Operator [FIL_296] (rows=1704 width=1910)
                                                                   predicate:(s_county is not null and s_state is not null)
                                                                   TableScan [TS_32] (rows=1704 width=1910)
                                                                     default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_county","s_state"]
-                                                      <-Reducer 20 [SIMPLE_EDGE] vectorized
-                                                        SHUFFLE [RS_220]
+                                                      <-Reducer 21 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_319]
                                                           PartitionCols:_col1
-                                                          Select Operator [SEL_219] (rows=287491029 width=135)
+                                                          Select Operator [SEL_318] (rows=287491029 width=135)
                                                             Output:["_col0","_col1"]
-                                                            Group By Operator [GBY_218] (rows=287491029 width=135)
+                                                            Group By Operator [GBY_317] (rows=287491029 width=135)
                                                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                                            <-Reducer 19 [SIMPLE_EDGE]
+                                                            <-Reducer 20 [SIMPLE_EDGE]
                                                               SHUFFLE [RS_63]
                                                                 PartitionCols:_col0, _col1
                                                                 Group By Operator [GBY_62] (rows=574982058 width=135)
                                                                   Output:["_col0","_col1"],keys:_col10, _col9
-                                                                  Merge Join Operator [MERGEJOIN_180] (rows=574982058 width=135)
-                                                                    Conds:RS_58._col1=RS_217._col0(Inner),Output:["_col9","_col10"]
-                                                                  <-Map 24 [SIMPLE_EDGE] vectorized
-                                                                    SHUFFLE [RS_217]
+                                                                  Merge Join Operator [MERGEJOIN_265] (rows=574982058 width=135)
+                                                                    Conds:RS_58._col1=RS_313._col0(Inner),Output:["_col9","_col10"]
+                                                                  <-Map 27 [SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_313]
                                                                       PartitionCols:_col0
-                                                                      Select Operator [SEL_216] (rows=80000000 width=860)
+                                                                      Select Operator [SEL_312] (rows=80000000 width=860)
                                                                         Output:["_col0","_col1"]
-                                                                        Filter Operator [FIL_215] (rows=80000000 width=860)
+                                                                        Filter Operator [FIL_311] (rows=80000000 width=860)
                                                                           predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                                                                           TableScan [TS_49] (rows=80000000 width=860)
                                                                             default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
-                                                                  <-Reducer 18 [SIMPLE_EDGE]
+                                                                  <-Reducer 19 [SIMPLE_EDGE]
                                                                     SHUFFLE [RS_58]
                                                                       PartitionCols:_col1
-                                                                      Merge Join Operator [MERGEJOIN_179] (rows=522710951 width=135)
-                                                                        Conds:RS_55._col2=RS_214._col0(Inner),Output:["_col1"]
-                                                                      <-Map 23 [SIMPLE_EDGE] vectorized
-                                                                        SHUFFLE [RS_214]
+                                                                      Merge Join Operator [MERGEJOIN_264] (rows=522710951 width=135)
+                                                                        Conds:RS_55._col2=RS_307._col0(Inner),Output:["_col1"]
+                                                                      <-Map 25 [SIMPLE_EDGE] vectorized
+                                                                        PARTITION_ONLY_SHUFFLE [RS_307]
                                                                           PartitionCols:_col0
-                                                                          Select Operator [SEL_213] (rows=115500 width=1436)
+                                                                          Select Operator [SEL_306] (rows=115500 width=1436)
                                                                             Output:["_col0"]
-                                                                            Filter Operator [FIL_212] (rows=115500 width=1436)
+                                                                            Filter Operator [FIL_305] (rows=115500 width=1436)
                                                                               predicate:((i_category = 'Jewelry') and (i_class = 'consignment') and i_item_sk is not null)
                                                                               TableScan [TS_46] (rows=462000 width=1436)
                                                                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_class","i_category"]
-                                                                      <-Reducer 17 [SIMPLE_EDGE]
+                                                                      <-Reducer 18 [SIMPLE_EDGE]
                                                                         SHUFFLE [RS_55]
                                                                           PartitionCols:_col2
-                                                                          Merge Join Operator [MERGEJOIN_178] (rows=475191764 width=135)
-                                                                            Conds:Union 16._col0=RS_211._col0(Inner),Output:["_col1","_col2"]
-                                                                          <-Map 22 [SIMPLE_EDGE] vectorized
-                                                                            SHUFFLE [RS_211]
+                                                                          Merge Join Operator [MERGEJOIN_263] (rows=475191764 width=135)
+                                                                            Conds:Union 17._col0=RS_301._col0(Inner),Output:["_col1","_col2"]
+                                                                          <-Map 23 [SIMPLE_EDGE] vectorized
+                                                                            PARTITION_ONLY_SHUFFLE [RS_301]
                                                                               PartitionCols:_col0
-                                                                              Select Operator [SEL_210] (rows=18262 width=1119)
+                                                                              Select Operator [SEL_300] (rows=18262 width=1119)
                                                                                 Output:["_col0"]
-                                                                                Filter Operator [FIL_209] (rows=18262 width=1119)
+                                                                                Filter Operator [FIL_299] (rows=18262 width=1119)
                                                                                   predicate:((d_moy = 3) and (d_year = 1999) and d_date_sk is not null)
                                                                                   TableScan [TS_43] (rows=73049 width=1119)
                                                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                                                          <-Union 16 [SIMPLE_EDGE]
-                                                                            <-Map 15 [CONTAINS] vectorized
-                                                                              Reduce Output Operator [RS_262]
+                                                                          <-Union 17 [SIMPLE_EDGE]
+                                                                            <-Map 16 [CONTAINS] vectorized
+                                                                              Reduce Output Operator [RS_369]
                                                                                 PartitionCols:_col0
-                                                                                Select Operator [SEL_261] (rows=287989836 width=135)
+                                                                                Select Operator [SEL_368] (rows=287989836 width=135)
                                                                                   Output:["_col0","_col1","_col2"]
-                                                                                  Filter Operator [FIL_260] (rows=287989836 width=135)
-                                                                                    predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                                                                    TableScan [TS_187] (rows=287989836 width=135)
+                                                                                  Filter Operator [FIL_367] (rows=287989836 width=135)
+                                                                                    predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_59_customer_c_customer_sk_min) AND DynamicValue(RS_59_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_59_customer_c_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_56_item_i_item_sk_min) AND DynamicValue(RS_56_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_56_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_53_date_dim_d_date_sk_min) AND DynamicValue(RS_53_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_53_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                                                                    TableScan [TS_272] (rows=287989836 width=135)
                                                                                       Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk"]
-                                                                            <-Map 21 [CONTAINS] vectorized
-                                                                              Reduce Output Operator [RS_265]
+                                                                                    <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_360]
+                                                                                        Group By Operator [GBY_359] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          PARTITION_ONLY_SHUFFLE [RS_304]
+                                                                                            Group By Operator [GBY_303] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_302] (rows=18262 width=1119)
+                                                                                                Output:["_col0"]
+                                                                                                 Please refer to the previous Select Operator [SEL_300]
+                                                                                    <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_363]
+                                                                                        Group By Operator [GBY_362] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          PARTITION_ONLY_SHUFFLE [RS_310]
+                                                                                            Group By Operator [GBY_309] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_308] (rows=115500 width=1436)
+                                                                                                Output:["_col0"]
+                                                                                                 Please refer to the previous Select Operator [SEL_306]
+                                                                                    <-Reducer 28 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_366]
+                                                                                        Group By Operator [GBY_365] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                                                        <-Map 27 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          PARTITION_ONLY_SHUFFLE [RS_316]
+                                                                                            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_314] (rows=80000000 width=860)
+                                                                                                Output:["_col0"]
+                                                                                                 Please refer to the previous Select Operator [SEL_312]
+                                                                            <-Map 22 [CONTAINS] vectorized
+                                                                              Reduce Output Operator [RS_372]
                                                                                 PartitionCols:_col0
-                                                                                Select Operator [SEL_264] (rows=144002668 width=135)
+                                                                                Select Operator [SEL_371] (rows=144002668 width=135)
                                                                                   Output:["_col0","_col1","_col2"]
-                                                                                  Filter Operator [FIL_263] (rows=144002668 width=135)
-                                                                                    predicate:(ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                                                                    TableScan [TS_192] (rows=144002668 width=135)
+                                                                                  Filter Operator [FIL_370] (rows=144002668 width=135)
+                                                                                    predicate:((ws_item_sk BETWEEN DynamicValue(RS_56_item_i_item_sk_min) AND DynamicValue(RS_56_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_56_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_53_date_dim_d_date_sk_min) AND DynamicValue(RS_53_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_53_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                                                                    TableScan [TS_277] (rows=144002668 width=135)
                                                                                       Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk"]
+                                                                                    <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_361]
+                                                                                         Please refer to the previous Group By Operator [GBY_359]
+                                                                                    <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_364]
+                                                                                         Please refer to the previous Group By Operator [GBY_362]
                                                   <-Reducer 2 [SIMPLE_EDGE]
                                                     SHUFFLE [RS_99]
                                                       PartitionCols:_col1
-                                                      Merge Join Operator [MERGEJOIN_176] (rows=633595212 width=88)
-                                                        Conds:RS_199._col0=RS_202._col0(Inner),Output:["_col1","_col2","_col4"]
-                                                      <-Map 1 [SIMPLE_EDGE] vectorized
-                                                        SHUFFLE [RS_199]
-                                                          PartitionCols:_col0
-                                                          Select Operator [SEL_198] (rows=575995635 width=88)
-                                                            Output:["_col0","_col1","_col2"]
-                                                            Filter Operator [FIL_197] (rows=575995635 width=88)
-                                                              predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                                              TableScan [TS_23] (rows=575995635 width=88)
-                                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_sales_price"]
+                                                      Merge Join Operator [MERGEJOIN_261] (rows=633595212 width=88)
+                                                        Conds:RS_292._col0=RS_284._col0(Inner),Output:["_col1","_col2","_col4"]
                                                       <-Map 10 [SIMPLE_EDGE] vectorized
-                                                        SHUFFLE [RS_202]
+                                                        SHUFFLE [RS_284]
                                                           PartitionCols:_col0
-                                                          Select Operator [SEL_201] (rows=73049 width=1119)
+                                                          Select Operator [SEL_283] (rows=73049 width=1119)
                                                             Output:["_col0","_col1"]
-                                                            Filter Operator [FIL_200] (rows=73049 width=1119)
+                                                            Filter Operator [FIL_282] (rows=73049 width=1119)
                                                               predicate:d_date_sk is not null
                                                               TableScan [TS_26] (rows=73049 width=1119)
                                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
+                                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_292]
+                                                          PartitionCols:_col0
+                                                          Select Operator [SEL_291] (rows=575995635 width=88)
+                                                            Output:["_col0","_col1","_col2"]
+                                                            Filter Operator [FIL_290] (rows=575995635 width=88)
+                                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_97_date_dim_d_date_sk_min) AND DynamicValue(RS_97_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_97_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                              TableScan [TS_23] (rows=575995635 width=88)
+                                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_sales_price"]
+                                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_289]
+                                                                  Group By Operator [GBY_288] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    SHUFFLE [RS_287]
+                                                                      Group By Operator [GBY_286] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_285] (rows=73049 width=1119)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_283]
+                                              <-Reducer 31 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_338]
+                                                  Select Operator [SEL_337] (rows=1 width=8)
+                                                    Filter Operator [FIL_336] (rows=1 width=8)
+                                                      predicate:(sq_count_check(_col0) <= 1)
+                                                      Group By Operator [GBY_335] (rows=1 width=8)
+                                                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
+                                                      <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_334]
+                                                          Group By Operator [GBY_333] (rows=1 width=8)
+                                                            Output:["_col0"],aggregations:["count()"]
+                                                            Select Operator [SEL_331] (rows=9131 width=1119)
+                                                               Please refer to the previous Group By Operator [GBY_330]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query55.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query55.q.out b/ql/src/test/results/clientpositive/perf/tez/query55.q.out
index 2f27227..8693539 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query55.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query55.q.out
@@ -27,64 +27,89 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_49]
-        Limit [LIM_48] (rows=100 width=88)
+      File Output Operator [FS_79]
+        Limit [LIM_78] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_47] (rows=348477374 width=88)
+          Select Operator [SEL_77] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_46]
-              Select Operator [SEL_45] (rows=348477374 width=88)
+            SHUFFLE [RS_76]
+              Select Operator [SEL_75] (rows=348477374 width=88)
                 Output:["_col1","_col2","_col3"]
-                Group By Operator [GBY_44] (rows=348477374 width=88)
+                Group By Operator [GBY_74] (rows=348477374 width=88)
                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                 <-Reducer 3 [SIMPLE_EDGE]
                   SHUFFLE [RS_17]
                     PartitionCols:_col0, _col1
                     Group By Operator [GBY_16] (rows=696954748 width=88)
                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)"],keys:_col7, _col8
-                      Merge Join Operator [MERGEJOIN_34] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_43._col0(Inner),Output:["_col2","_col7","_col8"]
-                      <-Map 7 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_43]
+                      Merge Join Operator [MERGEJOIN_54] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_65._col0(Inner),Output:["_col2","_col7","_col8"]
+                      <-Map 8 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_65]
                           PartitionCols:_col0
-                          Select Operator [SEL_42] (rows=231000 width=1436)
+                          Select Operator [SEL_64] (rows=231000 width=1436)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_41] (rows=231000 width=1436)
+                            Filter Operator [FIL_63] (rows=231000 width=1436)
                               predicate:((i_manager_id = 36) and i_item_sk is not null)
                               TableScan [TS_6] (rows=462000 width=1436)
                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand_id","i_brand","i_manager_id"]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_33] (rows=633595212 width=88)
-                            Conds:RS_37._col0=RS_40._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_36] (rows=575995635 width=88)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_35] (rows=575995635 width=88)
-                                  predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
-                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                          Merge Join Operator [MERGEJOIN_53] (rows=633595212 width=88)
+                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_40]
+                            PARTITION_ONLY_SHUFFLE [RS_57]
                               PartitionCols:_col0
-                              Select Operator [SEL_39] (rows=18262 width=1119)
+                              Select Operator [SEL_56] (rows=18262 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_38] (rows=18262 width=1119)
+                                Filter Operator [FIL_55] (rows=18262 width=1119)
                                   predicate:((d_moy = 12) and (d_year = 2001) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_73]
+                              PartitionCols:_col0
+                              Select Operator [SEL_72] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_71] (rows=575995635 width=88)
+                                  predicate:((ss_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (ss_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(ss_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_62]
+                                      Group By Operator [GBY_61] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_60]
+                                          Group By Operator [GBY_59] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_58] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_56]
+                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_70]
+                                      Group By Operator [GBY_69] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_68]
+                                          Group By Operator [GBY_67] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_66] (rows=231000 width=1436)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_64]
 


[39/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out b/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out
index 0c6bd6a..ab86821 100644
--- a/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainanalyze_2.q.out
@@ -63,11 +63,11 @@ Stage-0
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 4 [SIMPLE_EDGE]
           <-Reducer 3 [CONTAINS] llap
-            Reduce Output Operator [RS_84]
+            Reduce Output Operator [RS_126]
               PartitionCols:_col0, _col1
-              Select Operator [SEL_82] (rows=66/61 width=177)
+              Select Operator [SEL_124] (rows=66/61 width=177)
                 Output:["_col0","_col1"]
-                Merge Join Operator [MERGEJOIN_81] (rows=66/61 width=177)
+                Merge Join Operator [MERGEJOIN_123] (rows=66/61 width=177)
                   Conds:RS_21._col2=RS_22._col1(Inner),Output:["_col1","_col4"]
                 <-Reducer 11 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_22]
@@ -78,27 +78,27 @@ Stage-0
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 10 [SIMPLE_EDGE]
                         <-Map 12 [CONTAINS] llap
-                          Reduce Output Operator [RS_98]
+                          Reduce Output Operator [RS_140]
                             PartitionCols:_col1, _col0
-                            Select Operator [SEL_96] (rows=500/500 width=178)
+                            Select Operator [SEL_138] (rows=500/500 width=178)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_95] (rows=500/500 width=178)
+                              Filter Operator [FIL_137] (rows=500/500 width=178)
                                 predicate:value is not null
-                                TableScan [TS_94] (rows=500/500 width=178)
+                                TableScan [TS_136] (rows=500/500 width=178)
                                   Output:["key","value"]
                         <-Map 9 [CONTAINS] llap
-                          Reduce Output Operator [RS_93]
+                          Reduce Output Operator [RS_135]
                             PartitionCols:_col1, _col0
-                            Select Operator [SEL_91] (rows=25/25 width=175)
+                            Select Operator [SEL_133] (rows=25/25 width=175)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_90] (rows=25/25 width=175)
+                              Filter Operator [FIL_132] (rows=25/25 width=175)
                                 predicate:value is not null
-                                TableScan [TS_89] (rows=25/25 width=175)
+                                TableScan [TS_131] (rows=25/25 width=175)
                                   Output:["key","value"]
                 <-Reducer 2 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_21]
                     PartitionCols:_col2
-                    Merge Join Operator [MERGEJOIN_77] (rows=39/37 width=175)
+                    Merge Join Operator [MERGEJOIN_119] (rows=39/37 width=175)
                       Conds:RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col2"]
                     <-Map 1 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_18]
@@ -119,11 +119,11 @@ Stage-0
                             TableScan [TS_3] (rows=25/25 width=175)
                               default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
           <-Reducer 7 [CONTAINS] llap
-            Reduce Output Operator [RS_88]
+            Reduce Output Operator [RS_130]
               PartitionCols:_col0, _col1
-              Select Operator [SEL_86] (rows=66/61 width=177)
+              Select Operator [SEL_128] (rows=66/61 width=177)
                 Output:["_col0","_col1"]
-                Merge Join Operator [MERGEJOIN_85] (rows=66/61 width=177)
+                Merge Join Operator [MERGEJOIN_127] (rows=66/61 width=177)
                   Conds:RS_46._col2=RS_47._col1(Inner),Output:["_col1","_col4"]
                 <-Reducer 15 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_47]
@@ -134,27 +134,27 @@ Stage-0
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 14 [SIMPLE_EDGE]
                         <-Map 13 [CONTAINS] llap
-                          Reduce Output Operator [RS_103]
+                          Reduce Output Operator [RS_145]
                             PartitionCols:_col1, _col0
-                            Select Operator [SEL_101] (rows=25/25 width=175)
+                            Select Operator [SEL_143] (rows=25/25 width=175)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_100] (rows=25/25 width=175)
+                              Filter Operator [FIL_142] (rows=25/25 width=175)
                                 predicate:value is not null
-                                TableScan [TS_99] (rows=25/25 width=175)
+                                TableScan [TS_141] (rows=25/25 width=175)
                                   Output:["key","value"]
                         <-Map 16 [CONTAINS] llap
-                          Reduce Output Operator [RS_108]
+                          Reduce Output Operator [RS_150]
                             PartitionCols:_col1, _col0
-                            Select Operator [SEL_106] (rows=500/500 width=178)
+                            Select Operator [SEL_148] (rows=500/500 width=178)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_105] (rows=500/500 width=178)
+                              Filter Operator [FIL_147] (rows=500/500 width=178)
                                 predicate:value is not null
-                                TableScan [TS_104] (rows=500/500 width=178)
+                                TableScan [TS_146] (rows=500/500 width=178)
                                   Output:["key","value"]
                 <-Reducer 6 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_46]
                     PartitionCols:_col2
-                    Merge Join Operator [MERGEJOIN_78] (rows=39/37 width=175)
+                    Merge Join Operator [MERGEJOIN_120] (rows=39/37 width=175)
                       Conds:RS_43._col0=RS_44._col0(Inner),Output:["_col1","_col2"]
                     <-Map 1 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_43]
@@ -257,17 +257,17 @@ Stage-0
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 6 [SIMPLE_EDGE]
           <-Reducer 5 [CONTAINS] llap
-            Reduce Output Operator [RS_163]
+            Reduce Output Operator [RS_229]
               PartitionCols:_col0, _col1
-              Group By Operator [GBY_161] (rows=196/15 width=177)
+              Group By Operator [GBY_227] (rows=196/15 width=177)
                 Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
               <-Union 4 [SIMPLE_EDGE]
                 <-Reducer 10 [CONTAINS] llap
-                  Reduce Output Operator [RS_171]
+                  Reduce Output Operator [RS_237]
                     PartitionCols:_col0, _col1
-                    Select Operator [SEL_169] (rows=130/61 width=177)
+                    Select Operator [SEL_235] (rows=130/61 width=177)
                       Output:["_col0","_col1"]
-                      Merge Join Operator [MERGEJOIN_168] (rows=130/61 width=177)
+                      Merge Join Operator [MERGEJOIN_234] (rows=130/61 width=177)
                         Conds:RS_55._col3=RS_56._col1(Inner),Output:["_col1","_col2"]
                       <-Reducer 20 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_56]
@@ -278,44 +278,44 @@ Stage-0
                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                             <-Union 19 [SIMPLE_EDGE]
                               <-Map 22 [CONTAINS] llap
-                                Reduce Output Operator [RS_200]
+                                Reduce Output Operator [RS_266]
                                   PartitionCols:_col1, _col0
-                                  Select Operator [SEL_198] (rows=500/500 width=178)
+                                  Select Operator [SEL_264] (rows=500/500 width=178)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_197] (rows=500/500 width=178)
+                                    Filter Operator [FIL_263] (rows=500/500 width=178)
                                       predicate:value is not null
-                                      TableScan [TS_196] (rows=500/500 width=178)
+                                      TableScan [TS_262] (rows=500/500 width=178)
                                         Output:["key","value"]
                               <-Reducer 18 [CONTAINS] llap
-                                Reduce Output Operator [RS_190]
+                                Reduce Output Operator [RS_256]
                                   PartitionCols:_col1, _col0
-                                  Select Operator [SEL_188] (rows=525/319 width=178)
+                                  Select Operator [SEL_254] (rows=525/319 width=178)
                                     Output:["_col0","_col1"]
-                                    Group By Operator [GBY_187] (rows=525/319 width=178)
+                                    Group By Operator [GBY_253] (rows=525/319 width=178)
                                       Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                     <-Union 17 [SIMPLE_EDGE]
                                       <-Map 16 [CONTAINS] llap
-                                        Reduce Output Operator [RS_186]
+                                        Reduce Output Operator [RS_252]
                                           PartitionCols:_col1, _col0
-                                          Select Operator [SEL_184] (rows=25/25 width=175)
+                                          Select Operator [SEL_250] (rows=25/25 width=175)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_183] (rows=25/25 width=175)
+                                            Filter Operator [FIL_249] (rows=25/25 width=175)
                                               predicate:value is not null
-                                              TableScan [TS_182] (rows=25/25 width=175)
+                                              TableScan [TS_248] (rows=25/25 width=175)
                                                 Output:["key","value"]
                                       <-Map 21 [CONTAINS] llap
-                                        Reduce Output Operator [RS_195]
+                                        Reduce Output Operator [RS_261]
                                           PartitionCols:_col1, _col0
-                                          Select Operator [SEL_193] (rows=500/500 width=178)
+                                          Select Operator [SEL_259] (rows=500/500 width=178)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_192] (rows=500/500 width=178)
+                                            Filter Operator [FIL_258] (rows=500/500 width=178)
                                               predicate:value is not null
-                                              TableScan [TS_191] (rows=500/500 width=178)
+                                              TableScan [TS_257] (rows=500/500 width=178)
                                                 Output:["key","value"]
                       <-Reducer 9 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_55]
                           PartitionCols:_col3
-                          Merge Join Operator [MERGEJOIN_152] (rows=39/37 width=266)
+                          Merge Join Operator [MERGEJOIN_218] (rows=39/37 width=266)
                             Conds:RS_52._col0=RS_53._col0(Inner),Output:["_col1","_col2","_col3"]
                           <-Map 1 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_52]
@@ -336,16 +336,16 @@ Stage-0
                                   TableScan [TS_3] (rows=25/25 width=175)
                                     default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                 <-Reducer 3 [CONTAINS] llap
-                  Reduce Output Operator [RS_160]
+                  Reduce Output Operator [RS_226]
                     PartitionCols:_col0, _col1
-                    Select Operator [SEL_158] (rows=66/61 width=177)
+                    Select Operator [SEL_224] (rows=66/61 width=177)
                       Output:["_col0","_col1"]
-                      Merge Join Operator [MERGEJOIN_157] (rows=66/61 width=177)
+                      Merge Join Operator [MERGEJOIN_223] (rows=66/61 width=177)
                         Conds:RS_21._col3=RS_22._col1(Inner),Output:["_col1","_col2"]
                       <-Reducer 2 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_21]
                           PartitionCols:_col3
-                          Merge Join Operator [MERGEJOIN_151] (rows=39/37 width=266)
+                          Merge Join Operator [MERGEJOIN_217] (rows=39/37 width=266)
                             Conds:RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col2","_col3"]
                           <-Map 1 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_18]
@@ -364,34 +364,34 @@ Stage-0
                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                             <-Union 13 [SIMPLE_EDGE]
                               <-Map 12 [CONTAINS] llap
-                                Reduce Output Operator [RS_176]
+                                Reduce Output Operator [RS_242]
                                   PartitionCols:_col1, _col0
-                                  Select Operator [SEL_174] (rows=25/25 width=175)
+                                  Select Operator [SEL_240] (rows=25/25 width=175)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_173] (rows=25/25 width=175)
+                                    Filter Operator [FIL_239] (rows=25/25 width=175)
                                       predicate:value is not null
-                                      TableScan [TS_172] (rows=25/25 width=175)
+                                      TableScan [TS_238] (rows=25/25 width=175)
                                         Output:["key","value"]
                               <-Map 15 [CONTAINS] llap
-                                Reduce Output Operator [RS_181]
+                                Reduce Output Operator [RS_247]
                                   PartitionCols:_col1, _col0
-                                  Select Operator [SEL_179] (rows=500/500 width=178)
+                                  Select Operator [SEL_245] (rows=500/500 width=178)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_178] (rows=500/500 width=178)
+                                    Filter Operator [FIL_244] (rows=500/500 width=178)
                                       predicate:value is not null
-                                      TableScan [TS_177] (rows=500/500 width=178)
+                                      TableScan [TS_243] (rows=500/500 width=178)
                                         Output:["key","value"]
           <-Reducer 8 [CONTAINS] llap
-            Reduce Output Operator [RS_167]
+            Reduce Output Operator [RS_233]
               PartitionCols:_col0, _col1
-              Select Operator [SEL_165] (rows=193/61 width=177)
+              Select Operator [SEL_231] (rows=193/61 width=177)
                 Output:["_col0","_col1"]
-                Merge Join Operator [MERGEJOIN_164] (rows=193/61 width=177)
+                Merge Join Operator [MERGEJOIN_230] (rows=193/61 width=177)
                   Conds:RS_104._col3=RS_105._col1(Inner),Output:["_col1","_col2"]
                 <-Reducer 2 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_104]
                     PartitionCols:_col3
-                     Please refer to the previous Merge Join Operator [MERGEJOIN_151]
+                     Please refer to the previous Merge Join Operator [MERGEJOIN_217]
                 <-Reducer 29 [SIMPLE_EDGE] llap
                   SHUFFLE [RS_105]
                     PartitionCols:_col1
@@ -401,56 +401,56 @@ Stage-0
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 28 [SIMPLE_EDGE]
                         <-Map 32 [CONTAINS] llap
-                          Reduce Output Operator [RS_228]
+                          Reduce Output Operator [RS_294]
                             PartitionCols:_col1, _col0
-                            Select Operator [SEL_226] (rows=500/500 width=178)
+                            Select Operator [SEL_292] (rows=500/500 width=178)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_225] (rows=500/500 width=178)
+                              Filter Operator [FIL_291] (rows=500/500 width=178)
                                 predicate:value is not null
-                                TableScan [TS_224] (rows=500/500 width=178)
+                                TableScan [TS_290] (rows=500/500 width=178)
                                   Output:["key","value"]
                         <-Reducer 27 [CONTAINS] llap
-                          Reduce Output Operator [RS_213]
+                          Reduce Output Operator [RS_279]
                             PartitionCols:_col1, _col0
-                            Select Operator [SEL_211] (rows=1025/319 width=178)
+                            Select Operator [SEL_277] (rows=1025/319 width=178)
                               Output:["_col0","_col1"]
-                              Group By Operator [GBY_210] (rows=1025/319 width=178)
+                              Group By Operator [GBY_276] (rows=1025/319 width=178)
                                 Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                               <-Union 26 [SIMPLE_EDGE]
                                 <-Map 31 [CONTAINS] llap
-                                  Reduce Output Operator [RS_223]
+                                  Reduce Output Operator [RS_289]
                                     PartitionCols:_col1, _col0
-                                    Select Operator [SEL_221] (rows=500/500 width=178)
+                                    Select Operator [SEL_287] (rows=500/500 width=178)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_220] (rows=500/500 width=178)
+                                      Filter Operator [FIL_286] (rows=500/500 width=178)
                                         predicate:value is not null
-                                        TableScan [TS_219] (rows=500/500 width=178)
+                                        TableScan [TS_285] (rows=500/500 width=178)
                                           Output:["key","value"]
                                 <-Reducer 25 [CONTAINS] llap
-                                  Reduce Output Operator [RS_209]
+                                  Reduce Output Operator [RS_275]
                                     PartitionCols:_col1, _col0
-                                    Select Operator [SEL_207] (rows=525/319 width=178)
+                                    Select Operator [SEL_273] (rows=525/319 width=178)
                                       Output:["_col0","_col1"]
-                                      Group By Operator [GBY_206] (rows=525/319 width=178)
+                                      Group By Operator [GBY_272] (rows=525/319 width=178)
                                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                       <-Union 24 [SIMPLE_EDGE]
                                         <-Map 23 [CONTAINS] llap
-                                          Reduce Output Operator [RS_205]
+                                          Reduce Output Operator [RS_271]
                                             PartitionCols:_col1, _col0
-                                            Select Operator [SEL_203] (rows=25/25 width=175)
+                                            Select Operator [SEL_269] (rows=25/25 width=175)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_202] (rows=25/25 width=175)
+                                              Filter Operator [FIL_268] (rows=25/25 width=175)
                                                 predicate:value is not null
-                                                TableScan [TS_201] (rows=25/25 width=175)
+                                                TableScan [TS_267] (rows=25/25 width=175)
                                                   Output:["key","value"]
                                         <-Map 30 [CONTAINS] llap
-                                          Reduce Output Operator [RS_218]
+                                          Reduce Output Operator [RS_284]
                                             PartitionCols:_col1, _col0
-                                            Select Operator [SEL_216] (rows=500/500 width=178)
+                                            Select Operator [SEL_282] (rows=500/500 width=178)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_215] (rows=500/500 width=178)
+                                              Filter Operator [FIL_281] (rows=500/500 width=178)
                                                 predicate:value is not null
-                                                TableScan [TS_214] (rows=500/500 width=178)
+                                                TableScan [TS_280] (rows=500/500 width=178)
                                                   Output:["key","value"]
 
 PREHOOK: query: CREATE TABLE srcbucket_mapjoin_n11(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE
@@ -609,7 +609,7 @@ Stage-0
     Stage-1
       Map 1 llap
       File Output Operator [FS_10]
-        Merge Join Operator [MERGEJOIN_15] (rows=401/480 width=95)
+        Merge Join Operator [MERGEJOIN_25] (rows=401/480 width=95)
           Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"]
         <-Select Operator [SEL_5] (rows=242/242 width=4)
             Output:["_col0"]
@@ -652,7 +652,7 @@ Stage-0
     Stage-1
       Reducer 3 llap
       File Output Operator [FS_16]
-        Merge Join Operator [MERGEJOIN_26] (rows=633/1166 width=95)
+        Merge Join Operator [MERGEJOIN_46] (rows=633/1166 width=95)
           Conds:RS_12._col0=RS_13._col0(Inner),Output:["_col0","_col1"]
         <-Map 5 [SIMPLE_EDGE] llap
           SHUFFLE [RS_13]
@@ -666,7 +666,7 @@ Stage-0
         <-Reducer 2 [SIMPLE_EDGE] llap
           SHUFFLE [RS_12]
             PartitionCols:_col0
-            Merge Join Operator [MERGEJOIN_25] (rows=382/480 width=95)
+            Merge Join Operator [MERGEJOIN_45] (rows=382/480 width=95)
               Conds:RS_9._col1=RS_10._col0(Inner),Output:["_col0","_col1"]
             <-Map 1 [SIMPLE_EDGE] llap
               SHUFFLE [RS_9]
@@ -715,7 +715,7 @@ Stage-0
     Stage-1
       Map 1 llap
       File Output Operator [FS_10]
-        Merge Join Operator [MERGEJOIN_15] (rows=401/480 width=95)
+        Merge Join Operator [MERGEJOIN_25] (rows=401/480 width=95)
           Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"]
         <-Select Operator [SEL_5] (rows=242/242 width=4)
             Output:["_col0"]
@@ -762,7 +762,7 @@ Stage-0
     Stage-1
       Reducer 3 llap
       File Output Operator [FS_16]
-        Merge Join Operator [MERGEJOIN_26] (rows=633/1166 width=95)
+        Merge Join Operator [MERGEJOIN_46] (rows=633/1166 width=95)
           Conds:RS_12._col0=RS_13._col0(Inner),Output:["_col0","_col1"]
         <-Map 5 [SIMPLE_EDGE] llap
           SHUFFLE [RS_13]
@@ -776,7 +776,7 @@ Stage-0
         <-Reducer 2 [SIMPLE_EDGE] llap
           SHUFFLE [RS_12]
             PartitionCols:_col0
-            Merge Join Operator [MERGEJOIN_25] (rows=382/480 width=95)
+            Merge Join Operator [MERGEJOIN_45] (rows=382/480 width=95)
               Conds:RS_9._col1=RS_10._col0(Inner),Output:["_col0","_col1"]
             <-Map 1 [SIMPLE_EDGE] llap
               SHUFFLE [RS_9]
@@ -847,7 +847,7 @@ Stage-0
           Output:["_col0"],aggregations:["count()"]
         <-Reducer 3 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_22]
-            Merge Join Operator [MERGEJOIN_38] (rows=1061/1646 width=8)
+            Merge Join Operator [MERGEJOIN_60] (rows=1061/1646 width=8)
               Conds:Union 2._col0=RS_19._col0(Inner)
             <-Map 7 [SIMPLE_EDGE] llap
               SHUFFLE [RS_19]
@@ -860,30 +860,30 @@ Stage-0
                       default@tab_part_n7,b_n10,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
             <-Union 2 [SIMPLE_EDGE]
               <-Map 1 [CONTAINS] llap
-                Reduce Output Operator [RS_48]
+                Reduce Output Operator [RS_70]
                   PartitionCols:_col0
-                  Merge Join Operator [MERGEJOIN_45] (rows=401/480 width=4)
-                    Conds:SEL_43._col0=SEL_5._col0(Inner),Output:["_col0"]
+                  Merge Join Operator [MERGEJOIN_67] (rows=401/480 width=4)
+                    Conds:SEL_65._col0=SEL_5._col0(Inner),Output:["_col0"]
                   <-Select Operator [SEL_5] (rows=242/242 width=4)
                       Output:["_col0"]
                       Filter Operator [FIL_33] (rows=242/242 width=4)
                         predicate:key is not null
                         TableScan [TS_3] (rows=242/242 width=4)
                           default@tab_n6,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-                  <-Select Operator [SEL_43] (rows=242/242 width=4)
+                  <-Select Operator [SEL_65] (rows=242/242 width=4)
                       Output:["_col0"]
-                      Filter Operator [FIL_41] (rows=242/242 width=4)
+                      Filter Operator [FIL_63] (rows=242/242 width=4)
                         predicate:key is not null
-                        TableScan [TS_39] (rows=242/242 width=4)
+                        TableScan [TS_61] (rows=242/242 width=4)
                           Output:["key"]
               <-Map 6 [CONTAINS] llap
-                Reduce Output Operator [RS_53]
+                Reduce Output Operator [RS_75]
                   PartitionCols:_col0
-                  Select Operator [SEL_51] (rows=242/242 width=4)
+                  Select Operator [SEL_73] (rows=242/242 width=4)
                     Output:["_col0"]
-                    Filter Operator [FIL_50] (rows=242/242 width=4)
+                    Filter Operator [FIL_72] (rows=242/242 width=4)
                       predicate:key is not null
-                      TableScan [TS_49] (rows=242/242 width=4)
+                      TableScan [TS_71] (rows=242/242 width=4)
                         Output:["key"]
 
 PREHOOK: query: select count(*) from (select s1.key as key, s1.value as value from tab_n6 s1 join tab_n6 s3 on s1.key=s3.key join tab_n6 s2 on s1.value=s2.value
@@ -937,7 +937,7 @@ Stage-0
           Output:["_col0"],aggregations:["count()"]
         <-Reducer 5 [CUSTOM_SIMPLE_EDGE] llap
           PARTITION_ONLY_SHUFFLE [RS_28]
-            Merge Join Operator [MERGEJOIN_49] (rows=1443/3768 width=8)
+            Merge Join Operator [MERGEJOIN_81] (rows=1443/3768 width=8)
               Conds:Union 4._col0=RS_25._col0(Inner)
             <-Map 10 [SIMPLE_EDGE] llap
               SHUFFLE [RS_25]
@@ -950,18 +950,18 @@ Stage-0
                       default@tab_part_n7,b_n10,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
             <-Union 4 [SIMPLE_EDGE]
               <-Map 9 [CONTAINS] llap
-                Reduce Output Operator [RS_57]
+                Reduce Output Operator [RS_89]
                   PartitionCols:_col0
-                  Select Operator [SEL_55] (rows=242/242 width=4)
+                  Select Operator [SEL_87] (rows=242/242 width=4)
                     Output:["_col0"]
-                    Filter Operator [FIL_54] (rows=242/242 width=4)
+                    Filter Operator [FIL_86] (rows=242/242 width=4)
                       predicate:key is not null
-                      TableScan [TS_53] (rows=242/242 width=4)
+                      TableScan [TS_85] (rows=242/242 width=4)
                         Output:["key"]
               <-Reducer 3 [CONTAINS] llap
-                Reduce Output Operator [RS_52]
+                Reduce Output Operator [RS_84]
                   PartitionCols:_col0
-                  Merge Join Operator [MERGEJOIN_50] (rows=633/1166 width=4)
+                  Merge Join Operator [MERGEJOIN_82] (rows=633/1166 width=4)
                     Conds:RS_12._col0=RS_13._col0(Inner),Output:["_col0"]
                   <-Map 8 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_13]
@@ -975,7 +975,7 @@ Stage-0
                   <-Reducer 2 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_12]
                       PartitionCols:_col0
-                      Merge Join Operator [MERGEJOIN_47] (rows=382/480 width=4)
+                      Merge Join Operator [MERGEJOIN_79] (rows=382/480 width=4)
                         Conds:RS_9._col1=RS_10._col0(Inner),Output:["_col0"]
                       <-Map 1 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_9]
@@ -1140,16 +1140,16 @@ Stage-5
                   Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"]
                 <-Union 4 [CUSTOM_SIMPLE_EDGE]
                   <-Reducer 12 [CONTAINS] llap
-                    File Output Operator [FS_167]
+                    File Output Operator [FS_233]
                       table:{"name:":"default.a_n14"}
-                      Select Operator [SEL_165] (rows=193/820 width=175)
+                      Select Operator [SEL_231] (rows=193/820 width=175)
                         Output:["_col0","_col1"]
-                        Merge Join Operator [MERGEJOIN_164] (rows=193/820 width=175)
+                        Merge Join Operator [MERGEJOIN_230] (rows=193/820 width=175)
                           Conds:RS_69._col1=Union 23._col0(Inner),Output:["_col0","_col3"]
                         <-Reducer 11 [SIMPLE_EDGE] llap
                           SHUFFLE [RS_69]
                             PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_136] (rows=39/115 width=264)
+                            Merge Join Operator [MERGEJOIN_202] (rows=39/115 width=264)
                               Conds:RS_66._col0=RS_67._col0(Inner),Output:["_col0","_col1","_col3"]
                             <-Map 10 [SIMPLE_EDGE] llap
                               SHUFFLE [RS_66]
@@ -1171,70 +1171,70 @@ Stage-5
                                       default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                         <-Union 23 [SIMPLE_EDGE]
                           <-Map 22 [CONTAINS] llap
-                            Reduce Output Operator [RS_205]
+                            Reduce Output Operator [RS_271]
                               PartitionCols:_col0
-                              Select Operator [SEL_203] (rows=25/25 width=89)
+                              Select Operator [SEL_269] (rows=25/25 width=89)
                                 Output:["_col0"]
-                                Filter Operator [FIL_202] (rows=25/25 width=89)
+                                Filter Operator [FIL_268] (rows=25/25 width=89)
                                   predicate:value is not null
-                                  TableScan [TS_201] (rows=25/25 width=89)
+                                  TableScan [TS_267] (rows=25/25 width=89)
                                     Output:["value"]
                           <-Map 24 [CONTAINS] llap
-                            Reduce Output Operator [RS_210]
+                            Reduce Output Operator [RS_276]
                               PartitionCols:_col0
-                              Select Operator [SEL_208] (rows=500/500 width=91)
+                              Select Operator [SEL_274] (rows=500/500 width=91)
                                 Output:["_col0"]
-                                Filter Operator [FIL_207] (rows=500/500 width=91)
+                                Filter Operator [FIL_273] (rows=500/500 width=91)
                                   predicate:value is not null
-                                  TableScan [TS_206] (rows=500/500 width=91)
+                                  TableScan [TS_272] (rows=500/500 width=91)
                                     Output:["value"]
                           <-Map 25 [CONTAINS] llap
-                            Reduce Output Operator [RS_215]
+                            Reduce Output Operator [RS_281]
                               PartitionCols:_col0
-                              Select Operator [SEL_213] (rows=500/500 width=91)
+                              Select Operator [SEL_279] (rows=500/500 width=91)
                                 Output:["_col0"]
-                                Filter Operator [FIL_212] (rows=500/500 width=91)
+                                Filter Operator [FIL_278] (rows=500/500 width=91)
                                   predicate:value is not null
-                                  TableScan [TS_211] (rows=500/500 width=91)
+                                  TableScan [TS_277] (rows=500/500 width=91)
                                     Output:["value"]
                           <-Map 26 [CONTAINS] llap
-                            Reduce Output Operator [RS_220]
+                            Reduce Output Operator [RS_286]
                               PartitionCols:_col0
-                              Select Operator [SEL_218] (rows=500/500 width=91)
+                              Select Operator [SEL_284] (rows=500/500 width=91)
                                 Output:["_col0"]
-                                Filter Operator [FIL_217] (rows=500/500 width=91)
+                                Filter Operator [FIL_283] (rows=500/500 width=91)
                                   predicate:value is not null
-                                  TableScan [TS_216] (rows=500/500 width=91)
+                                  TableScan [TS_282] (rows=500/500 width=91)
                                     Output:["value"]
-                    Reduce Output Operator [RS_173]
-                      Select Operator [SEL_168] (rows=2899/820 width=178)
+                    Reduce Output Operator [RS_239]
+                      Select Operator [SEL_234] (rows=2899/820 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_165]
-                    File Output Operator [FS_169]
+                         Please refer to the previous Select Operator [SEL_231]
+                    File Output Operator [FS_235]
                       table:{"name:":"default.b_n10"}
-                       Please refer to the previous Select Operator [SEL_165]
-                    Reduce Output Operator [RS_174]
-                      Select Operator [SEL_170] (rows=2899/820 width=178)
+                       Please refer to the previous Select Operator [SEL_231]
+                    Reduce Output Operator [RS_240]
+                      Select Operator [SEL_236] (rows=2899/820 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_165]
-                    File Output Operator [FS_171]
+                         Please refer to the previous Select Operator [SEL_231]
+                    File Output Operator [FS_237]
                       table:{"name:":"default.c_n3"}
-                       Please refer to the previous Select Operator [SEL_165]
-                    Reduce Output Operator [RS_175]
-                      Select Operator [SEL_172] (rows=2899/820 width=178)
+                       Please refer to the previous Select Operator [SEL_231]
+                    Reduce Output Operator [RS_241]
+                      Select Operator [SEL_238] (rows=2899/820 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_165]
+                         Please refer to the previous Select Operator [SEL_231]
                   <-Reducer 3 [CONTAINS] llap
-                    File Output Operator [FS_143]
+                    File Output Operator [FS_209]
                       table:{"name:":"default.a_n14"}
-                      Select Operator [SEL_141] (rows=66/170 width=177)
+                      Select Operator [SEL_207] (rows=66/170 width=177)
                         Output:["_col0","_col1"]
-                        Merge Join Operator [MERGEJOIN_140] (rows=66/170 width=177)
+                        Merge Join Operator [MERGEJOIN_206] (rows=66/170 width=177)
                           Conds:RS_17._col3=Union 14._col0(Inner),Output:["_col1","_col2"]
                         <-Reducer 2 [SIMPLE_EDGE] llap
                           SHUFFLE [RS_17]
                             PartitionCols:_col3
-                            Merge Join Operator [MERGEJOIN_134] (rows=39/37 width=266)
+                            Merge Join Operator [MERGEJOIN_200] (rows=39/37 width=266)
                               Conds:RS_14._col0=RS_15._col0(Inner),Output:["_col1","_col2","_col3"]
                             <-Map 1 [SIMPLE_EDGE] llap
                               SHUFFLE [RS_14]
@@ -1251,52 +1251,52 @@ Stage-5
                                  Please refer to the previous Select Operator [SEL_5]
                         <-Union 14 [SIMPLE_EDGE]
                           <-Map 13 [CONTAINS] llap
-                            Reduce Output Operator [RS_180]
+                            Reduce Output Operator [RS_246]
                               PartitionCols:_col0
-                              Select Operator [SEL_178] (rows=25/25 width=89)
+                              Select Operator [SEL_244] (rows=25/25 width=89)
                                 Output:["_col0"]
-                                Filter Operator [FIL_177] (rows=25/25 width=89)
+                                Filter Operator [FIL_243] (rows=25/25 width=89)
                                   predicate:value is not null
-                                  TableScan [TS_176] (rows=25/25 width=89)
+                                  TableScan [TS_242] (rows=25/25 width=89)
                                     Output:["value"]
                           <-Map 15 [CONTAINS] llap
-                            Reduce Output Operator [RS_185]
+                            Reduce Output Operator [RS_251]
                               PartitionCols:_col0
-                              Select Operator [SEL_183] (rows=500/500 width=91)
+                              Select Operator [SEL_249] (rows=500/500 width=91)
                                 Output:["_col0"]
-                                Filter Operator [FIL_182] (rows=500/500 width=91)
+                                Filter Operator [FIL_248] (rows=500/500 width=91)
                                   predicate:value is not null
-                                  TableScan [TS_181] (rows=500/500 width=91)
+                                  TableScan [TS_247] (rows=500/500 width=91)
                                     Output:["value"]
-                    Reduce Output Operator [RS_149]
-                      Select Operator [SEL_144] (rows=2899/170 width=178)
+                    Reduce Output Operator [RS_215]
+                      Select Operator [SEL_210] (rows=2899/170 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_141]
-                    File Output Operator [FS_145]
+                         Please refer to the previous Select Operator [SEL_207]
+                    File Output Operator [FS_211]
                       table:{"name:":"default.b_n10"}
-                       Please refer to the previous Select Operator [SEL_141]
-                    Reduce Output Operator [RS_150]
-                      Select Operator [SEL_146] (rows=2899/170 width=178)
+                       Please refer to the previous Select Operator [SEL_207]
+                    Reduce Output Operator [RS_216]
+                      Select Operator [SEL_212] (rows=2899/170 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_141]
-                    File Output Operator [FS_147]
+                         Please refer to the previous Select Operator [SEL_207]
+                    File Output Operator [FS_213]
                       table:{"name:":"default.c_n3"}
-                       Please refer to the previous Select Operator [SEL_141]
-                    Reduce Output Operator [RS_151]
-                      Select Operator [SEL_148] (rows=2899/170 width=178)
+                       Please refer to the previous Select Operator [SEL_207]
+                    Reduce Output Operator [RS_217]
+                      Select Operator [SEL_214] (rows=2899/170 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_141]
+                         Please refer to the previous Select Operator [SEL_207]
                   <-Reducer 9 [CONTAINS] llap
-                    File Output Operator [FS_155]
+                    File Output Operator [FS_221]
                       table:{"name:":"default.a_n14"}
-                      Select Operator [SEL_153] (rows=2640/5421 width=178)
+                      Select Operator [SEL_219] (rows=2640/5421 width=178)
                         Output:["_col0","_col1"]
-                        Merge Join Operator [MERGEJOIN_152] (rows=2640/5421 width=178)
+                        Merge Join Operator [MERGEJOIN_218] (rows=2640/5421 width=178)
                           Conds:RS_41._col1=Union 18._col0(Inner),Output:["_col0","_col3"]
                         <-Reducer 8 [SIMPLE_EDGE] llap
                           SHUFFLE [RS_41]
                             PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_135] (rows=791/1028 width=269)
+                            Merge Join Operator [MERGEJOIN_201] (rows=791/1028 width=269)
                               Conds:RS_38._col0=RS_39._col0(Inner),Output:["_col0","_col1","_col3"]
                             <-Map 1 [SIMPLE_EDGE] llap
                               SHUFFLE [RS_38]
@@ -1317,50 +1317,50 @@ Stage-5
                                       default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                         <-Union 18 [SIMPLE_EDGE]
                           <-Map 17 [CONTAINS] llap
-                            Reduce Output Operator [RS_190]
+                            Reduce Output Operator [RS_256]
                               PartitionCols:_col0
-                              Select Operator [SEL_188] (rows=25/25 width=89)
+                              Select Operator [SEL_254] (rows=25/25 width=89)
                                 Output:["_col0"]
-                                Filter Operator [FIL_187] (rows=25/25 width=89)
+                                Filter Operator [FIL_253] (rows=25/25 width=89)
                                   predicate:value is not null
-                                  TableScan [TS_186] (rows=25/25 width=89)
+                                  TableScan [TS_252] (rows=25/25 width=89)
                                     Output:["value"]
                           <-Map 19 [CONTAINS] llap
-                            Reduce Output Operator [RS_195]
+                            Reduce Output Operator [RS_261]
                               PartitionCols:_col0
-                              Select Operator [SEL_193] (rows=500/500 width=91)
+                              Select Operator [SEL_259] (rows=500/500 width=91)
                                 Output:["_col0"]
-                                Filter Operator [FIL_192] (rows=500/500 width=91)
+                                Filter Operator [FIL_258] (rows=500/500 width=91)
                                   predicate:value is not null
-                                  TableScan [TS_191] (rows=500/500 width=91)
+                                  TableScan [TS_257] (rows=500/500 width=91)
                                     Output:["value"]
                           <-Map 20 [CONTAINS] llap
-                            Reduce Output Operator [RS_200]
+                            Reduce Output Operator [RS_266]
                               PartitionCols:_col0
-                              Select Operator [SEL_198] (rows=500/500 width=91)
+                              Select Operator [SEL_264] (rows=500/500 width=91)
                                 Output:["_col0"]
-                                Filter Operator [FIL_197] (rows=500/500 width=91)
+                                Filter Operator [FIL_263] (rows=500/500 width=91)
                                   predicate:value is not null
-                                  TableScan [TS_196] (rows=500/500 width=91)
+                                  TableScan [TS_262] (rows=500/500 width=91)
                                     Output:["value"]
-                    Reduce Output Operator [RS_161]
-                      Select Operator [SEL_156] (rows=2899/5421 width=178)
+                    Reduce Output Operator [RS_227]
+                      Select Operator [SEL_222] (rows=2899/5421 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_153]
-                    File Output Operator [FS_157]
+                         Please refer to the previous Select Operator [SEL_219]
+                    File Output Operator [FS_223]
                       table:{"name:":"default.b_n10"}
-                       Please refer to the previous Select Operator [SEL_153]
-                    Reduce Output Operator [RS_162]
-                      Select Operator [SEL_158] (rows=2899/5421 width=178)
+                       Please refer to the previous Select Operator [SEL_219]
+                    Reduce Output Operator [RS_228]
+                      Select Operator [SEL_224] (rows=2899/5421 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_153]
-                    File Output Operator [FS_159]
+                         Please refer to the previous Select Operator [SEL_219]
+                    File Output Operator [FS_225]
                       table:{"name:":"default.c_n3"}
-                       Please refer to the previous Select Operator [SEL_153]
-                    Reduce Output Operator [RS_163]
-                      Select Operator [SEL_160] (rows=2899/5421 width=178)
+                       Please refer to the previous Select Operator [SEL_219]
+                    Reduce Output Operator [RS_229]
+                      Select Operator [SEL_226] (rows=2899/5421 width=178)
                         Output:["key","value"]
-                         Please refer to the previous Select Operator [SEL_153]
+                         Please refer to the previous Select Operator [SEL_219]
               Reducer 6 llap
               File Output Operator [FS_89]
                 Group By Operator [GBY_87] (rows=1/1 width=880)
@@ -1506,16 +1506,16 @@ Stage-5
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                       <-Union 6 [SIMPLE_EDGE]
                         <-Reducer 15 [CONTAINS] llap
-                          Reduce Output Operator [RS_194]
+                          Reduce Output Operator [RS_260]
                             PartitionCols:_col0, _col1
-                            Select Operator [SEL_192] (rows=193/304 width=175)
+                            Select Operator [SEL_258] (rows=193/304 width=175)
                               Output:["_col0","_col1"]
-                              Merge Join Operator [MERGEJOIN_191] (rows=193/304 width=175)
+                              Merge Join Operator [MERGEJOIN_257] (rows=193/304 width=175)
                                 Conds:RS_104._col1=RS_105._col1(Inner),Output:["_col0","_col3"]
                               <-Reducer 14 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_104]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_176] (rows=39/115 width=264)
+                                  Merge Join Operator [MERGEJOIN_242] (rows=39/115 width=264)
                                     Conds:RS_101._col0=RS_102._col0(Inner),Output:["_col0","_col1","_col3"]
                                   <-Map 13 [SIMPLE_EDGE] llap
                                     SHUFFLE [RS_101]
@@ -1544,74 +1544,74 @@ Stage-5
                                       Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                     <-Union 34 [SIMPLE_EDGE]
                                       <-Map 38 [CONTAINS] llap
-                                        Reduce Output Operator [RS_251]
+                                        Reduce Output Operator [RS_317]
                                           PartitionCols:_col1, _col0
-                                          Select Operator [SEL_249] (rows=500/500 width=178)
+                                          Select Operator [SEL_315] (rows=500/500 width=178)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_248] (rows=500/500 width=178)
+                                            Filter Operator [FIL_314] (rows=500/500 width=178)
                                               predicate:value is not null
-                                              TableScan [TS_247] (rows=500/500 width=178)
+                                              TableScan [TS_313] (rows=500/500 width=178)
                                                 Output:["key","value"]
                                       <-Reducer 33 [CONTAINS] llap
-                                        Reduce Output Operator [RS_236]
+                                        Reduce Output Operator [RS_302]
                                           PartitionCols:_col1, _col0
-                                          Select Operator [SEL_234] (rows=1025/319 width=178)
+                                          Select Operator [SEL_300] (rows=1025/319 width=178)
                                             Output:["_col0","_col1"]
-                                            Group By Operator [GBY_233] (rows=1025/319 width=178)
+                                            Group By Operator [GBY_299] (rows=1025/319 width=178)
                                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                             <-Union 32 [SIMPLE_EDGE]
                                               <-Map 37 [CONTAINS] llap
-                                                Reduce Output Operator [RS_246]
+                                                Reduce Output Operator [RS_312]
                                                   PartitionCols:_col1, _col0
-                                                  Select Operator [SEL_244] (rows=500/500 width=178)
+                                                  Select Operator [SEL_310] (rows=500/500 width=178)
                                                     Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_243] (rows=500/500 width=178)
+                                                    Filter Operator [FIL_309] (rows=500/500 width=178)
                                                       predicate:value is not null
-                                                      TableScan [TS_242] (rows=500/500 width=178)
+                                                      TableScan [TS_308] (rows=500/500 width=178)
                                                         Output:["key","value"]
                                               <-Reducer 31 [CONTAINS] llap
-                                                Reduce Output Operator [RS_232]
+                                                Reduce Output Operator [RS_298]
                                                   PartitionCols:_col1, _col0
-                                                  Select Operator [SEL_230] (rows=525/319 width=178)
+                                                  Select Operator [SEL_296] (rows=525/319 width=178)
                                                     Output:["_col0","_col1"]
-                                                    Group By Operator [GBY_229] (rows=525/319 width=178)
+                                                    Group By Operator [GBY_295] (rows=525/319 width=178)
                                                       Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                                     <-Union 30 [SIMPLE_EDGE]
                                                       <-Map 29 [CONTAINS] llap
-                                                        Reduce Output Operator [RS_228]
+                                                        Reduce Output Operator [RS_294]
                                                           PartitionCols:_col1, _col0
-                                                          Select Operator [SEL_226] (rows=25/25 width=175)
+                                                          Select Operator [SEL_292] (rows=25/25 width=175)
                                                             Output:["_col0","_col1"]
-                                                            Filter Operator [FIL_225] (rows=25/25 width=175)
+                                                            Filter Operator [FIL_291] (rows=25/25 width=175)
                                                               predicate:value is not null
-                                                              TableScan [TS_224] (rows=25/25 width=175)
+                                                              TableScan [TS_290] (rows=25/25 width=175)
                                                                 Output:["key","value"]
                                                       <-Map 36 [CONTAINS] llap
-                                                        Reduce Output Operator [RS_241]
+                                                        Reduce Output Operator [RS_307]
                                                           PartitionCols:_col1, _col0
-                                                          Select Operator [SEL_239] (rows=500/500 width=178)
+                                                          Select Operator [SEL_305] (rows=500/500 width=178)
                                                             Output:["_col0","_col1"]
-                                                            Filter Operator [FIL_238] (rows=500/500 width=178)
+                                                            Filter Operator [FIL_304] (rows=500/500 width=178)
                                                               predicate:value is not null
-                                                              TableScan [TS_237] (rows=500/500 width=178)
+                                                              TableScan [TS_303] (rows=500/500 width=178)
                                                                 Output:["key","value"]
                         <-Reducer 5 [CONTAINS] llap
-                          Reduce Output Operator [RS_186]
+                          Reduce Output Operator [RS_252]
                             PartitionCols:_col0, _col1
-                            Group By Operator [GBY_184] (rows=2706/309 width=178)
+                            Group By Operator [GBY_250] (rows=2706/309 width=178)
                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                             <-Union 4 [SIMPLE_EDGE]
                               <-Reducer 12 [CONTAINS] llap
-                                Reduce Output Operator [RS_190]
+                                Reduce Output Operator [RS_256]
                                   PartitionCols:_col0, _col1
-                                  Select Operator [SEL_188] (rows=2640/1056 width=178)
+                                  Select Operator [SEL_254] (rows=2640/1056 width=178)
                                     Output:["_col0","_col1"]
-                                    Merge Join Operator [MERGEJOIN_187] (rows=2640/1056 width=178)
+                                    Merge Join Operator [MERGEJOIN_253] (rows=2640/1056 width=178)
                                       Conds:RS_55._col1=RS_56._col1(Inner),Output:["_col0","_col3"]
                                     <-Reducer 11 [SIMPLE_EDGE] llap
                                       SHUFFLE [RS_55]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_175] (rows=791/1028 width=269)
+                                        Merge Join Operator [MERGEJOIN_241] (rows=791/1028 width=269)
                                           Conds:RS_52._col0=RS_53._col0(Inner),Output:["_col0","_col1","_col3"]
                                         <-Map 1 [SIMPLE_EDGE] llap
                                           SHUFFLE [RS_52]
@@ -1640,46 +1640,46 @@ Stage-5
                                             Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                           <-Union 24 [SIMPLE_EDGE]
                                             <-Map 27 [CONTAINS] llap
-                                              Reduce Output Operator [RS_223]
+                                              Reduce Output Operator [RS_289]
                                                 PartitionCols:_col1, _col0
-                                                Select Operator [SEL_221] (rows=500/500 width=178)
+                                                Select Operator [SEL_287] (rows=500/500 width=178)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_220] (rows=500/500 width=178)
+                                                  Filter Operator [FIL_286] (rows=500/500 width=178)
                                                     predicate:value is not null
-                                                    TableScan [TS_219] (rows=500/500 width=178)
+                                                    TableScan [TS_285] (rows=500/500 width=178)
                                                       Output:["key","value"]
                                             <-Reducer 23 [CONTAINS] llap
-                                              Reduce Output Operator [RS_213]
+                                              Reduce Output Operator [RS_279]
                                                 PartitionCols:_col1, _col0
-                                                Select Operator [SEL_211] (rows=525/319 width=178)
+                                                Select Operator [SEL_277] (rows=525/319 width=178)
                                                   Output:["_col0","_col1"]
-                                                  Group By Operator [GBY_210] (rows=525/319 width=178)
+                                                  Group By Operator [GBY_276] (rows=525/319 width=178)
                                                     Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                                   <-Union 22 [SIMPLE_EDGE]
                                                     <-Map 21 [CONTAINS] llap
-                                                      Reduce Output Operator [RS_209]
+                                                      Reduce Output Operator [RS_275]
                                                         PartitionCols:_col1, _col0
-                                                        Select Operator [SEL_207] (rows=25/25 width=175)
+                                                        Select Operator [SEL_273] (rows=25/25 width=175)
                                                           Output:["_col0","_col1"]
-                                                          Filter Operator [FIL_206] (rows=25/25 width=175)
+                                                          Filter Operator [FIL_272] (rows=25/25 width=175)
                                                             predicate:value is not null
-                                                            TableScan [TS_205] (rows=25/25 width=175)
+                                                            TableScan [TS_271] (rows=25/25 width=175)
                                                               Output:["key","value"]
                                                     <-Map 26 [CONTAINS] llap
-                                                      Reduce Output Operator [RS_218]
+                                                      Reduce Output Operator [RS_284]
                                                         PartitionCols:_col1, _col0
-                                                        Select Operator [SEL_216] (rows=500/500 width=178)
+                                                        Select Operator [SEL_282] (rows=500/500 width=178)
                                                           Output:["_col0","_col1"]
-                                                          Filter Operator [FIL_215] (rows=500/500 width=178)
+                                                          Filter Operator [FIL_281] (rows=500/500 width=178)
                                                             predicate:value is not null
-                                                            TableScan [TS_214] (rows=500/500 width=178)
+                                                            TableScan [TS_280] (rows=500/500 width=178)
                                                               Output:["key","value"]
                               <-Reducer 3 [CONTAINS] llap
-                                Reduce Output Operator [RS_183]
+                                Reduce Output Operator [RS_249]
                                   PartitionCols:_col0, _col1
-                                  Select Operator [SEL_181] (rows=66/61 width=177)
+                                  Select Operator [SEL_247] (rows=66/61 width=177)
                                     Output:["_col0","_col1"]
-                                    Merge Join Operator [MERGEJOIN_180] (rows=66/61 width=177)
+                                    Merge Join Operator [MERGEJOIN_246] (rows=66/61 width=177)
                                       Conds:RS_21._col3=RS_22._col1(Inner),Output:["_col1","_col2"]
                                     <-Reducer 18 [SIMPLE_EDGE] llap
                                       SHUFFLE [RS_22]
@@ -1690,27 +1690,27 @@ Stage-5
                                             Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                                           <-Union 17 [SIMPLE_EDGE]
                                             <-Map 16 [CONTAINS] llap
-                                              Reduce Output Operator [RS_199]
+                                              Reduce Output Operator [RS_265]
                                                 PartitionCols:_col1, _col0
-                                                Select Operator [SEL_197] (rows=25/25 width=175)
+                                                Select Operator [SEL_263] (rows=25/25 width=175)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_196] (rows=25/25 width=175)
+                                                  Filter Operator [FIL_262] (rows=25/25 width=175)
                                                     predicate:value is not null
-                                                    TableScan [TS_195] (rows=25/25 width=175)
+                                                    TableScan [TS_261] (rows=25/25 width=175)
                                                       Output:["key","value"]
                                             <-Map 19 [CONTAINS] llap
-                                              Reduce Output Operator [RS_204]
+                                              Reduce Output Operator [RS_270]
                                                 PartitionCols:_col1, _col0
-                                                Select Operator [SEL_202] (rows=500/500 width=178)
+                                                Select Operator [SEL_268] (rows=500/500 width=178)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_201] (rows=500/500 width=178)
+                                                  Filter Operator [FIL_267] (rows=500/500 width=178)
                                                     predicate:value is not null
-                                                    TableScan [TS_200] (rows=500/500 width=178)
+                                                    TableScan [TS_266] (rows=500/500 width=178)
                                                       Output:["key","value"]
                                     <-Reducer 2 [SIMPLE_EDGE] llap
                                       SHUFFLE [RS_21]
                                         PartitionCols:_col3
-                                        Merge Join Operator [MERGEJOIN_174] (rows=39/37 width=266)
+                                        Merge Join Operator [MERGEJOIN_240] (rows=39/37 width=266)
                                           Conds:RS_18._col0=RS_19._col0(Inner),Output:["_col1","_col2","_col3"]
                                         <-Map 1 [SIMPLE_EDGE] llap
                                           SHUFFLE [RS_18]


[11/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query31.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query31.q.out b/ql/src/test/results/clientpositive/perf/tez/query31.q.out
index 789c68a..c4d717d 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query31.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query31.q.out
@@ -103,26 +103,44 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 23 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
-Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 14 <- Map 23 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
-Reducer 15 <- Reducer 14 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (ONE_TO_ONE_EDGE), Reducer 19 (ONE_TO_ONE_EDGE), Reducer 22 (ONE_TO_ONE_EDGE)
-Reducer 17 <- Map 12 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 18 <- Map 23 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE)
-Reducer 19 <- Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 20 <- Map 12 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 21 <- Map 23 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
-Reducer 22 <- Reducer 21 (SIMPLE_EDGE)
-Reducer 3 <- Map 23 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 30 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Map 36 <- Reducer 11 (BROADCAST_EDGE), Reducer 31 (BROADCAST_EDGE)
+Map 37 <- Reducer 15 (BROADCAST_EDGE), Reducer 32 (BROADCAST_EDGE)
+Map 38 <- Reducer 20 (BROADCAST_EDGE), Reducer 33 (BROADCAST_EDGE)
+Map 39 <- Reducer 24 (BROADCAST_EDGE), Reducer 34 (BROADCAST_EDGE)
+Map 40 <- Reducer 28 (BROADCAST_EDGE), Reducer 35 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 37 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 13 <- Map 29 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
+Reducer 15 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 38 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 17 <- Map 29 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
+Reducer 19 <- Reducer 18 (ONE_TO_ONE_EDGE), Reducer 23 (ONE_TO_ONE_EDGE), Reducer 27 (ONE_TO_ONE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 20 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Map 39 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 22 <- Map 29 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
+Reducer 23 <- Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 40 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 26 <- Map 29 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Reducer 26 (SIMPLE_EDGE)
+Reducer 28 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 29 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 32 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 33 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 35 <- Map 29 (CUSTOM_SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 11 (ONE_TO_ONE_EDGE), Reducer 16 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE)
-Reducer 6 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 7 <- Map 23 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 10 (ONE_TO_ONE_EDGE), Reducer 14 (ONE_TO_ONE_EDGE), Reducer 19 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 8 <- Map 36 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 29 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -134,225 +152,377 @@ Stage-0
           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           Filter Operator [FIL_130] (rows=287493839 width=88)
             predicate:(CASE WHEN ((_col1 > 0)) THEN (CASE WHEN ((_col9 > 0)) THEN (((_col11 / _col9) > (_col5 / _col1))) ELSE ((null > (_col5 / _col1))) END) ELSE (CASE WHEN ((_col9 > 0)) THEN (((_col11 / _col9) > null)) ELSE (null) END) END and CASE WHEN ((_col3 > 0)) THEN (CASE WHEN ((_col7 > 0)) THEN (((_col9 / _col7) > (_col1 / _col3))) ELSE ((null > (_col1 / _col3))) END) ELSE (CASE WHEN ((_col7 > 0)) THEN (((_col9 / _col7) > null)) ELSE (null) END) END)
-            Merge Join Operator [MERGEJOIN_267] (rows=1149975359 width=88)
-              Conds:RS_300._col0=RS_302._col0(Inner),RS_300._col0=RS_304._col0(Inner),RS_300._col0=RS_128._col0(Inner),Output:["_col0","_col1","_col3","_col5","_col7","_col9","_col11"]
-            <-Reducer 11 [ONE_TO_ONE_EDGE] vectorized
-              FORWARD [RS_304]
+            Merge Join Operator [MERGEJOIN_439] (rows=1149975359 width=88)
+              Conds:RS_510._col0=RS_519._col0(Inner),RS_510._col0=RS_528._col0(Inner),RS_510._col0=RS_128._col0(Inner),Output:["_col0","_col1","_col3","_col5","_col7","_col9","_col11"]
+            <-Reducer 10 [ONE_TO_ONE_EDGE] vectorized
+              FORWARD [RS_519]
                 PartitionCols:_col0
-                Group By Operator [GBY_303] (rows=348477374 width=88)
+                Group By Operator [GBY_518] (rows=348477374 width=88)
                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                <-Reducer 10 [SIMPLE_EDGE]
-                  SHUFFLE [RS_57]
+                <-Reducer 9 [SIMPLE_EDGE]
+                  SHUFFLE [RS_37]
                     PartitionCols:_col0
-                    Group By Operator [GBY_56] (rows=696954748 width=88)
+                    Group By Operator [GBY_36] (rows=696954748 width=88)
                       Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
-                      Merge Join Operator [MERGEJOIN_259] (rows=696954748 width=88)
-                        Conds:RS_52._col1=RS_295._col0(Inner),Output:["_col2","_col7"]
-                      <-Map 23 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_295]
+                      Merge Join Operator [MERGEJOIN_429] (rows=696954748 width=88)
+                        Conds:RS_32._col1=RS_482._col0(Inner),Output:["_col2","_col7"]
+                      <-Map 29 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_482]
                           PartitionCols:_col0
-                          Select Operator [SEL_292] (rows=40000000 width=1014)
+                          Select Operator [SEL_479] (rows=40000000 width=1014)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_291] (rows=40000000 width=1014)
+                            Filter Operator [FIL_478] (rows=40000000 width=1014)
                               predicate:(ca_address_sk is not null and ca_county is not null)
                               TableScan [TS_6] (rows=40000000 width=1014)
                                 default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"]
-                      <-Reducer 9 [SIMPLE_EDGE]
-                        SHUFFLE [RS_52]
+                      <-Reducer 8 [SIMPLE_EDGE]
+                        SHUFFLE [RS_32]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_258] (rows=633595212 width=88)
-                            Conds:RS_272._col0=RS_287._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 12 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_287]
+                          Merge Join Operator [MERGEJOIN_428] (rows=633595212 width=88)
+                            Conds:RS_517._col0=RS_454._col0(Inner),Output:["_col1","_col2"]
+                          <-Map 6 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_454]
                               PartitionCols:_col0
-                              Select Operator [SEL_281] (rows=18262 width=1119)
+                              Select Operator [SEL_447] (rows=18262 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_275] (rows=18262 width=1119)
-                                  predicate:((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null)
+                                Filter Operator [FIL_441] (rows=18262 width=1119)
+                                  predicate:((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_272]
+                          <-Map 36 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_517]
                               PartitionCols:_col0
-                              Select Operator [SEL_269] (rows=575995635 width=88)
+                              Select Operator [SEL_516] (rows=575995635 width=88)
                                 Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_268] (rows=575995635 width=88)
-                                  predicate:(ss_addr_sk is not null and ss_sold_date_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
+                                Filter Operator [FIL_515] (rows=575995635 width=88)
+                                  predicate:((ss_addr_sk BETWEEN DynamicValue(RS_33_customer_address_ca_address_sk_min) AND DynamicValue(RS_33_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_33_customer_address_ca_address_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_addr_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_addr_sk","ss_ext_sales_price"]
+                                  <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_512]
+                                      Group By Operator [GBY_511] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_471]
+                                          Group By Operator [GBY_465] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_455] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_447]
+                                  <-Reducer 31 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_514]
+                                      Group By Operator [GBY_513] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                      <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_499]
+                                          Group By Operator [GBY_493] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                            Select Operator [SEL_483] (rows=40000000 width=1014)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_479]
+            <-Reducer 14 [ONE_TO_ONE_EDGE] vectorized
+              FORWARD [RS_528]
+                PartitionCols:_col0
+                Group By Operator [GBY_527] (rows=348477374 width=88)
+                  Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                <-Reducer 13 [SIMPLE_EDGE]
+                  SHUFFLE [RS_57]
+                    PartitionCols:_col0
+                    Group By Operator [GBY_56] (rows=696954748 width=88)
+                      Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
+                      Merge Join Operator [MERGEJOIN_431] (rows=696954748 width=88)
+                        Conds:RS_52._col1=RS_484._col0(Inner),Output:["_col2","_col7"]
+                      <-Map 29 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_484]
+                          PartitionCols:_col0
+                           Please refer to the previous Select Operator [SEL_479]
+                      <-Reducer 12 [SIMPLE_EDGE]
+                        SHUFFLE [RS_52]
+                          PartitionCols:_col1
+                          Merge Join Operator [MERGEJOIN_430] (rows=633595212 width=88)
+                            Conds:RS_526._col0=RS_456._col0(Inner),Output:["_col1","_col2"]
+                          <-Map 6 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_456]
+                              PartitionCols:_col0
+                              Select Operator [SEL_448] (rows=18262 width=1119)
+                                Output:["_col0"]
+                                Filter Operator [FIL_442] (rows=18262 width=1119)
+                                  predicate:((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null)
+                                   Please refer to the previous TableScan [TS_3]
+                          <-Map 37 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_526]
+                              PartitionCols:_col0
+                              Select Operator [SEL_525] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_524] (rows=575995635 width=88)
+                                  predicate:((ss_addr_sk BETWEEN DynamicValue(RS_53_customer_address_ca_address_sk_min) AND DynamicValue(RS_53_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_53_customer_address_ca_address_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_50_date_dim_d_date_sk_min) AND DynamicValue(RS_50_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_50_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
+                                  TableScan [TS_40] (rows=575995635 width=88)
                                     default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
-            <-Reducer 16 [ONE_TO_ONE_EDGE]
+                                  <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_521]
+                                      Group By Operator [GBY_520] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_472]
+                                          Group By Operator [GBY_466] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_457] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_448]
+                                  <-Reducer 32 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_523]
+                                      Group By Operator [GBY_522] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                      <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_500]
+                                          Group By Operator [GBY_494] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                            Select Operator [SEL_485] (rows=40000000 width=1014)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_479]
+            <-Reducer 19 [ONE_TO_ONE_EDGE]
               FORWARD [RS_128]
                 PartitionCols:_col0
-                Merge Join Operator [MERGEJOIN_266] (rows=191667561 width=135)
-                  Conds:RS_311._col0=RS_313._col0(Inner),RS_311._col0=RS_315._col0(Inner),Output:["_col0","_col1","_col3","_col5"]
-                <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
-                  FORWARD [RS_311]
+                Merge Join Operator [MERGEJOIN_438] (rows=191667561 width=135)
+                  Conds:RS_537._col0=RS_546._col0(Inner),RS_537._col0=RS_555._col0(Inner),Output:["_col0","_col1","_col3","_col5"]
+                <-Reducer 18 [ONE_TO_ONE_EDGE] vectorized
+                  FORWARD [RS_537]
                     PartitionCols:_col0
-                    Group By Operator [GBY_310] (rows=87121617 width=135)
+                    Group By Operator [GBY_536] (rows=87121617 width=135)
                       Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                    <-Reducer 14 [SIMPLE_EDGE]
+                    <-Reducer 17 [SIMPLE_EDGE]
                       SHUFFLE [RS_77]
                         PartitionCols:_col0
                         Group By Operator [GBY_76] (rows=174243235 width=135)
                           Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
-                          Merge Join Operator [MERGEJOIN_261] (rows=174243235 width=135)
-                            Conds:RS_72._col1=RS_296._col0(Inner),Output:["_col2","_col7"]
-                          <-Map 23 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_296]
+                          Merge Join Operator [MERGEJOIN_433] (rows=174243235 width=135)
+                            Conds:RS_72._col1=RS_486._col0(Inner),Output:["_col2","_col7"]
+                          <-Map 29 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_486]
                               PartitionCols:_col0
-                               Please refer to the previous Select Operator [SEL_292]
-                          <-Reducer 13 [SIMPLE_EDGE]
+                               Please refer to the previous Select Operator [SEL_479]
+                          <-Reducer 16 [SIMPLE_EDGE]
                             SHUFFLE [RS_72]
                               PartitionCols:_col1
-                              Merge Join Operator [MERGEJOIN_260] (rows=158402938 width=135)
-                                Conds:RS_307._col0=RS_288._col0(Inner),Output:["_col1","_col2"]
-                              <-Map 12 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_288]
+                              Merge Join Operator [MERGEJOIN_432] (rows=158402938 width=135)
+                                Conds:RS_535._col0=RS_458._col0(Inner),Output:["_col1","_col2"]
+                              <-Map 6 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_458]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_282] (rows=18262 width=1119)
+                                  Select Operator [SEL_449] (rows=18262 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_276] (rows=18262 width=1119)
+                                    Filter Operator [FIL_443] (rows=18262 width=1119)
                                       predicate:((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null)
                                        Please refer to the previous TableScan [TS_3]
-                              <-Map 24 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_307]
+                              <-Map 38 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_535]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_306] (rows=144002668 width=135)
+                                  Select Operator [SEL_534] (rows=144002668 width=135)
                                     Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_305] (rows=144002668 width=135)
-                                      predicate:(ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
+                                    Filter Operator [FIL_533] (rows=144002668 width=135)
+                                      predicate:((ws_bill_addr_sk BETWEEN DynamicValue(RS_73_customer_address_ca_address_sk_min) AND DynamicValue(RS_73_customer_address_ca_address_sk_max) and in_bloom_filter(ws_bill_addr_sk, DynamicValue(RS_73_customer_address_ca_address_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_70_date_dim_d_date_sk_min) AND DynamicValue(RS_70_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_70_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
                                       TableScan [TS_60] (rows=144002668 width=135)
                                         default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
-                <-Reducer 19 [ONE_TO_ONE_EDGE] vectorized
-                  FORWARD [RS_313]
+                                      <-Reducer 20 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_530]
+                                          Group By Operator [GBY_529] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_473]
+                                              Group By Operator [GBY_467] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_459] (rows=18262 width=1119)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_449]
+                                      <-Reducer 33 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_532]
+                                          Group By Operator [GBY_531] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                          <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_501]
+                                              Group By Operator [GBY_495] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                                Select Operator [SEL_487] (rows=40000000 width=1014)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_479]
+                <-Reducer 23 [ONE_TO_ONE_EDGE] vectorized
+                  FORWARD [RS_546]
                     PartitionCols:_col0
-                    Group By Operator [GBY_312] (rows=87121617 width=135)
+                    Group By Operator [GBY_545] (rows=87121617 width=135)
                       Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                    <-Reducer 18 [SIMPLE_EDGE]
+                    <-Reducer 22 [SIMPLE_EDGE]
                       SHUFFLE [RS_97]
                         PartitionCols:_col0
                         Group By Operator [GBY_96] (rows=174243235 width=135)
                           Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
-                          Merge Join Operator [MERGEJOIN_263] (rows=174243235 width=135)
-                            Conds:RS_92._col1=RS_297._col0(Inner),Output:["_col2","_col7"]
-                          <-Map 23 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_297]
+                          Merge Join Operator [MERGEJOIN_435] (rows=174243235 width=135)
+                            Conds:RS_92._col1=RS_488._col0(Inner),Output:["_col2","_col7"]
+                          <-Map 29 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_488]
                               PartitionCols:_col0
-                               Please refer to the previous Select Operator [SEL_292]
-                          <-Reducer 17 [SIMPLE_EDGE]
+                               Please refer to the previous Select Operator [SEL_479]
+                          <-Reducer 21 [SIMPLE_EDGE]
                             SHUFFLE [RS_92]
                               PartitionCols:_col1
-                              Merge Join Operator [MERGEJOIN_262] (rows=158402938 width=135)
-                                Conds:RS_308._col0=RS_289._col0(Inner),Output:["_col1","_col2"]
-                              <-Map 12 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_289]
+                              Merge Join Operator [MERGEJOIN_434] (rows=158402938 width=135)
+                                Conds:RS_544._col0=RS_460._col0(Inner),Output:["_col1","_col2"]
+                              <-Map 6 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_460]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_283] (rows=18262 width=1119)
+                                  Select Operator [SEL_450] (rows=18262 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_277] (rows=18262 width=1119)
+                                    Filter Operator [FIL_444] (rows=18262 width=1119)
                                       predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
                                        Please refer to the previous TableScan [TS_3]
-                              <-Map 24 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_308]
+                              <-Map 39 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_544]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_306]
-                <-Reducer 22 [ONE_TO_ONE_EDGE] vectorized
-                  FORWARD [RS_315]
+                                  Select Operator [SEL_543] (rows=144002668 width=135)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_542] (rows=144002668 width=135)
+                                      predicate:((ws_bill_addr_sk BETWEEN DynamicValue(RS_93_customer_address_ca_address_sk_min) AND DynamicValue(RS_93_customer_address_ca_address_sk_max) and in_bloom_filter(ws_bill_addr_sk, DynamicValue(RS_93_customer_address_ca_address_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_90_date_dim_d_date_sk_min) AND DynamicValue(RS_90_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_90_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
+                                      TableScan [TS_80] (rows=144002668 width=135)
+                                        default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                      <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_539]
+                                          Group By Operator [GBY_538] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_474]
+                                              Group By Operator [GBY_468] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_461] (rows=18262 width=1119)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_450]
+                                      <-Reducer 34 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_541]
+                                          Group By Operator [GBY_540] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                          <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_502]
+                                              Group By Operator [GBY_496] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                                Select Operator [SEL_489] (rows=40000000 width=1014)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_479]
+                <-Reducer 27 [ONE_TO_ONE_EDGE] vectorized
+                  FORWARD [RS_555]
                     PartitionCols:_col0
-                    Group By Operator [GBY_314] (rows=87121617 width=135)
+                    Group By Operator [GBY_554] (rows=87121617 width=135)
                       Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                    <-Reducer 21 [SIMPLE_EDGE]
+                    <-Reducer 26 [SIMPLE_EDGE]
                       SHUFFLE [RS_117]
                         PartitionCols:_col0
                         Group By Operator [GBY_116] (rows=174243235 width=135)
                           Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
-                          Merge Join Operator [MERGEJOIN_265] (rows=174243235 width=135)
-                            Conds:RS_112._col1=RS_298._col0(Inner),Output:["_col2","_col7"]
-                          <-Map 23 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_298]
+                          Merge Join Operator [MERGEJOIN_437] (rows=174243235 width=135)
+                            Conds:RS_112._col1=RS_490._col0(Inner),Output:["_col2","_col7"]
+                          <-Map 29 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_490]
                               PartitionCols:_col0
-                               Please refer to the previous Select Operator [SEL_292]
-                          <-Reducer 20 [SIMPLE_EDGE]
+                               Please refer to the previous Select Operator [SEL_479]
+                          <-Reducer 25 [SIMPLE_EDGE]
                             SHUFFLE [RS_112]
                               PartitionCols:_col1
-                              Merge Join Operator [MERGEJOIN_264] (rows=158402938 width=135)
-                                Conds:RS_309._col0=RS_290._col0(Inner),Output:["_col1","_col2"]
-                              <-Map 12 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_290]
+                              Merge Join Operator [MERGEJOIN_436] (rows=158402938 width=135)
+                                Conds:RS_553._col0=RS_462._col0(Inner),Output:["_col1","_col2"]
+                              <-Map 6 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_462]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_284] (rows=18262 width=1119)
+                                  Select Operator [SEL_451] (rows=18262 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_278] (rows=18262 width=1119)
+                                    Filter Operator [FIL_445] (rows=18262 width=1119)
                                       predicate:((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null)
                                        Please refer to the previous TableScan [TS_3]
-                              <-Map 24 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_309]
+                              <-Map 40 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_553]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_306]
+                                  Select Operator [SEL_552] (rows=144002668 width=135)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_551] (rows=144002668 width=135)
+                                      predicate:((ws_bill_addr_sk BETWEEN DynamicValue(RS_113_customer_address_ca_address_sk_min) AND DynamicValue(RS_113_customer_address_ca_address_sk_max) and in_bloom_filter(ws_bill_addr_sk, DynamicValue(RS_113_customer_address_ca_address_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_110_date_dim_d_date_sk_min) AND DynamicValue(RS_110_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_110_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
+                                      TableScan [TS_100] (rows=144002668 width=135)
+                                        default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                      <-Reducer 28 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_548]
+                                          Group By Operator [GBY_547] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_475]
+                                              Group By Operator [GBY_469] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_463] (rows=18262 width=1119)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_451]
+                                      <-Reducer 35 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_550]
+                                          Group By Operator [GBY_549] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                          <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_503]
+                                              Group By Operator [GBY_497] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                                Select Operator [SEL_491] (rows=40000000 width=1014)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_479]
             <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
-              FORWARD [RS_300]
+              FORWARD [RS_510]
                 PartitionCols:_col0
-                Group By Operator [GBY_299] (rows=348477374 width=88)
+                Group By Operator [GBY_509] (rows=348477374 width=88)
                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
                 <-Reducer 3 [SIMPLE_EDGE]
                   SHUFFLE [RS_17]
                     PartitionCols:_col0
                     Group By Operator [GBY_16] (rows=696954748 width=88)
                       Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
-                      Merge Join Operator [MERGEJOIN_255] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_293._col0(Inner),Output:["_col2","_col7"]
-                      <-Map 23 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_293]
+                      Merge Join Operator [MERGEJOIN_427] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_480._col0(Inner),Output:["_col2","_col7"]
+                      <-Map 29 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_480]
                           PartitionCols:_col0
-                           Please refer to the previous Select Operator [SEL_292]
+                           Please refer to the previous Select Operator [SEL_479]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_254] (rows=633595212 width=88)
-                            Conds:RS_270._col0=RS_285._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 12 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_285]
+                          Merge Join Operator [MERGEJOIN_426] (rows=633595212 width=88)
+                            Conds:RS_508._col0=RS_452._col0(Inner),Output:["_col1","_col2"]
+                          <-Map 6 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_452]
                               PartitionCols:_col0
-                              Select Operator [SEL_279] (rows=18262 width=1119)
+                              Select Operator [SEL_446] (rows=18262 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_273] (rows=18262 width=1119)
+                                Filter Operator [FIL_440] (rows=18262 width=1119)
                                   predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
                                    Please refer to the previous TableScan [TS_3]
                           <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_270]
-                              PartitionCols:_col0
-                               Please refer to the previous Select Operator [SEL_269]
-            <-Reducer 8 [ONE_TO_ONE_EDGE] vectorized
-              FORWARD [RS_302]
-                PartitionCols:_col0
-                Group By Operator [GBY_301] (rows=348477374 width=88)
-                  Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                <-Reducer 7 [SIMPLE_EDGE]
-                  SHUFFLE [RS_37]
-                    PartitionCols:_col0
-                    Group By Operator [GBY_36] (rows=696954748 width=88)
-                      Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col7
-                      Merge Join Operator [MERGEJOIN_257] (rows=696954748 width=88)
-                        Conds:RS_32._col1=RS_294._col0(Inner),Output:["_col2","_col7"]
-                      <-Map 23 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_294]
-                          PartitionCols:_col0
-                           Please refer to the previous Select Operator [SEL_292]
-                      <-Reducer 6 [SIMPLE_EDGE]
-                        SHUFFLE [RS_32]
-                          PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_256] (rows=633595212 width=88)
-                            Conds:RS_271._col0=RS_286._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 12 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_286]
-                              PartitionCols:_col0
-                              Select Operator [SEL_280] (rows=18262 width=1119)
-                                Output:["_col0"]
-                                Filter Operator [FIL_274] (rows=18262 width=1119)
-                                  predicate:((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null)
-                                   Please refer to the previous TableScan [TS_3]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_271]
+                            SHUFFLE [RS_508]
                               PartitionCols:_col0
-                               Please refer to the previous Select Operator [SEL_269]
+                              Select Operator [SEL_507] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_506] (rows=575995635 width=88)
+                                  predicate:((ss_addr_sk BETWEEN DynamicValue(RS_13_customer_address_ca_address_sk_min) AND DynamicValue(RS_13_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_13_customer_address_ca_address_sk_bloom_filter))) and (ss_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(ss_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                  <-Reducer 30 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_505]
+                                      Group By Operator [GBY_504] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                      <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_498]
+                                          Group By Operator [GBY_492] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                            Select Operator [SEL_481] (rows=40000000 width=1014)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_479]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_477]
+                                      Group By Operator [GBY_476] (rows=1 width=12)
+                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_470]
+                                          Group By Operator [GBY_464] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_453] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_446]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query32.q.out b/ql/src/test/results/clientpositive/perf/tez/query32.q.out
index 258175f..5eed619 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query32.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query32.q.out
@@ -55,21 +55,27 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 6 (ONE_TO_ONE_EDGE)
+Map 1 <- Reducer 6 (BROADCAST_EDGE)
+Map 11 <- Reducer 10 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE)
+Reducer 10 <- Map 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 9 (ONE_TO_ONE_EDGE)
 Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
-Reducer 5 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 6 <- Map 8 (SIMPLE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+Reducer 6 <- Map 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 11 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 12 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_76]
-        Limit [LIM_75] (rows=1 width=112)
+      File Output Operator [FS_136]
+        Limit [LIM_135] (rows=1 width=112)
           Number of rows:100
-          Group By Operator [GBY_74] (rows=1 width=112)
+          Group By Operator [GBY_134] (rows=1 width=112)
             Output:["_col0"],aggregations:["sum(VALUE._col0)"]
           <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_36]
@@ -79,56 +85,103 @@ Stage-0
                   Output:["_col2"]
                   Filter Operator [FIL_33] (rows=116155905 width=135)
                     predicate:(_col2 > CAST( (1.3 * _col6) AS decimal(14,7)))
-                    Merge Join Operator [MERGEJOIN_61] (rows=348467716 width=135)
+                    Merge Join Operator [MERGEJOIN_102] (rows=348467716 width=135)
                       Conds:RS_30._col1=RS_31._col2(Inner),Output:["_col2","_col6"]
                     <-Reducer 2 [SIMPLE_EDGE]
                       SHUFFLE [RS_30]
                         PartitionCols:_col1
-                        Merge Join Operator [MERGEJOIN_58] (rows=316788826 width=135)
-                          Conds:RS_64._col0=RS_67._col0(Inner),Output:["_col1","_col2"]
-                        <-Map 1 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_64]
-                            PartitionCols:_col0
-                            Select Operator [SEL_63] (rows=287989836 width=135)
-                              Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_62] (rows=287989836 width=135)
-                                predicate:(cs_item_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_item_sk","cs_ext_discount_amt"]
-                        <-Map 7 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_67]
+                        Merge Join Operator [MERGEJOIN_99] (rows=316788826 width=135)
+                          Conds:RS_117._col0=RS_105._col0(Inner),Output:["_col1","_col2"]
+                        <-Map 5 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_105]
                             PartitionCols:_col0
-                            Select Operator [SEL_66] (rows=8116 width=1119)
+                            Select Operator [SEL_104] (rows=8116 width=1119)
                               Output:["_col0"]
-                              Filter Operator [FIL_65] (rows=8116 width=1119)
+                              Filter Operator [FIL_103] (rows=8116 width=1119)
                                 predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null)
                                 TableScan [TS_3] (rows=73049 width=1119)
                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
-                    <-Reducer 6 [ONE_TO_ONE_EDGE]
+                        <-Map 1 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_117]
+                            PartitionCols:_col0
+                            Select Operator [SEL_116] (rows=287989836 width=135)
+                              Output:["_col0","_col1","_col2"]
+                              Filter Operator [FIL_115] (rows=287989836 width=135)
+                                predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_28_date_dim_d_date_sk_min) AND DynamicValue(RS_28_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_28_date_dim_d_date_sk_bloom_filter))) and cs_item_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_item_sk","cs_ext_discount_amt"]
+                                <-Reducer 6 [BROADCAST_EDGE] vectorized
+                                  BROADCAST [RS_114]
+                                    Group By Operator [GBY_113] (rows=1 width=12)
+                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                    <-Map 5 [CUSTOM_SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_111]
+                                        Group By Operator [GBY_109] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                          Select Operator [SEL_106] (rows=8116 width=1119)
+                                            Output:["_col0"]
+                                             Please refer to the previous Select Operator [SEL_104]
+                    <-Reducer 9 [ONE_TO_ONE_EDGE]
                       FORWARD [RS_31]
                         PartitionCols:_col2
-                        Merge Join Operator [MERGEJOIN_60] (rows=174233858 width=135)
-                          Conds:RS_70._col0=RS_73._col0(Inner),Output:["_col1","_col2"]
-                        <-Map 8 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_73]
+                        Merge Join Operator [MERGEJOIN_101] (rows=174233858 width=135)
+                          Conds:RS_133._col0=RS_122._col0(Inner),Output:["_col1","_col2"]
+                        <-Map 12 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_122]
                             PartitionCols:_col0
-                            Select Operator [SEL_72] (rows=231000 width=1436)
+                            Select Operator [SEL_121] (rows=231000 width=1436)
                               Output:["_col0"]
-                              Filter Operator [FIL_71] (rows=231000 width=1436)
+                              Filter Operator [FIL_120] (rows=231000 width=1436)
                                 predicate:((i_manufact_id = 269) and i_item_sk is not null)
                                 TableScan [TS_20] (rows=462000 width=1436)
                                   default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_manufact_id"]
-                        <-Reducer 5 [ONE_TO_ONE_EDGE] vectorized
-                          FORWARD [RS_70]
+                        <-Reducer 8 [ONE_TO_ONE_EDGE] vectorized
+                          FORWARD [RS_133]
                             PartitionCols:_col0
-                            Select Operator [SEL_69] (rows=158394413 width=135)
+                            Select Operator [SEL_132] (rows=158394413 width=135)
                               Output:["_col0","_col1"]
-                              Group By Operator [GBY_68] (rows=158394413 width=135)
+                              Group By Operator [GBY_131] (rows=158394413 width=135)
                                 Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
-                              <-Reducer 2 [SIMPLE_EDGE]
+                              <-Reducer 7 [SIMPLE_EDGE]
                                 SHUFFLE [RS_17]
                                   PartitionCols:_col0
                                   Group By Operator [GBY_16] (rows=316788826 width=135)
                                     Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1
-                                     Please refer to the previous Merge Join Operator [MERGEJOIN_58]
+                                    Merge Join Operator [MERGEJOIN_100] (rows=316788826 width=135)
+                                      Conds:RS_130._col0=RS_107._col0(Inner),Output:["_col1","_col2"]
+                                    <-Map 5 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_107]
+                                        PartitionCols:_col0
+                                         Please refer to the previous Select Operator [SEL_104]
+                                    <-Map 11 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_130]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_129] (rows=287989836 width=135)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_128] (rows=287989836 width=135)
+                                            predicate:((cs_item_sk BETWEEN DynamicValue(RS_24_item_i_item_sk_min) AND DynamicValue(RS_24_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_24_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                            TableScan [TS_6] (rows=287989836 width=135)
+                                              default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"]
+                                            <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_119]
+                                                Group By Operator [GBY_118] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 5 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_112]
+                                                    Group By Operator [GBY_110] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_108] (rows=8116 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_104]
+                                            <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_127]
+                                                Group By Operator [GBY_126] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_125]
+                                                    Group By Operator [GBY_124] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_123] (rows=231000 width=1436)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_121]
 


[35/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/join_reordering_no_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join_reordering_no_stats.q.out b/ql/src/test/results/clientpositive/llap/join_reordering_no_stats.q.out
index 7fc508b..6c06662 100644
--- a/ql/src/test/results/clientpositive/llap/join_reordering_no_stats.q.out
+++ b/ql/src/test/results/clientpositive/llap/join_reordering_no_stats.q.out
@@ -100,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem_nostats
+                  filterExpr: (l_partkey is not null and l_suppkey is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (l_partkey is not null and l_suppkey is not null) (type: boolean)
@@ -120,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_nostats
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -139,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: supplier_nostats
+                  filterExpr: s_suppkey is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_suppkey is not null (type: boolean)
@@ -233,6 +236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem_nostats
+                  filterExpr: (l_partkey is not null and l_suppkey is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (l_partkey is not null and l_suppkey is not null) (type: boolean)
@@ -253,6 +257,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_nostats
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -272,6 +277,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: supplier_nostats
+                  filterExpr: s_suppkey is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_suppkey is not null (type: boolean)
@@ -430,6 +436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem_nostats
+                  filterExpr: (l_partkey is not null and l_suppkey is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (l_partkey is not null and l_suppkey is not null) (type: boolean)
@@ -450,6 +457,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: supplier_nostats
+                  filterExpr: s_suppkey is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_suppkey is not null (type: boolean)
@@ -469,6 +477,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: employee_part_n1
+                  filterExpr: employeeid is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 28 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: employeeid is not null (type: boolean)
@@ -563,6 +572,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem_nostats
+                  filterExpr: (l_partkey is not null and l_suppkey is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (l_partkey is not null and l_suppkey is not null) (type: boolean)
@@ -583,6 +593,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: supplier_nostats
+                  filterExpr: s_suppkey is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_suppkey is not null (type: boolean)
@@ -602,6 +613,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: employee_part_n1
+                  filterExpr: employeeid is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 28 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: employeeid is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/kryo.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/kryo.q.out b/ql/src/test/results/clientpositive/llap/kryo.q.out
index 1463dfb..234bae8 100644
--- a/ql/src/test/results/clientpositive/llap/kryo.q.out
+++ b/ql/src/test/results/clientpositive/llap/kryo.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: datetime_
+                  filterExpr: ((id = 1) or (id = 2) or (id = 3) or (id = 4) or (id = 5) or (id = 6)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((id = 1) or (id = 2) or (id = 3) or (id = 4) or (id = 5) or (id = 6)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/leftsemijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/leftsemijoin.q.out b/ql/src/test/results/clientpositive/llap/leftsemijoin.q.out
index 363f2de..d8de3e7 100644
--- a/ql/src/test/results/clientpositive/llap/leftsemijoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/leftsemijoin.q.out
@@ -108,7 +108,7 @@ POSTHOOK: query: drop table things_n1
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@things_n1
 POSTHOOK: Output: default@things_n1
-Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select part.p_type from part join (select p1.p_name from part p1, part p2 group by p1.p_name) pp ON pp.p_name = part.p_name
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select part.p_type from part join (select p1.p_name from part p1, part p2 group by p1.p_name) pp ON pp.p_name = part.p_name
@@ -130,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -150,6 +151,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3146 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -226,7 +228,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select part.p_type from part join (select p1.p_name from part p1, part p2 group by p1.p_name) pp ON pp.p_name = part.p_name
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/limit_join_transpose.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/limit_join_transpose.q.out b/ql/src/test/results/clientpositive/llap/limit_join_transpose.q.out
index 76a8bf6..ebaac18 100644
--- a/ql/src/test/results/clientpositive/llap/limit_join_transpose.q.out
+++ b/ql/src/test/results/clientpositive/llap/limit_join_transpose.q.out
@@ -242,6 +242,10 @@ STAGE PLANS:
                         Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: string)
                       sort order: +
@@ -356,6 +360,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Limit
                       Number of rows: 1
                       Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
@@ -364,6 +372,10 @@ STAGE PLANS:
                         Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: string)
                       sort order: +
@@ -506,6 +518,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Limit
                       Number of rows: 1
                       Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
@@ -514,6 +530,10 @@ STAGE PLANS:
                         Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: string)
                       sort order: +
@@ -673,6 +693,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: string)
                       sort order: +
@@ -1109,6 +1133,10 @@ STAGE PLANS:
                         Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: string)
                       sort order: +
@@ -1224,6 +1252,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Limit
                       Number of rows: 1
                       Offset of rows: 1
@@ -1233,6 +1265,10 @@ STAGE PLANS:
                         Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: string)
                       sort order: +
@@ -1376,6 +1412,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Limit
                       Number of rows: 1
                       Offset of rows: 1
@@ -1385,6 +1425,10 @@ STAGE PLANS:
                         Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
                         TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col1 (type: string)
                       sort order: +
@@ -1547,6 +1591,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col0 (type: string)
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col1 (type: string)
+                  Select Operator
+                    expressions: key (type: string), value (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                     Reduce Output Operator
                       key expressions: _col0 (type: string)
                       sort order: +

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/llap_vector_nohybridgrace.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/llap_vector_nohybridgrace.q.out b/ql/src/test/results/clientpositive/llap/llap_vector_nohybridgrace.q.out
index b3b2dcc..b16b8d0 100644
--- a/ql/src/test/results/clientpositive/llap/llap_vector_nohybridgrace.q.out
+++ b/ql/src/test/results/clientpositive/llap/llap_vector_nohybridgrace.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -101,6 +102,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -214,6 +216,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -280,6 +283,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd
+                  filterExpr: (cint < 2000000000) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 36696 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/llapdecider.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/llapdecider.q.out b/ql/src/test/results/clientpositive/llap/llapdecider.q.out
index 64ed44d..5785b70 100644
--- a/ql/src/test/results/clientpositive/llap/llapdecider.q.out
+++ b/ql/src/test/results/clientpositive/llap/llapdecider.q.out
@@ -339,6 +339,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_orc_n2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -359,6 +360,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -431,6 +433,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -451,6 +454,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -525,6 +529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_orc_n2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -545,6 +550,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -618,6 +624,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -637,6 +644,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -709,6 +717,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -728,6 +737,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -800,6 +810,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -820,6 +831,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -893,6 +905,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -912,6 +925,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -984,6 +998,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1004,6 +1019,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1083,6 +1099,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_orc_n2
+                  filterExpr: (UDFToInteger(key) > 1) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToInteger(key) > 1) (type: boolean)
@@ -1144,6 +1161,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_orc_n2
+                  filterExpr: (UDFToInteger(key) > 1) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToInteger(key) > 1) (type: boolean)
@@ -1204,6 +1222,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_orc_n2
+                  filterExpr: (UDFToInteger(GenericUDFTestGetJavaString(key)) > 1) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToInteger(GenericUDFTestGetJavaString(key)) > 1) (type: boolean)
@@ -1264,6 +1283,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src_orc_n2
+                  filterExpr: (UDFToInteger(key) > 1) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (UDFToInteger(key) > 1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/load_dyn_part2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/load_dyn_part2.q.out b/ql/src/test/results/clientpositive/llap/load_dyn_part2.q.out
index d0293eb..9f54bbc 100644
--- a/ql/src/test/results/clientpositive/llap/load_dyn_part2.q.out
+++ b/ql/src/test/results/clientpositive/llap/load_dyn_part2.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: (ds is not null and hr is not null) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 724000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string), value (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/load_dyn_part3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/load_dyn_part3.q.out b/ql/src/test/results/clientpositive/llap/load_dyn_part3.q.out
index c9823ce..f00343e 100644
--- a/ql/src/test/results/clientpositive/llap/load_dyn_part3.q.out
+++ b/ql/src/test/results/clientpositive/llap/load_dyn_part3.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: (ds is not null and hr is not null) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
index 56aff94..7548400 100644
--- a/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
@@ -114,6 +114,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: expod1
+                  filterExpr: aid is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 5772 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: aid is not null (type: boolean)
@@ -199,6 +200,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: expod2
+                  filterExpr: bid is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 5772 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: bid is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mapjoin46.q.out b/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
index 60128da..204e775 100644
--- a/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
+++ b/ql/src/test/results/clientpositive/llap/mapjoin46.q.out
@@ -197,6 +197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2_n2
+                  filterExpr: key BETWEEN 100 AND 102 (type: boolean)
                   Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -304,6 +305,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test2_n2
+                  filterExpr: key BETWEEN 100 AND 102 (type: boolean)
                   Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key BETWEEN 100 AND 102 (type: boolean)
@@ -1831,7 +1833,7 @@ NULL	NULL	None	NULL	NULL	NULL
 101	2	Car	102	2	Del
 101	2	Car	103	2	Ema
 NULL	NULL	NULL	104	3	Fli
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: EXPLAIN
 SELECT *
 FROM (
@@ -1901,6 +1903,10 @@ STAGE PLANS:
                       Map-reduce partition columns: _col1 (type: int)
                       Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE Column stats: COMPLETE
                       value expressions: _col0 (type: int), _col2 (type: string)
+                  Select Operator
+                    expressions: key (type: int), value (type: int), col_1 (type: string)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE Column stats: COMPLETE
                     Map Join Operator
                       condition map:
                            Left Outer Join 0 to 1
@@ -1987,7 +1993,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: SELECT *
 FROM (
   SELECT test1_n4.key AS key1, test1_n4.value AS value1, test1_n4.col_1 AS col_1,

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out b/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
index 795ecfe..e7bafc9 100644
--- a/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
+++ b/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
@@ -95,6 +95,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n95
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 117488 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: dec is not null (type: boolean)
@@ -124,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n59
+                  filterExpr: dec is not null (type: boolean)
                   Statistics: Num rows: 1049 Data size: 117488 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: dec is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/mapjoin_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mapjoin_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/mapjoin_mapjoin.q.out
index 0ef6bbb..d289536 100644
--- a/ql/src/test/results/clientpositive/llap/mapjoin_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/mapjoin_mapjoin.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -284,6 +285,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -361,6 +363,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -463,6 +466,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: ((value > 'val_450') and key is not null) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((value > 'val_450') and key is not null) (type: boolean)
@@ -504,6 +508,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -523,6 +528,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (value > 'val_450') (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (value > 'val_450') (type: boolean)
@@ -568,6 +574,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: srcpart
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -614,6 +621,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src1
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -633,6 +641,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
index b949618..c3cd893 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out
@@ -176,6 +176,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n10
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -194,6 +195,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n10
+                  filterExpr: ((d = 3) and (a = 3)) (type: boolean)
                   Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -311,6 +313,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n10
+                  filterExpr: ((a = 3) and (d = 3)) (type: boolean)
                   Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -425,6 +428,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n10
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -443,6 +447,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n10
+                  filterExpr: ((d = 3) and (a = 3)) (type: boolean)
                   Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
index d311f36..fdfdee5 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n9
+                  filterExpr: (c > 20) (type: boolean)
                   Statistics: Num rows: 5 Data size: 1030 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (c > 20) (type: boolean)
@@ -162,6 +163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n9
+                  filterExpr: (c > 20) (type: boolean)
                   Statistics: Num rows: 5 Data size: 1030 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (c > 20) (type: boolean)
@@ -252,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.cmv_mat_view_3
+                  filterExpr: (c > 20) (type: boolean)
                   Statistics: Num rows: 3 Data size: 1368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c > 20) (type: boolean)
@@ -474,6 +477,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_5
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -529,6 +533,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.cmv_mat_view_5
+                  filterExpr: (c > 10.1) (type: boolean)
                   Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c > 10.1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
index 237ff00..6027804 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
@@ -107,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -126,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -253,6 +255,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -333,6 +336,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -352,6 +356,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -463,6 +468,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -482,6 +488,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
@@ -665,6 +672,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -730,6 +738,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -749,6 +758,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -863,6 +873,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -945,6 +956,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -1008,6 +1020,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -1027,6 +1040,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
index 8aa6c72..b3fd29a 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
@@ -107,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -126,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -321,6 +323,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -340,6 +343,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -548,6 +552,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -567,6 +572,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -683,6 +689,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.cmv_mat_view_n5
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 248 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -703,6 +710,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -722,6 +730,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
@@ -984,6 +993,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n5
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -1046,6 +1056,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -1065,6 +1076,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 61 Data size: 7320 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -1203,6 +1215,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n5
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -1265,6 +1278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -1284,6 +1298,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 75 Data size: 9000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -1422,6 +1437,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n5
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -1494,6 +1510,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.cmv_mat_view_n5
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 248 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -1514,6 +1531,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n5
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -1533,6 +1551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n2
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 4) and a is not null) (type: boolean)
                   Statistics: Num rows: 91 Data size: 10920 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 4) and (c > 10) and a is not null) (type: boolean)
@@ -1751,6 +1770,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n5
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
index 20146f8..9abdcbb 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
@@ -152,6 +152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n6
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -171,6 +172,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n3
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -256,6 +258,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n6
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -275,6 +278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n3
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
@@ -442,6 +446,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n6
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -504,6 +509,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n6
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -523,6 +529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n3
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 61 Data size: 7076 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -649,6 +656,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n6
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -712,6 +720,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n6
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -731,6 +740,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n3
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 75 Data size: 8700 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -857,6 +867,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n6
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -924,6 +935,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n6
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -943,6 +955,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n3
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 4) and a is not null) (type: boolean)
                   Statistics: Num rows: 91 Data size: 10556 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 4) and (c > 10) and a is not null) (type: boolean)
@@ -1069,6 +1082,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n6
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_dummy.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_dummy.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_dummy.q.out
index cff7f70..e2972f3 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_dummy.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_dummy.q.out
@@ -176,6 +176,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n0
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -194,6 +195,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n0
+                  filterExpr: ((d = 3) and (a = 3)) (type: boolean)
                   Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -311,6 +313,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n0
+                  filterExpr: ((a = 3) and (d = 3)) (type: boolean)
                   Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -425,6 +428,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n0
+                  filterExpr: (a = 3) (type: boolean)
                   Statistics: Num rows: 5 Data size: 580 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (a = 3) (type: boolean)
@@ -443,6 +447,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n0
+                  filterExpr: ((d = 3) and (a = 3)) (type: boolean)
                   Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((a = 3) and (d = 3)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
index 3b7fb57..210db2c 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
@@ -107,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n1
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -126,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n0
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -253,6 +255,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n1
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -333,6 +336,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n1
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -352,6 +356,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n0
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -463,6 +468,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n1
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -482,6 +488,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n0
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
@@ -665,6 +672,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n1
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -730,6 +738,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n1
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -749,6 +758,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n0
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -863,6 +873,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n1
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -945,6 +956,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n1
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -1008,6 +1020,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n1
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -1027,6 +1040,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n0
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 46 Data size: 5336 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
index cfff416..44a866d 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
@@ -107,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n3
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -126,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n1
+                  filterExpr: ((c > 10) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10) and a is not null) (type: boolean)
@@ -306,6 +308,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n3
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -325,6 +328,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n1
+                  filterExpr: ((c > 10.1) and a is not null) (type: boolean)
                   Statistics: Num rows: 2 Data size: 232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((c > 10.1) and a is not null) (type: boolean)
@@ -521,6 +525,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n3
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator
@@ -577,6 +582,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_n3
+                  filterExpr: a is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: a is not null (type: boolean)
@@ -596,6 +602,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cmv_basetable_2_n1
+                  filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
@@ -824,6 +831,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.cmv_mat_view_n3
+          filterExpr: (c > 10.1) (type: boolean)
           Filter Operator
             predicate: (c > 10.1) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
index 16b199b..50f62d9 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
@@ -220,6 +220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n2
+                  filterExpr: ((empid < 120) and deptno is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 315 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((empid < 120) and deptno is not null) (type: boolean)
@@ -359,6 +360,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n2
+                  filterExpr: deptno is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 510 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: deptno is not null (type: boolean)
@@ -493,6 +495,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n2
+          filterExpr: (deptno = 1) (type: boolean)
           Filter Operator
             predicate: (deptno = 1) (type: boolean)
             Select Operator
@@ -569,6 +572,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: emps_n3
+                  filterExpr: (empid > 120) (type: boolean)
                   Statistics: Num rows: 5 Data size: 530 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (empid > 120) (type: boolean)
@@ -590,6 +594,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n2
+                  filterExpr: (empid < 150) (type: boolean)
                   Statistics: Num rows: 4 Data size: 424 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (empid < 150) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out
index 2d5764b..feef487 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out
@@ -220,6 +220,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n0
+          filterExpr: (deptno > 20) (type: boolean)
           Filter Operator
             predicate: (deptno > 20) (type: boolean)
             Select Operator
@@ -299,6 +300,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n0
+          filterExpr: (deptno > 20) (type: boolean)
           Filter Operator
             predicate: (deptno > 20) (type: boolean)
             Select Operator
@@ -378,6 +380,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n0
+          filterExpr: (deptno > 20) (type: boolean)
           Filter Operator
             predicate: (deptno > 20) (type: boolean)
             Select Operator
@@ -457,6 +460,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n0
+          filterExpr: (empid > 15) (type: boolean)
           Filter Operator
             predicate: (empid > 15) (type: boolean)
             Select Operator
@@ -547,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n0
+                  filterExpr: (empid > 15) (type: boolean)
                   Statistics: Num rows: 5 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (empid > 15) (type: boolean)
@@ -680,6 +685,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n0
+                  filterExpr: ((name = name2) and (deptno = deptno2)) (type: boolean)
                   Statistics: Num rows: 8 Data size: 1536 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((deptno = deptno2) and (name = name2)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_3.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_3.q.out
index 5965d31..27fdee4 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_3.q.out
@@ -216,6 +216,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n5
+          filterExpr: (deptno = 1) (type: boolean)
           Filter Operator
             predicate: (deptno = 1) (type: boolean)
             Select Operator
@@ -289,6 +290,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n5
+          filterExpr: (UDFToInteger(_c0) > 1) (type: boolean)
           Filter Operator
             predicate: (UDFToInteger(_c0) > 1) (type: boolean)
             Select Operator
@@ -366,6 +368,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: default.mv1_n5
+          filterExpr: (UDFToInteger(_c0) = 1) (type: boolean)
           Filter Operator
             predicate: (UDFToInteger(_c0) = 1) (type: boolean)
             Select Operator
@@ -451,6 +454,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n5
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -470,6 +474,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents_n5
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
index a0a22bf..7688d1a 100644
--- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
@@ -533,6 +533,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n3
+                  filterExpr: (deptno > 10) (type: boolean)
                   Statistics: Num rows: 4 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (deptno > 10) (type: boolean)
@@ -653,6 +654,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n3
+                  filterExpr: (deptno > 10) (type: boolean)
                   Statistics: Num rows: 4 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (deptno > 10) (type: boolean)
@@ -788,6 +790,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: default.mv1_n3
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -808,6 +811,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dependents_n3
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)


[09/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query36.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query36.q.out b/ql/src/test/results/clientpositive/perf/tez/query36.q.out
index cea3558..53c53db 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query36.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query36.q.out
@@ -59,37 +59,41 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_74]
-        Limit [LIM_73] (rows=100 width=88)
+      File Output Operator [FS_119]
+        Limit [LIM_118] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_72] (rows=1149975358 width=88)
+          Select Operator [SEL_117] (rows=1149975358 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_71]
-              Select Operator [SEL_70] (rows=1149975358 width=88)
+            SHUFFLE [RS_116]
+              Select Operator [SEL_115] (rows=1149975358 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                PTF Operator [PTF_69] (rows=1149975358 width=88)
+                PTF Operator [PTF_114] (rows=1149975358 width=88)
                   Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(_col2 / _col3) ASC NULLS FIRST","partition by:":"(grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (UDFToString(null)) END"}]
-                  Select Operator [SEL_68] (rows=1149975358 width=88)
+                  Select Operator [SEL_113] (rows=1149975358 width=88)
                     Output:["_col0","_col1","_col2","_col3","_col4"]
                   <-Reducer 5 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_67]
+                    SHUFFLE [RS_112]
                       PartitionCols:(grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (UDFToString(null)) END
-                      Select Operator [SEL_66] (rows=1149975358 width=88)
+                      Select Operator [SEL_111] (rows=1149975358 width=88)
                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                        Group By Operator [GBY_65] (rows=1149975358 width=88)
+                        Group By Operator [GBY_110] (rows=1149975358 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2
                         <-Reducer 4 [SIMPLE_EDGE]
                           SHUFFLE [RS_24]
@@ -98,52 +102,85 @@ Stage-0
                               Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col3)"],keys:_col0, _col1, 0L
                               Select Operator [SEL_21] (rows=766650239 width=88)
                                 Output:["_col0","_col1","_col2","_col3"]
-                                Merge Join Operator [MERGEJOIN_52] (rows=766650239 width=88)
-                                  Conds:RS_18._col1=RS_64._col0(Inner),Output:["_col3","_col4","_col10","_col11"]
-                                <-Map 10 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_64]
+                                Merge Join Operator [MERGEJOIN_82] (rows=766650239 width=88)
+                                  Conds:RS_18._col1=RS_101._col0(Inner),Output:["_col3","_col4","_col10","_col11"]
+                                <-Map 12 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_101]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_63] (rows=462000 width=1436)
+                                    Select Operator [SEL_100] (rows=462000 width=1436)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_62] (rows=462000 width=1436)
+                                      Filter Operator [FIL_99] (rows=462000 width=1436)
                                         predicate:i_item_sk is not null
                                         TableScan [TS_9] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_class","i_category"]
                                 <-Reducer 3 [SIMPLE_EDGE]
                                   SHUFFLE [RS_18]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_51] (rows=696954748 width=88)
-                                      Conds:RS_15._col2=RS_61._col0(Inner),Output:["_col1","_col3","_col4"]
-                                    <-Map 9 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_61]
+                                    Merge Join Operator [MERGEJOIN_81] (rows=696954748 width=88)
+                                      Conds:RS_15._col2=RS_93._col0(Inner),Output:["_col1","_col3","_col4"]
+                                    <-Map 10 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_93]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_60] (rows=852 width=1910)
+                                        Select Operator [SEL_92] (rows=852 width=1910)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_59] (rows=852 width=1910)
+                                          Filter Operator [FIL_91] (rows=852 width=1910)
                                             predicate:((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC', 'AL', 'GA') and s_store_sk is not null)
                                             TableScan [TS_6] (rows=1704 width=1910)
                                               default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"]
                                     <-Reducer 2 [SIMPLE_EDGE]
                                       SHUFFLE [RS_15]
                                         PartitionCols:_col2
-                                        Merge Join Operator [MERGEJOIN_50] (rows=633595212 width=88)
-                                          Conds:RS_55._col0=RS_58._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_55]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_54] (rows=575995635 width=88)
-                                              Output:["_col0","_col1","_col2","_col3","_col4"]
-                                              Filter Operator [FIL_53] (rows=575995635 width=88)
-                                                predicate:(ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                                TableScan [TS_0] (rows=575995635 width=88)
-                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_ext_sales_price","ss_net_profit"]
+                                        Merge Join Operator [MERGEJOIN_80] (rows=633595212 width=88)
+                                          Conds:RS_109._col0=RS_85._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                         <-Map 8 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_58]
+                                          PARTITION_ONLY_SHUFFLE [RS_85]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_57] (rows=36524 width=1119)
+                                            Select Operator [SEL_84] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_56] (rows=36524 width=1119)
+                                              Filter Operator [FIL_83] (rows=36524 width=1119)
                                                 predicate:((d_year = 1999) and d_date_sk is not null)
                                                 TableScan [TS_3] (rows=73049 width=1119)
                                                   default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
+                                        <-Map 1 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_109]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_108] (rows=575995635 width=88)
+                                              Output:["_col0","_col1","_col2","_col3","_col4"]
+                                              Filter Operator [FIL_107] (rows=575995635 width=88)
+                                                predicate:((ss_item_sk BETWEEN DynamicValue(RS_19_item_i_item_sk_min) AND DynamicValue(RS_19_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_13_d1_d_date_sk_min) AND DynamicValue(RS_13_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_16_store_s_store_sk_min) AND DynamicValue(RS_16_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_16_store_s_store_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                TableScan [TS_0] (rows=575995635 width=88)
+                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_ext_sales_price","ss_net_profit"]
+                                                <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_98]
+                                                    Group By Operator [GBY_97] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_96]
+                                                        Group By Operator [GBY_95] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_94] (rows=852 width=1910)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_92]
+                                                <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_106]
+                                                    Group By Operator [GBY_105] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_104]
+                                                        Group By Operator [GBY_103] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_102] (rows=462000 width=1436)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_100]
+                                                <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_90]
+                                                    Group By Operator [GBY_89] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      PARTITION_ONLY_SHUFFLE [RS_88]
+                                                        Group By Operator [GBY_87] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_86] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_84]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query37.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query37.q.out b/ql/src/test/results/clientpositive/perf/tez/query37.q.out
index bbd085e..674c38c 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query37.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query37.q.out
@@ -33,71 +33,96 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Map 1 <- Reducer 6 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 6 <- Map 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 8 <- Map 10 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_61]
-        Limit [LIM_60] (rows=100 width=135)
+      File Output Operator [FS_96]
+        Limit [LIM_95] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_59] (rows=316788826 width=135)
+          Select Operator [SEL_94] (rows=316788826 width=135)
             Output:["_col0","_col1","_col2"]
           <-Reducer 3 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_58]
-              Group By Operator [GBY_57] (rows=316788826 width=135)
+            SHUFFLE [RS_93]
+              Group By Operator [GBY_92] (rows=316788826 width=135)
                 Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
               <-Reducer 2 [SIMPLE_EDGE]
                 SHUFFLE [RS_22]
                   PartitionCols:_col0, _col1, _col2
                   Group By Operator [GBY_21] (rows=633577652 width=135)
                     Output:["_col0","_col1","_col2"],keys:_col2, _col3, _col4
-                    Merge Join Operator [MERGEJOIN_44] (rows=633577652 width=135)
-                      Conds:RS_47._col0=RS_50._col0(Inner),RS_50._col0=RS_18._col1(Inner),Output:["_col2","_col3","_col4"]
-                    <-Map 1 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_47]
-                        PartitionCols:_col0
-                        Select Operator [SEL_46] (rows=287989836 width=135)
-                          Output:["_col0"]
-                          Filter Operator [FIL_45] (rows=287989836 width=135)
-                            predicate:cs_item_sk is not null
-                            TableScan [TS_0] (rows=287989836 width=135)
-                              default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_item_sk"]
+                    Merge Join Operator [MERGEJOIN_72] (rows=633577652 width=135)
+                      Conds:RS_91._col0=RS_75._col0(Inner),RS_75._col0=RS_18._col1(Inner),Output:["_col2","_col3","_col4"]
                     <-Map 5 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_50]
+                      PARTITION_ONLY_SHUFFLE [RS_75]
                         PartitionCols:_col0
-                        Select Operator [SEL_49] (rows=25666 width=1436)
+                        Select Operator [SEL_74] (rows=25666 width=1436)
                           Output:["_col0","_col1","_col2","_col3"]
-                          Filter Operator [FIL_48] (rows=25666 width=1436)
+                          Filter Operator [FIL_73] (rows=25666 width=1436)
                             predicate:((i_manufact_id) IN (678, 964, 918, 849) and i_current_price BETWEEN 22 AND 52 and i_item_sk is not null)
                             TableScan [TS_3] (rows=462000 width=1436)
                               default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc","i_current_price","i_manufact_id"]
-                    <-Reducer 7 [SIMPLE_EDGE]
-                      SHUFFLE [RS_18]
+                    <-Reducer 8 [SIMPLE_EDGE]
+                      PARTITION_ONLY_SHUFFLE [RS_18]
                         PartitionCols:_col1
-                        Merge Join Operator [MERGEJOIN_43] (rows=4593600 width=15)
-                          Conds:RS_53._col0=RS_56._col0(Inner),Output:["_col1"]
-                        <-Map 6 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_53]
-                            PartitionCols:_col0
-                            Select Operator [SEL_52] (rows=4176000 width=15)
-                              Output:["_col0","_col1"]
-                              Filter Operator [FIL_51] (rows=4176000 width=15)
-                                predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_quantity_on_hand BETWEEN 100 AND 500)
-                                TableScan [TS_6] (rows=37584000 width=15)
-                                  default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_quantity_on_hand"]
-                        <-Map 8 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_56]
+                        Merge Join Operator [MERGEJOIN_71] (rows=4593600 width=15)
+                          Conds:RS_83._col0=RS_86._col0(Inner),Output:["_col1"]
+                        <-Map 10 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_86]
                             PartitionCols:_col0
-                            Select Operator [SEL_55] (rows=8116 width=1119)
+                            Select Operator [SEL_85] (rows=8116 width=1119)
                               Output:["_col0"]
-                              Filter Operator [FIL_54] (rows=8116 width=1119)
+                              Filter Operator [FIL_84] (rows=8116 width=1119)
                                 predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-06-02 00:00:00.0' AND TIMESTAMP'2001-08-01 00:00:00.0' and d_date_sk is not null)
                                 TableScan [TS_9] (rows=73049 width=1119)
                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
+                        <-Map 7 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_83]
+                            PartitionCols:_col0
+                            Select Operator [SEL_82] (rows=4176000 width=15)
+                              Output:["_col0","_col1"]
+                              Filter Operator [FIL_81] (rows=4176000 width=15)
+                                predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_quantity_on_hand BETWEEN 100 AND 500)
+                                TableScan [TS_6] (rows=37584000 width=15)
+                                  default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_quantity_on_hand"]
+                    <-Map 1 [SIMPLE_EDGE] vectorized
+                      SHUFFLE [RS_91]
+                        PartitionCols:_col0
+                        Select Operator [SEL_90] (rows=287989836 width=135)
+                          Output:["_col0"]
+                          Filter Operator [FIL_89] (rows=287989836 width=135)
+                            predicate:((cs_item_sk BETWEEN DynamicValue(RS_17_item_i_item_sk_min) AND DynamicValue(RS_17_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_17_item_i_item_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_18_inventory_inv_item_sk_min) AND DynamicValue(RS_18_inventory_inv_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_18_inventory_inv_item_sk_bloom_filter))) and cs_item_sk is not null)
+                            TableScan [TS_0] (rows=287989836 width=135)
+                              default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_item_sk"]
+                            <-Reducer 6 [BROADCAST_EDGE] vectorized
+                              BROADCAST [RS_80]
+                                Group By Operator [GBY_79] (rows=1 width=12)
+                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                <-Map 5 [CUSTOM_SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_78]
+                                    Group By Operator [GBY_77] (rows=1 width=12)
+                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                      Select Operator [SEL_76] (rows=25666 width=1436)
+                                        Output:["_col0"]
+                                         Please refer to the previous Select Operator [SEL_74]
+                            <-Reducer 9 [BROADCAST_EDGE] vectorized
+                              BROADCAST [RS_88]
+                                Group By Operator [GBY_87] (rows=1 width=12)
+                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=4593600)"]
+                                <-Reducer 8 [CUSTOM_SIMPLE_EDGE]
+                                  PARTITION_ONLY_SHUFFLE [RS_50]
+                                    Group By Operator [GBY_49] (rows=1 width=12)
+                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=4593600)"]
+                                      Select Operator [SEL_48] (rows=4593600 width=15)
+                                        Output:["_col0"]
+                                         Please refer to the previous Merge Join Operator [MERGEJOIN_71]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query38.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query38.q.out b/ql/src/test/results/clientpositive/perf/tez/query38.q.out
index e3040e4..78cb5e1 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query38.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query38.q.out
@@ -45,168 +45,231 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 12 <- Map 17 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 13 <- Map 15 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Map 1 <- Reducer 19 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 21 <- Reducer 13 (BROADCAST_EDGE), Reducer 20 (BROADCAST_EDGE)
+Map 22 <- Reducer 17 (BROADCAST_EDGE)
+Reducer 10 <- Map 21 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Map 18 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 13 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 22 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 15 <- Map 18 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 17 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 15 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 20 <- Map 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 18 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 6 <- Union 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 16 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_165]
-        Limit [LIM_164] (rows=1 width=16)
+      File Output Operator [FS_244]
+        Limit [LIM_243] (rows=1 width=16)
           Number of rows:100
-          Group By Operator [GBY_163] (rows=1 width=16)
+          Group By Operator [GBY_242] (rows=1 width=16)
             Output:["_col0"],aggregations:["count(VALUE._col0)"]
           <-Reducer 6 [CUSTOM_SIMPLE_EDGE] vectorized
-            PARTITION_ONLY_SHUFFLE [RS_162]
-              Group By Operator [GBY_161] (rows=1 width=16)
+            PARTITION_ONLY_SHUFFLE [RS_241]
+              Group By Operator [GBY_240] (rows=1 width=16)
                 Output:["_col0"],aggregations:["count()"]
-                Select Operator [SEL_160] (rows=1 width=108)
-                  Filter Operator [FIL_159] (rows=1 width=108)
+                Select Operator [SEL_239] (rows=1 width=108)
+                  Filter Operator [FIL_238] (rows=1 width=108)
                     predicate:(_col3 = 3L)
-                    Select Operator [SEL_158] (rows=152458212 width=108)
+                    Select Operator [SEL_237] (rows=152458212 width=108)
                       Output:["_col3"]
-                      Group By Operator [GBY_157] (rows=152458212 width=108)
+                      Group By Operator [GBY_236] (rows=152458212 width=108)
                         Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
                       <-Union 5 [SIMPLE_EDGE]
-                        <-Reducer 11 [CONTAINS] vectorized
-                          Reduce Output Operator [RS_173]
+                        <-Reducer 12 [CONTAINS] vectorized
+                          Reduce Output Operator [RS_256]
                             PartitionCols:_col0, _col1, _col2
-                            Group By Operator [GBY_172] (rows=304916424 width=108)
+                            Group By Operator [GBY_255] (rows=304916424 width=108)
                               Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2
-                              Group By Operator [GBY_171] (rows=87116929 width=135)
+                              Group By Operator [GBY_254] (rows=87116929 width=135)
                                 Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
-                                Select Operator [SEL_170] (rows=174233858 width=135)
+                                Select Operator [SEL_253] (rows=174233858 width=135)
                                   Output:["_col0","_col1","_col2"]
-                                  Group By Operator [GBY_169] (rows=174233858 width=135)
+                                  Group By Operator [GBY_252] (rows=174233858 width=135)
                                     Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                                  <-Reducer 10 [SIMPLE_EDGE]
+                                  <-Reducer 11 [SIMPLE_EDGE]
                                     SHUFFLE [RS_42]
                                       PartitionCols:_col0, _col1, _col2
                                       Group By Operator [GBY_41] (rows=348467716 width=135)
                                         Output:["_col0","_col1","_col2"],keys:_col7, _col6, _col3
-                                        Merge Join Operator [MERGEJOIN_118] (rows=348467716 width=135)
-                                          Conds:RS_37._col1=RS_150._col0(Inner),Output:["_col3","_col6","_col7"]
-                                        <-Map 15 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_150]
+                                        Merge Join Operator [MERGEJOIN_178] (rows=348467716 width=135)
+                                          Conds:RS_37._col1=RS_219._col0(Inner),Output:["_col3","_col6","_col7"]
+                                        <-Map 18 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_219]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_148] (rows=80000000 width=860)
+                                            Select Operator [SEL_216] (rows=80000000 width=860)
                                               Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_147] (rows=80000000 width=860)
+                                              Filter Operator [FIL_215] (rows=80000000 width=860)
                                                 predicate:c_customer_sk is not null
                                                 TableScan [TS_6] (rows=80000000 width=860)
                                                   default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
-                                        <-Reducer 9 [SIMPLE_EDGE]
+                                        <-Reducer 10 [SIMPLE_EDGE]
                                           SHUFFLE [RS_37]
                                             PartitionCols:_col1
-                                            Merge Join Operator [MERGEJOIN_117] (rows=316788826 width=135)
-                                              Conds:RS_168._col0=RS_145._col0(Inner),Output:["_col1","_col3"]
+                                            Merge Join Operator [MERGEJOIN_177] (rows=316788826 width=135)
+                                              Conds:RS_251._col0=RS_203._col0(Inner),Output:["_col1","_col3"]
                                             <-Map 8 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_145]
+                                              PARTITION_ONLY_SHUFFLE [RS_203]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_143] (rows=8116 width=1119)
+                                                Select Operator [SEL_200] (rows=8116 width=1119)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_142] (rows=8116 width=1119)
+                                                  Filter Operator [FIL_199] (rows=8116 width=1119)
                                                     predicate:(d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223)
                                                     TableScan [TS_3] (rows=73049 width=1119)
                                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
-                                            <-Map 16 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_168]
+                                            <-Map 21 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_251]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_167] (rows=287989836 width=135)
+                                                Select Operator [SEL_250] (rows=287989836 width=135)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_166] (rows=287989836 width=135)
-                                                    predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+                                                  Filter Operator [FIL_249] (rows=287989836 width=135)
+                                                    predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_38_customer_c_customer_sk_min) AND DynamicValue(RS_38_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_38_customer_c_customer_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_35_date_dim_d_date_sk_min) AND DynamicValue(RS_35_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_35_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
                                                     TableScan [TS_25] (rows=287989836 width=135)
                                                       default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk"]
-                        <-Reducer 14 [CONTAINS] vectorized
-                          Reduce Output Operator [RS_181]
+                                                    <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_246]
+                                                        Group By Operator [GBY_245] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                        <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          PARTITION_ONLY_SHUFFLE [RS_211]
+                                                            Group By Operator [GBY_208] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                              Select Operator [SEL_204] (rows=8116 width=1119)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_200]
+                                                    <-Reducer 20 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_248]
+                                                        Group By Operator [GBY_247] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                        <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_225]
+                                                            Group By Operator [GBY_223] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                              Select Operator [SEL_220] (rows=80000000 width=860)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_216]
+                        <-Reducer 16 [CONTAINS] vectorized
+                          Reduce Output Operator [RS_266]
                             PartitionCols:_col0, _col1, _col2
-                            Group By Operator [GBY_180] (rows=304916424 width=108)
+                            Group By Operator [GBY_265] (rows=304916424 width=108)
                               Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2
-                              Group By Operator [GBY_179] (rows=43560808 width=135)
+                              Group By Operator [GBY_264] (rows=43560808 width=135)
                                 Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
-                                Select Operator [SEL_178] (rows=87121617 width=135)
+                                Select Operator [SEL_263] (rows=87121617 width=135)
                                   Output:["_col0","_col1","_col2"]
-                                  Group By Operator [GBY_177] (rows=87121617 width=135)
+                                  Group By Operator [GBY_262] (rows=87121617 width=135)
                                     Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                                  <-Reducer 13 [SIMPLE_EDGE]
+                                  <-Reducer 15 [SIMPLE_EDGE]
                                     SHUFFLE [RS_68]
                                       PartitionCols:_col0, _col1, _col2
                                       Group By Operator [GBY_67] (rows=174243235 width=135)
                                         Output:["_col0","_col1","_col2"],keys:_col7, _col6, _col3
-                                        Merge Join Operator [MERGEJOIN_120] (rows=174243235 width=135)
-                                          Conds:RS_63._col1=RS_151._col0(Inner),Output:["_col3","_col6","_col7"]
-                                        <-Map 15 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_151]
+                                        Merge Join Operator [MERGEJOIN_180] (rows=174243235 width=135)
+                                          Conds:RS_63._col1=RS_221._col0(Inner),Output:["_col3","_col6","_col7"]
+                                        <-Map 18 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_221]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_148]
-                                        <-Reducer 12 [SIMPLE_EDGE]
+                                             Please refer to the previous Select Operator [SEL_216]
+                                        <-Reducer 14 [SIMPLE_EDGE]
                                           SHUFFLE [RS_63]
                                             PartitionCols:_col1
-                                            Merge Join Operator [MERGEJOIN_119] (rows=158402938 width=135)
-                                              Conds:RS_176._col0=RS_146._col0(Inner),Output:["_col1","_col3"]
+                                            Merge Join Operator [MERGEJOIN_179] (rows=158402938 width=135)
+                                              Conds:RS_261._col0=RS_205._col0(Inner),Output:["_col1","_col3"]
                                             <-Map 8 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_146]
+                                              PARTITION_ONLY_SHUFFLE [RS_205]
                                                 PartitionCols:_col0
-                                                 Please refer to the previous Select Operator [SEL_143]
-                                            <-Map 17 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_176]
+                                                 Please refer to the previous Select Operator [SEL_200]
+                                            <-Map 22 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_261]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_175] (rows=144002668 width=135)
+                                                Select Operator [SEL_260] (rows=144002668 width=135)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_174] (rows=144002668 width=135)
-                                                    predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                                  Filter Operator [FIL_259] (rows=144002668 width=135)
+                                                    predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_61_date_dim_d_date_sk_min) AND DynamicValue(RS_61_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_61_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_51] (rows=144002668 width=135)
                                                       default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk"]
+                                                    <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_258]
+                                                        Group By Operator [GBY_257] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                        <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          PARTITION_ONLY_SHUFFLE [RS_212]
+                                                            Group By Operator [GBY_209] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                              Select Operator [SEL_206] (rows=8116 width=1119)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_200]
                         <-Reducer 4 [CONTAINS] vectorized
-                          Reduce Output Operator [RS_156]
+                          Reduce Output Operator [RS_235]
                             PartitionCols:_col0, _col1, _col2
-                            Group By Operator [GBY_155] (rows=304916424 width=108)
+                            Group By Operator [GBY_234] (rows=304916424 width=108)
                               Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2
-                              Group By Operator [GBY_154] (rows=174238687 width=88)
+                              Group By Operator [GBY_233] (rows=174238687 width=88)
                                 Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
-                                Select Operator [SEL_153] (rows=348477374 width=88)
+                                Select Operator [SEL_232] (rows=348477374 width=88)
                                   Output:["_col0","_col1","_col2"]
-                                  Group By Operator [GBY_152] (rows=348477374 width=88)
+                                  Group By Operator [GBY_231] (rows=348477374 width=88)
                                     Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
                                   <-Reducer 3 [SIMPLE_EDGE]
                                     SHUFFLE [RS_17]
                                       PartitionCols:_col0, _col1, _col2
                                       Group By Operator [GBY_16] (rows=696954748 width=88)
                                         Output:["_col0","_col1","_col2"],keys:_col7, _col6, _col3
-                                        Merge Join Operator [MERGEJOIN_116] (rows=696954748 width=88)
-                                          Conds:RS_12._col1=RS_149._col0(Inner),Output:["_col3","_col6","_col7"]
-                                        <-Map 15 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_149]
+                                        Merge Join Operator [MERGEJOIN_176] (rows=696954748 width=88)
+                                          Conds:RS_12._col1=RS_217._col0(Inner),Output:["_col3","_col6","_col7"]
+                                        <-Map 18 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_217]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_148]
+                                             Please refer to the previous Select Operator [SEL_216]
                                         <-Reducer 2 [SIMPLE_EDGE]
                                           SHUFFLE [RS_12]
                                             PartitionCols:_col1
-                                            Merge Join Operator [MERGEJOIN_115] (rows=633595212 width=88)
-                                              Conds:RS_141._col0=RS_144._col0(Inner),Output:["_col1","_col3"]
+                                            Merge Join Operator [MERGEJOIN_175] (rows=633595212 width=88)
+                                              Conds:RS_230._col0=RS_201._col0(Inner),Output:["_col1","_col3"]
                                             <-Map 8 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_144]
+                                              PARTITION_ONLY_SHUFFLE [RS_201]
                                                 PartitionCols:_col0
-                                                 Please refer to the previous Select Operator [SEL_143]
+                                                 Please refer to the previous Select Operator [SEL_200]
                                             <-Map 1 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_141]
+                                              SHUFFLE [RS_230]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_140] (rows=575995635 width=88)
+                                                Select Operator [SEL_229] (rows=575995635 width=88)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_139] (rows=575995635 width=88)
-                                                    predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                  Filter Operator [FIL_228] (rows=575995635 width=88)
+                                                    predicate:((ss_customer_sk BETWEEN DynamicValue(RS_13_customer_c_customer_sk_min) AND DynamicValue(RS_13_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_13_customer_c_customer_sk_bloom_filter))) and (ss_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(ss_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
                                                     TableScan [TS_0] (rows=575995635 width=88)
                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk"]
+                                                    <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_227]
+                                                        Group By Operator [GBY_226] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                        <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_224]
+                                                            Group By Operator [GBY_222] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                              Select Operator [SEL_218] (rows=80000000 width=860)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_216]
+                                                    <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_214]
+                                                        Group By Operator [GBY_213] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                        <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          PARTITION_ONLY_SHUFFLE [RS_210]
+                                                            Group By Operator [GBY_207] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                              Select Operator [SEL_202] (rows=8116 width=1119)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_200]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query39.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query39.q.out b/ql/src/test/results/clientpositive/perf/tez/query39.q.out
index 35ce2dd..5966e24 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query39.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query39.q.out
@@ -69,23 +69,23 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_136]
-        Select Operator [SEL_135] (rows=13756683 width=15)
+      File Output Operator [FS_220]
+        Select Operator [SEL_219] (rows=13756683 width=15)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
         <-Reducer 6 [SIMPLE_EDGE]
           SHUFFLE [RS_60]
-            Merge Join Operator [MERGEJOIN_106] (rows=13756683 width=15)
-              Conds:RS_129._col0, _col1=RS_134._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+            Merge Join Operator [MERGEJOIN_190] (rows=13756683 width=15)
+              Conds:RS_213._col0, _col1=RS_218._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
             <-Reducer 11 [SIMPLE_EDGE] vectorized
-              SHUFFLE [RS_134]
+              SHUFFLE [RS_218]
                 PartitionCols:_col0, _col1
-                Select Operator [SEL_133] (rows=12506076 width=15)
+                Select Operator [SEL_217] (rows=12506076 width=15)
                   Output:["_col0","_col1","_col2","_col3"]
-                  Filter Operator [FIL_132] (rows=12506076 width=15)
+                  Filter Operator [FIL_216] (rows=12506076 width=15)
                     predicate:CASE WHEN (((_col3 / _col4) = 0)) THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END
-                    Select Operator [SEL_131] (rows=25012152 width=15)
+                    Select Operator [SEL_215] (rows=25012152 width=15)
                       Output:["_col0","_col1","_col3","_col4","_col5","_col6"]
-                      Group By Operator [GBY_130] (rows=25012152 width=15)
+                      Group By Operator [GBY_214] (rows=25012152 width=15)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2
                       <-Reducer 10 [SIMPLE_EDGE]
                         SHUFFLE [RS_52]
@@ -94,64 +94,64 @@ Stage-0
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col3)","count(_col3)","sum(_col5)","sum(_col4)"],keys:_col1, _col2, _col0
                             Select Operator [SEL_49] (rows=50024305 width=15)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                              Merge Join Operator [MERGEJOIN_105] (rows=50024305 width=15)
-                                Conds:RS_46._col2=RS_124._col0(Inner),Output:["_col3","_col7","_col8","_col9"]
+                              Merge Join Operator [MERGEJOIN_189] (rows=50024305 width=15)
+                                Conds:RS_46._col2=RS_208._col0(Inner),Output:["_col3","_col7","_col8","_col9"]
                               <-Map 14 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_124]
+                                SHUFFLE [RS_208]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_122] (rows=27 width=1029)
+                                  Select Operator [SEL_206] (rows=27 width=1029)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_121] (rows=27 width=1029)
+                                    Filter Operator [FIL_205] (rows=27 width=1029)
                                       predicate:w_warehouse_sk is not null
                                       TableScan [TS_9] (rows=27 width=1029)
                                         default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_warehouse_name"]
                               <-Reducer 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_46]
                                   PartitionCols:_col2
-                                  Merge Join Operator [MERGEJOIN_104] (rows=45476640 width=15)
-                                    Conds:RS_43._col1=RS_120._col0(Inner),Output:["_col2","_col3","_col7"]
+                                  Merge Join Operator [MERGEJOIN_188] (rows=45476640 width=15)
+                                    Conds:RS_43._col1=RS_204._col0(Inner),Output:["_col2","_col3","_col7"]
                                   <-Map 13 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_120]
+                                    SHUFFLE [RS_204]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_118] (rows=462000 width=1436)
+                                      Select Operator [SEL_202] (rows=462000 width=1436)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_117] (rows=462000 width=1436)
+                                        Filter Operator [FIL_201] (rows=462000 width=1436)
                                           predicate:i_item_sk is not null
                                           TableScan [TS_6] (rows=462000 width=1436)
                                             default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk"]
                                   <-Reducer 8 [SIMPLE_EDGE]
                                     SHUFFLE [RS_43]
                                       PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_103] (rows=41342400 width=15)
-                                        Conds:RS_110._col0=RS_116._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      Merge Join Operator [MERGEJOIN_187] (rows=41342400 width=15)
+                                        Conds:RS_194._col0=RS_200._col0(Inner),Output:["_col1","_col2","_col3"]
                                       <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_110]
+                                        SHUFFLE [RS_194]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_108] (rows=37584000 width=15)
+                                          Select Operator [SEL_192] (rows=37584000 width=15)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_107] (rows=37584000 width=15)
+                                            Filter Operator [FIL_191] (rows=37584000 width=15)
                                               predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null)
                                               TableScan [TS_0] (rows=37584000 width=15)
                                                 default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"]
                                       <-Map 12 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_116]
+                                        SHUFFLE [RS_200]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_114] (rows=18262 width=1119)
+                                          Select Operator [SEL_198] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_112] (rows=18262 width=1119)
+                                            Filter Operator [FIL_196] (rows=18262 width=1119)
                                               predicate:((d_moy = 5) and (d_year = 1999) and d_date_sk is not null)
                                               TableScan [TS_3] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
             <-Reducer 5 [SIMPLE_EDGE] vectorized
-              SHUFFLE [RS_129]
+              SHUFFLE [RS_213]
                 PartitionCols:_col0, _col1
-                Select Operator [SEL_128] (rows=12506076 width=15)
+                Select Operator [SEL_212] (rows=12506076 width=15)
                   Output:["_col0","_col1","_col2","_col3"]
-                  Filter Operator [FIL_127] (rows=12506076 width=15)
+                  Filter Operator [FIL_211] (rows=12506076 width=15)
                     predicate:CASE WHEN (((_col3 / _col4) = 0)) THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END
-                    Select Operator [SEL_126] (rows=25012152 width=15)
+                    Select Operator [SEL_210] (rows=25012152 width=15)
                       Output:["_col0","_col1","_col3","_col4","_col5","_col6"]
-                      Group By Operator [GBY_125] (rows=25012152 width=15)
+                      Group By Operator [GBY_209] (rows=25012152 width=15)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0, KEY._col1, KEY._col2
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_24]
@@ -160,36 +160,36 @@ Stage-0
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col3)","count(_col3)","sum(_col5)","sum(_col4)"],keys:_col1, _col2, _col0
                             Select Operator [SEL_21] (rows=50024305 width=15)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                              Merge Join Operator [MERGEJOIN_102] (rows=50024305 width=15)
-                                Conds:RS_18._col2=RS_123._col0(Inner),Output:["_col3","_col7","_col8","_col9"]
+                              Merge Join Operator [MERGEJOIN_186] (rows=50024305 width=15)
+                                Conds:RS_18._col2=RS_207._col0(Inner),Output:["_col3","_col7","_col8","_col9"]
                               <-Map 14 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_123]
+                                SHUFFLE [RS_207]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_122]
+                                   Please refer to the previous Select Operator [SEL_206]
                               <-Reducer 3 [SIMPLE_EDGE]
                                 SHUFFLE [RS_18]
                                   PartitionCols:_col2
-                                  Merge Join Operator [MERGEJOIN_101] (rows=45476640 width=15)
-                                    Conds:RS_15._col1=RS_119._col0(Inner),Output:["_col2","_col3","_col7"]
+                                  Merge Join Operator [MERGEJOIN_185] (rows=45476640 width=15)
+                                    Conds:RS_15._col1=RS_203._col0(Inner),Output:["_col2","_col3","_col7"]
                                   <-Map 13 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_119]
+                                    SHUFFLE [RS_203]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_118]
+                                       Please refer to the previous Select Operator [SEL_202]
                                   <-Reducer 2 [SIMPLE_EDGE]
                                     SHUFFLE [RS_15]
                                       PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_100] (rows=41342400 width=15)
-                                        Conds:RS_109._col0=RS_115._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      Merge Join Operator [MERGEJOIN_184] (rows=41342400 width=15)
+                                        Conds:RS_193._col0=RS_199._col0(Inner),Output:["_col1","_col2","_col3"]
                                       <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_109]
+                                        SHUFFLE [RS_193]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_108]
+                                           Please refer to the previous Select Operator [SEL_192]
                                       <-Map 12 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_115]
+                                        SHUFFLE [RS_199]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_113] (rows=18262 width=1119)
+                                          Select Operator [SEL_197] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_111] (rows=18262 width=1119)
+                                            Filter Operator [FIL_195] (rows=18262 width=1119)
                                               predicate:((d_moy = 4) and (d_year = 1999) and d_date_sk is not null)
                                                Please refer to the previous TableScan [TS_3]
 


[25/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nested_column_pruning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nested_column_pruning.q.out b/ql/src/test/results/clientpositive/nested_column_pruning.q.out
index 69ddfc0..02a2716 100644
--- a/ql/src/test/results/clientpositive/nested_column_pruning.q.out
+++ b/ql/src/test/results/clientpositive/nested_column_pruning.q.out
@@ -392,6 +392,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: nested_tbl_1_n1
+            filterExpr: (s1.f1 = false) (type: boolean)
             Pruned Column Paths: s1.f2, s1.f1
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -438,6 +439,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: nested_tbl_1_n1
+            filterExpr: (s1.f3.f4 = 4) (type: boolean)
             Pruned Column Paths: s1.f3.f5, s1.f3.f4
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -484,6 +486,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: nested_tbl_1_n1
+            filterExpr: ((s1.f2 = 'foo') and (size(s2.f8.f10) > 1) and s2.f8.f11['key1']) (type: boolean)
             Pruned Column Paths: s1.f2, s2.f8
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -931,6 +934,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -947,6 +951,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
@@ -1025,6 +1030,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -1041,6 +1047,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: (s2.f8.f9 and s1.f6 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (s1.f6 is not null and s2.f8.f9) (type: boolean)
@@ -1115,6 +1122,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -1131,6 +1139,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: (s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null) (type: boolean)
             Pruned Column Paths: s1.f6, s2.f8.f9
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -1289,6 +1298,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -1305,6 +1315,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: s1.f6 is not null (type: boolean)
             Pruned Column Paths: s1.f6
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/no_hooks.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/no_hooks.q.out b/ql/src/test/results/clientpositive/no_hooks.q.out
index 7472061..3826fd3 100644
--- a/ql/src/test/results/clientpositive/no_hooks.q.out
+++ b/ql/src/test/results/clientpositive/no_hooks.q.out
@@ -13,6 +13,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -23,6 +24,7 @@ STAGE PLANS:
                 value expressions: key (type: string), value (type: string)
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/noalias_subq1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/noalias_subq1.q.out b/ql/src/test/results/clientpositive/noalias_subq1.q.out
index a0d872c..d93e7a0 100644
--- a/ql/src/test/results/clientpositive/noalias_subq1.q.out
+++ b/ql/src/test/results/clientpositive/noalias_subq1.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nonmr_fetch.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nonmr_fetch.q.out b/ql/src/test/results/clientpositive/nonmr_fetch.q.out
index fcd3bd0..cd8d78b 100644
--- a/ql/src/test/results/clientpositive/nonmr_fetch.q.out
+++ b/ql/src/test/results/clientpositive/nonmr_fetch.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), '11' (type: string)
@@ -140,6 +141,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
           Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -290,6 +292,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), '11' (type: string)
@@ -376,6 +379,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -421,6 +425,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string)
@@ -465,6 +470,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (UDFToDouble(key) < 10.0D) (type: boolean)
@@ -510,6 +516,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
           Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (UDFToDouble(key) < 10.0D) (type: boolean)
@@ -803,6 +810,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: src
+          filterExpr: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((UDFToDouble(key) < 250.0D) and (UDFToDouble(key) > 200.0D)) (type: boolean)
@@ -860,6 +868,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Lateral View Forward
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1166,6 +1175,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1182,6 +1192,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out b/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out
index 78900bd..e5d6e6b 100644
--- a/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out
+++ b/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out
@@ -12,6 +12,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), '11' (type: string)
@@ -60,6 +61,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), '11' (type: string)
@@ -129,6 +131,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), '2008-04-08' (type: string), '11' (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/notable_alias1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/notable_alias1.q.out b/ql/src/test/results/clientpositive/notable_alias1.q.out
index 4004bf5..082a9c8 100644
--- a/ql/src/test/results/clientpositive/notable_alias1.q.out
+++ b/ql/src/test/results/clientpositive/notable_alias1.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/notable_alias2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/notable_alias2.q.out b/ql/src/test/results/clientpositive/notable_alias2.q.out
index 103b48a..2deeefd 100644
--- a/ql/src/test/results/clientpositive/notable_alias2.q.out
+++ b/ql/src/test/results/clientpositive/notable_alias2.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nullability_transitive_inference.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nullability_transitive_inference.q.out b/ql/src/test/results/clientpositive/nullability_transitive_inference.q.out
index 6ba7b7b..31a2e9f 100644
--- a/ql/src/test/results/clientpositive/nullability_transitive_inference.q.out
+++ b/ql/src/test/results/clientpositive/nullability_transitive_inference.q.out
@@ -112,6 +112,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: emps_n6
+            filterExpr: (deptno >= 20) (type: boolean)
             Statistics: Num rows: 5 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptno >= 20) (type: boolean)
@@ -128,6 +129,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: depts_n5
+            filterExpr: (deptno >= 20) (type: boolean)
             Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptno >= 20) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nullgroup.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nullgroup.q.out b/ql/src/test/results/clientpositive/nullgroup.q.out
index cccc3c4..04b1ad9 100644
--- a/ql/src/test/results/clientpositive/nullgroup.q.out
+++ b/ql/src/test/results/clientpositive/nullgroup.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)
@@ -135,6 +137,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)
@@ -211,6 +214,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nullgroup2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nullgroup2.q.out b/ql/src/test/results/clientpositive/nullgroup2.q.out
index b01b510..60b6aef 100644
--- a/ql/src/test/results/clientpositive/nullgroup2.q.out
+++ b/ql/src/test/results/clientpositive/nullgroup2.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)
@@ -102,6 +103,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)
@@ -165,6 +167,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)
@@ -245,6 +248,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) > 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 9999.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nullgroup4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nullgroup4.q.out b/ql/src/test/results/clientpositive/nullgroup4.q.out
index debf297..6f36b03 100644
--- a/ql/src/test/results/clientpositive/nullgroup4.q.out
+++ b/ql/src/test/results/clientpositive/nullgroup4.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) = 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 9999.0D) (type: boolean)
@@ -103,6 +104,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) = 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 9999.0D) (type: boolean)
@@ -198,6 +200,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) = 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 9999.0D) (type: boolean)
@@ -279,6 +282,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) = 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 9999.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nullgroup4_multi_distinct.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nullgroup4_multi_distinct.q.out b/ql/src/test/results/clientpositive/nullgroup4_multi_distinct.q.out
index 416389c..8af2093 100644
--- a/ql/src/test/results/clientpositive/nullgroup4_multi_distinct.q.out
+++ b/ql/src/test/results/clientpositive/nullgroup4_multi_distinct.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) = 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 9999.0D) (type: boolean)
@@ -78,6 +79,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) = 9999.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 9999.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/nullgroup5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nullgroup5.q.out b/ql/src/test/results/clientpositive/nullgroup5.q.out
index 2f35740..99e0273 100644
--- a/ql/src/test/results/clientpositive/nullgroup5.q.out
+++ b/ql/src/test/results/clientpositive/nullgroup5.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (ds = '2009-04-05') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (ds = '2009-04-05') (type: boolean)
@@ -77,6 +78,7 @@ STAGE PLANS:
                         serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
           TableScan
             alias: y
+            filterExpr: (ds = '2009-04-09') (type: boolean)
             Statistics: Num rows: 120 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/orc_merge_incompat1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/orc_merge_incompat1.q.out b/ql/src/test/results/clientpositive/orc_merge_incompat1.q.out
index 6295714..e91b032 100644
--- a/ql/src/test/results/clientpositive/orc_merge_incompat1.q.out
+++ b/ql/src/test/results/clientpositive/orc_merge_incompat1.q.out
@@ -37,6 +37,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: orc_merge5_n3
+            filterExpr: (userid <= 13L) (type: boolean)
             Statistics: Num rows: 1 Data size: 2464020 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (userid <= 13L) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out b/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
index 3deb0b9..83e7da2 100644
--- a/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
+++ b/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
@@ -392,6 +392,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: nested_tbl_1_n0
+            filterExpr: (s1.f1 = false) (type: boolean)
             Pruned Column Paths: s1.f2, s1.f1
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -438,6 +439,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: nested_tbl_1_n0
+            filterExpr: (s1.f3.f4 = 4) (type: boolean)
             Pruned Column Paths: s1.f3.f5, s1.f3.f4
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -484,6 +486,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: nested_tbl_1_n0
+            filterExpr: ((s1.f2 = 'foo') and (size(s2.f8.f10) > 1) and s2.f8.f11['key1']) (type: boolean)
             Pruned Column Paths: s1.f2, s2.f8
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -931,6 +934,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -947,6 +951,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 1126 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
@@ -1025,6 +1030,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -1041,6 +1047,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: (s2.f8.f9 and s1.f6 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (s1.f6 is not null and s2.f8.f9) (type: boolean)
@@ -1115,6 +1122,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -1131,6 +1139,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: (s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null) (type: boolean)
             Pruned Column Paths: s1.f6, s2.f8.f9
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -1289,6 +1298,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: s1.f3.f4 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: s1.f3.f4 is not null (type: boolean)
@@ -1305,6 +1315,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
           TableScan
             alias: t2
+            filterExpr: s1.f6 is not null (type: boolean)
             Pruned Column Paths: s1.f6
             Statistics: Num rows: 1 Data size: 1125 Basic stats: COMPLETE Column stats: NONE
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/orc_ppd_str_conversion.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/orc_ppd_str_conversion.q.out b/ql/src/test/results/clientpositive/orc_ppd_str_conversion.q.out
index 88e372c..a057a27 100644
--- a/ql/src/test/results/clientpositive/orc_ppd_str_conversion.q.out
+++ b/ql/src/test/results/clientpositive/orc_ppd_str_conversion.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: text_test
+            filterExpr: (col2 = '1         ') (type: boolean)
             Statistics: Num rows: 1 Data size: 15 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (col2 = '1         ') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/orc_struct_type_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/orc_struct_type_vectorization.q.out b/ql/src/test/results/clientpositive/orc_struct_type_vectorization.q.out
index 66daa07..7691b5f 100644
--- a/ql/src/test/results/clientpositive/orc_struct_type_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/orc_struct_type_vectorization.q.out
@@ -207,6 +207,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: orc_struct_type
+            filterExpr: (st1.f1 > 500) (type: boolean)
             Pruned Column Paths: st1.f1
             Statistics: Num rows: 1023 Data size: 196416 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/outer_join_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/outer_join_ppr.q.out b/ql/src/test/results/clientpositive/outer_join_ppr.q.out
index f785f75..6aaf91c 100644
--- a/ql/src/test/results/clientpositive/outer_join_ppr.q.out
+++ b/ql/src/test/results/clientpositive/outer_join_ppr.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -47,6 +48,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -324,6 +326,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -345,6 +348,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/outer_reference_windowed.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/outer_reference_windowed.q.out b/ql/src/test/results/clientpositive/outer_reference_windowed.q.out
index 87cadb3..ece73a1 100644
--- a/ql/src/test/results/clientpositive/outer_reference_windowed.q.out
+++ b/ql/src/test/results/clientpositive/outer_reference_windowed.q.out
@@ -410,6 +410,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e011_01
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 12 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)
@@ -426,6 +427,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: decimal(15,2))
           TableScan
             alias: e011_03
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)
@@ -586,6 +588,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e011_01
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 12 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)
@@ -601,6 +604,7 @@ STAGE PLANS:
                   Statistics: Num rows: 4 Data size: 12 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: e011_03
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)
@@ -761,6 +765,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e011_01
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 12 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)
@@ -777,6 +782,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: decimal(15,2))
           TableScan
             alias: e011_03
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 4 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parallel_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parallel_join0.q.out b/ql/src/test/results/clientpositive/parallel_join0.q.out
index 3362b5e..003a990 100644
--- a/ql/src/test/results/clientpositive/parallel_join0.q.out
+++ b/ql/src/test/results/clientpositive/parallel_join0.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -40,6 +41,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -112,7 +114,7 @@ SELECT src1.key as k1, src1.value as v1,
   (SELECT * FROM src WHERE src.key < 10) src2
   SORT BY k1, v1, k2, v2
 POSTHOOK: type: QUERY
-{"STAGE DEPENDENCIES":{"Stage-1":{"ROOT STAGE":"TRUE"},"Stage-2":{"DEPENDENT STAGES":"Stage-1"},"Stage-0":{"DEPENDENT STAGES":"Stage-2"}},"STAGE PLANS":{"Stage-1":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_0","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_13","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_2","children":{"Reduce Output Operator":{"columnExprMap:":{"VALUE._col0":"_col0","VALUE._col1":"_col1"},"so
 rt order:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_6"}}}}}}}},{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_3","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_14","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_5","children":{"Reduce Output Operator":{"columnExprMap:":{"VALUE._col0":"_col0","VALUE._col1":"_col1"},"sort o
 rder:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_7"}}}}}}}}],"Reduce Operator Tree:":{"Join Operator":{"columnExprMap:":{"_col0":"0:VALUE._col0","_col1":"0:VALUE._col1","_col2":"1:VALUE._col0","_col3":"1:VALUE._col1"},"condition map:":[{"":"Inner Join 0 to 1"}],"keys:":{},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"JOIN_8","children":{"File Output Operator":{"compressed:":"false","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe"},"OperatorId:":"FS_15"}}}}}},"Stage-2":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"columns:":["_col0","_col1","_col2","_col3"],"Operato
 rId:":"TS_16","children":{"Reduce Output Operator":{"columnExprMap:":{"KEY.reducesinkkey0":"_col0","KEY.reducesinkkey1":"_col1","KEY.reducesinkkey2":"_col2","KEY.reducesinkkey3":"_col3"},"key expressions:":"_col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)","sort order:":"++++","Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"RS_10"}}}}],"Reduce Operator Tree:":{"Select Operator":{"expressions:":"KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey2 (type: string), KEY.reducesinkkey3 (type: string)","columnExprMap:":{"_col0":"KEY.reducesinkkey0","_col1":"KEY.reducesinkkey1","_col2":"KEY.reducesinkkey2","_col3":"KEY.reducesinkkey3"},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_11","children":{"File Output Operator":{"compressed:":"false","
 Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"},"OperatorId:":"FS_12"}}}}}},"Stage-0":{"Fetch Operator":{"limit:":"-1","Processor Tree:":{"ListSink":{"OperatorId:":"LIST_SINK_17"}}}}}}
+{"STAGE DEPENDENCIES":{"Stage-1":{"ROOT STAGE":"TRUE"},"Stage-2":{"DEPENDENT STAGES":"Stage-1"},"Stage-0":{"DEPENDENT STAGES":"Stage-2"}},"STAGE PLANS":{"Stage-1":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","filterExpr:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_0","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_13","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_2","children":{"Reduce Output Operator":{"columnExprMap:":{"VALU
 E._col0":"_col0","VALUE._col1":"_col1"},"sort order:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_6"}}}}}}}},{"TableScan":{"alias:":"src","columns:":["key","value"],"database:":"default","filterExpr:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE","table:":"src","isTempTable:":"false","OperatorId:":"TS_3","children":{"Filter Operator":{"predicate:":"(key < 10) (type: boolean)","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"FIL_14","children":{"Select Operator":{"expressions:":"key (type: string), value (type: string)","columnExprMap:":{"_col0":"key","_col1":"value"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"SEL_5","children":{"Reduce Ou
 tput Operator":{"columnExprMap:":{"VALUE._col0":"_col0","VALUE._col1":"_col1"},"sort order:":"","Statistics:":"Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE","value expressions:":"_col0 (type: string), _col1 (type: string)","OperatorId:":"RS_7"}}}}}}}}],"Reduce Operator Tree:":{"Join Operator":{"columnExprMap:":{"_col0":"0:VALUE._col0","_col1":"0:VALUE._col1","_col2":"1:VALUE._col0","_col3":"1:VALUE._col1"},"condition map:":[{"":"Inner Join 0 to 1"}],"keys:":{},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"JOIN_8","children":{"File Output Operator":{"compressed:":"false","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe"},"OperatorId:":"FS_15"}}}}}},"Stage-2":{"Map Reduce":{"Ma
 p Operator Tree:":[{"TableScan":{"columns:":["_col0","_col1","_col2","_col3"],"OperatorId:":"TS_16","children":{"Reduce Output Operator":{"columnExprMap:":{"KEY.reducesinkkey0":"_col0","KEY.reducesinkkey1":"_col1","KEY.reducesinkkey2":"_col2","KEY.reducesinkkey3":"_col3"},"key expressions:":"_col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string)","sort order:":"++++","Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","OperatorId:":"RS_10"}}}}],"Reduce Operator Tree:":{"Select Operator":{"expressions:":"KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey2 (type: string), KEY.reducesinkkey3 (type: string)","columnExprMap:":{"_col0":"KEY.reducesinkkey0","_col1":"KEY.reducesinkkey1","_col2":"KEY.reducesinkkey2","_col3":"KEY.reducesinkkey3"},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NO
 NE","OperatorId:":"SEL_11","children":{"File Output Operator":{"compressed:":"false","Statistics:":"Num rows: 27556 Data size: 612872 Basic stats: COMPLETE Column stats: NONE","table:":{"input format:":"org.apache.hadoop.mapred.SequenceFileInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"},"OperatorId:":"FS_12"}}}}}},"Stage-0":{"Fetch Operator":{"limit:":"-1","Processor Tree:":{"ListSink":{"OperatorId:":"LIST_SINK_17"}}}}}}
 Warning: Shuffle Join JOIN[8][tables = [src1, src2]] in Stage 'Stage-1:MAPRED' is a cross product
 PREHOOK: query: SELECT src1.key as k1, src1.value as v1, 
        src2.key as k2, src2.value as v2 FROM 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parallel_join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parallel_join1.q.out b/ql/src/test/results/clientpositive/parallel_join1.q.out
index d344f69..c154113 100644
--- a/ql/src/test/results/clientpositive/parallel_join1.q.out
+++ b/ql/src/test/results/clientpositive/parallel_join1.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -41,6 +42,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_complex_types_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_complex_types_vectorization.q.out b/ql/src/test/results/clientpositive/parquet_complex_types_vectorization.q.out
index 03488a1..29e296b 100644
--- a/ql/src/test/results/clientpositive/parquet_complex_types_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/parquet_complex_types_vectorization.q.out
@@ -184,6 +184,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: parquet_complex_types
+            filterExpr: (l1[0] > 1000) (type: boolean)
             Statistics: Num rows: 1023 Data size: 5115 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -456,6 +457,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: parquet_complex_types
+            filterExpr: (l1[0] > 1000) (type: boolean)
             Statistics: Num rows: 1024 Data size: 5120 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -728,6 +730,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: parquet_complex_types
+            filterExpr: (l1[0] > 1000) (type: boolean)
             Statistics: Num rows: 1025 Data size: 5125 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_join.q.out b/ql/src/test/results/clientpositive/parquet_join.q.out
index 3b6417f..f674411 100644
--- a/ql/src/test/results/clientpositive/parquet_join.q.out
+++ b/ql/src/test/results/clientpositive/parquet_join.q.out
@@ -75,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -90,6 +91,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2 Data size: 4 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -163,6 +165,7 @@ STAGE PLANS:
         $hdt$_0:p1 
           TableScan
             alias: p1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 4 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -181,6 +184,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -280,6 +284,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_map_type_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_map_type_vectorization.q.out b/ql/src/test/results/clientpositive/parquet_map_type_vectorization.q.out
index 289909d..49cf3a2 100644
--- a/ql/src/test/results/clientpositive/parquet_map_type_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/parquet_map_type_vectorization.q.out
@@ -200,6 +200,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: parquet_map_type
+            filterExpr: (stringmap['k1'] like 'v100%') (type: boolean)
             Statistics: Num rows: 1023 Data size: 7161 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_struct_type_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_struct_type_vectorization.q.out b/ql/src/test/results/clientpositive/parquet_struct_type_vectorization.q.out
index ed9bb09..e516895 100644
--- a/ql/src/test/results/clientpositive/parquet_struct_type_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/parquet_struct_type_vectorization.q.out
@@ -207,6 +207,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: parquet_struct_type
+            filterExpr: (st1.f1 > 500) (type: boolean)
             Pruned Column Paths: st1.f1
             Statistics: Num rows: 1023 Data size: 3069 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
index 0509c77..f8aee50 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
@@ -1531,6 +1531,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and (UDFToInteger(ctinyint) = 3569))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -1694,6 +1695,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -30499,6 +30501,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((cint = 49) and (cfloat = 3.5)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 45) and (cfloat = 3.02))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -30612,6 +30615,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (struct(cint,cfloat)) IN (const struct(49,3.5), const struct(47,2.09), const struct(45,3.02)) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -30724,6 +30728,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((cint = 49) or (cfloat = 3.5)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 45) or (cfloat = 3.02))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -30836,6 +30841,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (cstring1) IN ('biology', 'history', 'topology') (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out
index afada38..b72982c 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or (cboolean1 < 0)) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_10.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_10.q.out
index 0d7af99..bc92af4 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_10.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_10.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 <= '10') or ((UDFToDouble(ctinyint) > cdouble) and (CAST( ctinyint AS decimal(6,2)) <= -5638.15)) or ((cdouble > 6981.0D) and ((CAST( csmallint AS decimal(11,4)) = 9763215.5639) or (cstring1 like '%a')))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out
index 86d0a4e..5048ad7 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out
index c284977..83ca333 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out
@@ -77,6 +77,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (ctimestamp1 is null and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint))))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_13.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_13.q.out
index 6dd6e3f..3c3f1a9 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_13.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_13.q.out
@@ -79,6 +79,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((cfloat < 3569) and (cdouble <= 10.175D) and (cboolean1 <> 1)) or ((UDFToDouble(ctimestamp1) > 11.0D) and (UDFToDouble(ctimestamp2) <> 12.0D) and (CAST( ctinyint AS decimal(11,4)) < 9763215.5639))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -410,6 +411,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((cfloat < 3569) and (cdouble <= 10.175D) and (cboolean1 <> 1)) or ((UDFToDouble(ctimestamp1) > -1.388D) and (UDFToDouble(ctimestamp2) <> -1.3359999999999999D) and (CAST( ctinyint AS decimal(11,4)) < 9763215.5639))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out
index c501fab..1eab962 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out
@@ -79,6 +79,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((UDFToLong(ctinyint) <= cbigint) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint)))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out
index 39057d6..2d306cf 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out
@@ -75,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 like '%ss%') or (cstring1 like '10%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_16.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_16.q.out
index cf06c91..fa31790 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_16.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_16.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 like '%b%') and ((cdouble >= -1.389D) or (cstring1 < 'a'))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out
index 4564925..9fa2d72 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cbigint > -23L) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
index 131797d..cb984bc 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15)) or ((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359)))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
index f98dea6..c7672a3 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
@@ -63,6 +63,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: (((UDFToFloat(cint) <= cfloat) and (CAST( cbigint AS decimal(22,3)) <> 79.553) and (UDFToDouble(ctimestamp2) = -29071.0D)) or ((UDFToDouble(cbigint) > cdouble) and (CAST( csmallint AS decimal(8,3)) >= 79.553) and (ctimestamp1 > ctimestamp2))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out
index 973e2bd..998fdb3 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((UDFToInteger(csmallint) >= cint) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D)))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_5.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
index e20dcbf..4e490ad 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
index 39cab25..fa649b2 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257))))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out
index e33e701..b0b0d46 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= 0.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -15.0D) and (cdouble <= 3569.0D)))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -287,6 +288,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= 0.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > 7.6850000000000005D) and (cdouble <= 3569.0D)))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
index 0c72e0c..38c59bd 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D)) or (cfloat < -6432) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -270,6 +271,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D)) or (cfloat < -6432) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_9.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_9.q.out
index cf06c91..fa31790 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_9.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_9.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cstring2 like '%b%') and ((cdouble >= -1.389D) or (cstring1 < 'a'))) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_decimal_date.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_decimal_date.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_decimal_date.q.out
index 485bfe7..5bd7579 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_decimal_date.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_decimal_date.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: date_decimal_test_parquet
+            filterExpr: (cint is not null and cdouble is not null) (type: boolean)
             Statistics: Num rows: 12288 Data size: 49152 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
index e3aec1e..1baa650 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
@@ -193,6 +193,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cbigint > 0L) and (cbigint < 100000000L)) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -391,6 +392,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((cdouble >= -500.0D) and (cdouble < -199.0D)) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out
index 8a81b34..dc9f663 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true
@@ -597,6 +599,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out
index 408e650..9455b94 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean)
@@ -84,6 +85,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesparquet
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
             TableScan Vectorization:
                 native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/partition_boolexpr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/partition_boolexpr.q.out b/ql/src/test/results/clientpositive/partition_boolexpr.q.out
index 7711ced..ddc94d8 100644
--- a/ql/src/test/results/clientpositive/partition_boolexpr.q.out
+++ b/ql/src/test/results/clientpositive/partition_boolexpr.q.out
@@ -193,6 +193,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: INPUT__FILE__NAME is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: INPUT__FILE__NAME is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/partition_condition_remover.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/partition_condition_remover.q.out b/ql/src/test/results/clientpositive/partition_condition_remover.q.out
index 4ab2f07..f1dc9a0 100644
--- a/ql/src/test/results/clientpositive/partition_condition_remover.q.out
+++ b/ql/src/test/results/clientpositive/partition_condition_remover.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: foo_n5
+          filterExpr: (s <> 'bar') (type: boolean)
           Statistics: Num rows: 10 Data size: 90 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: i (type: int), s (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/partition_wise_fileformat2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/partition_wise_fileformat2.q.out b/ql/src/test/results/clientpositive/partition_wise_fileformat2.q.out
index 58bebce..9c37c90 100644
--- a/ql/src/test/results/clientpositive/partition_wise_fileformat2.q.out
+++ b/ql/src/test/results/clientpositive/partition_wise_fileformat2.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partition_test_partitioned
+          filterExpr: ((UDFToDouble(dt) >= 100.0D) and (UDFToDouble(dt) <= 102.0D)) (type: boolean)
           Statistics: Num rows: 75 Data size: 548 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((UDFToDouble(dt) <= 102.0D) and (UDFToDouble(dt) >= 100.0D)) (type: boolean)
@@ -179,6 +180,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partition_test_partitioned
+          filterExpr: ((UDFToDouble(dt) >= 100.0D) and (UDFToDouble(dt) <= 102.0D)) (type: boolean)
           Statistics: Num rows: 75 Data size: 548 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((UDFToDouble(dt) <= 102.0D) and (UDFToDouble(dt) >= 100.0D)) (type: boolean)


[57/58] [abbrv] hive git commit: HIVE-19416 : merge master into branch (Sergey Shelukhin)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/61c55a3f/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/hive/blob/61c55a3f/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
----------------------------------------------------------------------


[24/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/pcr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/pcr.q.out b/ql/src/test/results/clientpositive/pcr.q.out
index e30f6d1..1f2a27e 100644
--- a/ql/src/test/results/clientpositive/pcr.q.out
+++ b/ql/src/test/results/clientpositive/pcr.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: ((ds <= '2000-04-09') and (key < 5)) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -254,6 +255,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: ((ds <= '2000-04-09') or (key < 5)) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -532,6 +534,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: ((key < 5) and (value <> 'val_2')) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -726,6 +729,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: (((ds < '2000-04-09') and (key < 5)) or ((ds > '2000-04-09') and (value = 'val_5'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -922,6 +926,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: (((ds < '2000-04-10') and (key < 5)) or ((ds > '2000-04-08') and (value = 'val_5'))) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1177,6 +1182,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: (((ds < '2000-04-10') or (key < 5)) and ((ds > '2000-04-08') or (value = 'val_5'))) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1440,6 +1446,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: (((ds = '2000-04-08') or (ds = '2000-04-09')) and (key = 14)) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1621,6 +1628,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: ((ds = '2000-04-08') or (ds = '2000-04-09')) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -1838,6 +1846,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: ((ds >= '2000-04-08') or (ds < '2000-04-10')) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -2126,6 +2135,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: (((ds = '2000-04-08') and (key = 1)) or ((ds = '2000-04-09') and (key = 2))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -2309,6 +2319,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: ((ds = '2000-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -2330,6 +2341,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: t2
+            filterExpr: ((ds = '2000-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -2574,6 +2586,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: ((ds = '2000-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -2595,6 +2608,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: t2
+            filterExpr: ((ds = '2000-04-09') and key is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -2899,6 +2913,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: (((ds > '2000-04-08') and (ds < '2000-04-11')) or (key = 2)) (type: boolean)
             Statistics: Num rows: 80 Data size: 640 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -3224,6 +3239,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcr_t1
+            filterExpr: ((ds > '2000-04-08') or ((ds <= '2000-04-09') and (key = 2))) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -4709,6 +4725,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -4840,6 +4857,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((ds = '2008-04-08') and ((hr = '11') or (hr = '12')) and (UDFToDouble(key) = 11.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -5026,6 +5044,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((hr = '11') and (UDFToDouble(key) = 11.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -5440,6 +5459,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: (11.0D = 11.0D) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string)
@@ -5461,6 +5481,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: (11.0D = 11.0D) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string)
@@ -5482,6 +5503,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: srcpart
+          filterExpr: (11.0D = 11.0D) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/pcs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/pcs.q.out b/ql/src/test/results/clientpositive/pcs.q.out
index 872fb27..c8819cc 100644
--- a/ql/src/test/results/clientpositive/pcs.q.out
+++ b/ql/src/test/results/clientpositive/pcs.q.out
@@ -100,6 +100,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: ((struct(key,ds)) IN (const struct(1,'2000-04-08'), const struct(2,'2000-04-09')) and (struct(ds)) IN (struct('2000-04-08'), struct('2000-04-09'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -282,6 +283,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: ((struct(ds,key)) IN (const struct('2000-04-08',1), const struct('2000-04-09',2)) and (struct(ds)) IN (struct('2000-04-08'), struct('2000-04-09'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -451,6 +453,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: ((struct(ds,(key + 2))) IN (const struct('2000-04-08',3), const struct('2000-04-09',4)) and (struct(ds)) IN (struct('2000-04-08'), struct('2000-04-09'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -620,6 +623,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((struct(ds)) IN (const struct('2000-04-08'), const struct('2000-04-09')) and (struct(ds)) IN (const struct('2000-04-09'), const struct('2000-04-08'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Reduce Output Operator
@@ -633,6 +637,7 @@ STAGE PLANS:
               auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((struct(ds)) IN (const struct('2000-04-09'), const struct('2000-04-08')) and (struct(ds)) IN (const struct('2000-04-08'), const struct('2000-04-09'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Reduce Output Operator
@@ -819,6 +824,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: ((struct(ds,(key + key))) IN (const struct('2000-04-08',1), const struct('2000-04-09',2)) and (struct(ds)) IN (const struct('2000-04-08'), const struct('2000-04-09'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -989,6 +995,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: ((struct(ds,key)) IN (const struct('2000-04-08',1), const struct('2000-04-09',2)) and (struct(ds)) IN (const struct('2000-04-08'), const struct('2000-04-09'))) (type: boolean)
             Statistics: Num rows: 40 Data size: 320 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (struct(ds,key)) IN (const struct('2000-04-08',1), const struct('2000-04-09',2)) (type: boolean)
@@ -1086,6 +1093,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((struct(ds,key)) IN (const struct('2000-04-08',1), const struct('2000-04-09',2)) and (struct(ds)) IN (const struct('2000-04-08'), const struct('2000-04-09')) and (ds = '2008-04-08')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1111,6 +1119,7 @@ STAGE PLANS:
                       auto parallelism: false
           TableScan
             alias: y
+            filterExpr: ((struct(ds,key)) IN (const struct('2000-04-08',1), const struct('2000-04-09',2)) and (struct(ds)) IN (const struct('2000-04-08'), const struct('2000-04-09')) and (ds = '2008-04-08')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1250,6 +1259,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: pcs_t1
+          filterExpr: (const struct(10)) IN (const struct(10), const struct(11)) (type: boolean)
           Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Filter Operator
@@ -1461,6 +1471,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: (struct(((ds = '2000-04-08') or (key = 2)),key)) IN (const struct(true,2), const struct(false,3)) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1682,6 +1693,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: pcs_t1
+            filterExpr: ((key = 3) or ((struct(((ds = '2000-04-08') or (key = 2)),key)) IN (const struct(true,2), const struct(false,3)) and ((key + 5) > 0))) (type: boolean)
             Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query1.q.out b/ql/src/test/results/clientpositive/perf/spark/query1.q.out
index 2a9dbed..19f24ba 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query1.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query1.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_state = 'NM') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_state = 'NM') and s_store_sk is not null) (type: boolean)
@@ -92,6 +93,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_returned_date_sk is not null and sr_store_sk is not null and sr_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)
@@ -111,6 +113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)
@@ -130,6 +133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -148,6 +152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -166,6 +171,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query10.q.out b/ql/src/test/results/clientpositive/perf/spark/query10.q.out
index cb10ba0..45dfc53 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query10.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query10.q.out
@@ -130,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_moy BETWEEN 4 AND 7 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null and d_moy BETWEEN 4 AND 7) (type: boolean)
@@ -154,6 +155,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_moy BETWEEN 4 AND 7 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null and d_moy BETWEEN 4 AND 7) (type: boolean)
@@ -178,6 +180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_moy BETWEEN 4 AND 7 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null and d_moy BETWEEN 4 AND 7) (type: boolean)
@@ -210,6 +213,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -229,6 +233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -264,6 +269,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_ship_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_ship_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -299,6 +305,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ca
+                  filterExpr: ((ca_county) IN ('Walker County', 'Richland County', 'Gaines County', 'Douglas County', 'Dona Ana County') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_county) IN ('Walker County', 'Richland County', 'Gaines County', 'Douglas County', 'Dona Ana County') and ca_address_sk is not null) (type: boolean)
@@ -317,6 +324,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: cd_demo_sk is not null (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cd_demo_sk is not null (type: boolean)
@@ -336,6 +344,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query11.q.out b/ql/src/test/results/clientpositive/perf/spark/query11.q.out
index e442117..f0e8732 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query11.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query11.q.out
@@ -174,6 +174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -193,6 +194,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -211,6 +213,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -230,6 +233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -249,6 +253,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -267,6 +272,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -286,6 +292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -305,6 +312,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -323,6 +331,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -342,6 +351,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -360,6 +370,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -379,6 +390,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query12.q.out b/ql/src/test/results/clientpositive/perf/spark/query12.q.out
index 0a0663e..fc11abc 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query12.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query12.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -105,6 +106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -136,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query13.q.out b/ql/src/test/results/clientpositive/perf/spark/query13.q.out
index f864a04..fb2a061 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query13.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query13.q.out
@@ -113,6 +113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (((hd_dep_count = 3) or (hd_dep_count = 1)) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((hd_dep_count = 3) or (hd_dep_count = 1)) and hd_demo_sk is not null) (type: boolean)
@@ -137,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -166,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: (((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and ((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null) (type: boolean)
@@ -185,6 +188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ((ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_net_profit BETWEEN 100 AND 200 or ss_net_profit BETWEEN 150 AND 300 or ss_net_profit BETWEEN 50 AND 250) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_net_profit BETWEEN 100 AND 200 or ss_net_profit BETWEEN 150 AND 300 or ss_net_profit BETWEEN 50 AND 250) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -216,6 +220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -234,6 +239,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_country = 'United States') and (ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and ca_address_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query15.q.out b/ql/src/test/results/clientpositive/perf/spark/query15.q.out
index 3c8bee5..3d6fbda 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query15.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query15.q.out
@@ -55,6 +55,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -93,6 +95,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -112,6 +115,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query16.q.out b/ql/src/test/results/clientpositive/perf/spark/query16.q.out
index 96a28a4..27b675d 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query16.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query16.q.out
@@ -73,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: call_center
+                  filterExpr: ((cc_county) IN ('Ziebach County', 'Levy County', 'Huron County', 'Franklin Parish', 'Daviess County') and cc_call_center_sk is not null) (type: boolean)
                   Statistics: Num rows: 60 Data size: 122700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cc_county) IN ('Ziebach County', 'Levy County', 'Huron County', 'Franklin Parish', 'Daviess County') and cc_call_center_sk is not null) (type: boolean)
@@ -97,6 +98,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-04-01 00:00:00.0' AND TIMESTAMP'2001-05-31 01:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-04-01 00:00:00.0' AND TIMESTAMP'2001-05-31 01:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -129,6 +131,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cs1
+                  filterExpr: (cs_ship_date_sk is not null and cs_ship_addr_sk is not null and cs_call_center_sk is not null and cs_order_number is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_call_center_sk is not null and cs_order_number is not null and cs_ship_addr_sk is not null and cs_ship_date_sk is not null) (type: boolean)
@@ -160,6 +163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cs2
+                  filterExpr: (cs_order_number is not null and cs_warehouse_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_order_number is not null and cs_warehouse_sk is not null) (type: boolean)
@@ -184,6 +188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cr1
+                  filterExpr: cr_order_number is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_order_number is not null (type: boolean)
@@ -203,6 +208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state = 'NY') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state = 'NY') and ca_address_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query17.q.out b/ql/src/test/results/clientpositive/perf/spark/query17.q.out
index 088ccfb..23f1e85 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query17.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query17.q.out
@@ -100,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -133,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_item_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) (type: boolean)
@@ -152,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d3
+                  filterExpr: ((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) (type: boolean)
@@ -170,6 +173,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_customer_sk is not null and sr_item_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -189,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: ((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null) (type: boolean)
@@ -207,6 +212,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: ((d_quarter_name = '2000Q1') and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_quarter_name = '2000Q1') and d_date_sk is not null) (type: boolean)
@@ -225,6 +231,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -244,6 +251,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query18.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query18.q.out b/ql/src/test/results/clientpositive/perf/spark/query18.q.out
index e8f09f7..f8bec59 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query18.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query18.q.out
@@ -86,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: ((c_birth_month) IN (9, 5, 12, 4, 1, 10) and c_customer_sk is not null and c_current_cdemo_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((c_birth_month) IN (9, 5, 12, 4, 1, 10) and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -105,6 +106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -123,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd1
+                  filterExpr: ((cd_gender = 'M') and (cd_education_status = 'College') and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cd_education_status = 'College') and (cd_gender = 'M') and cd_demo_sk is not null) (type: boolean)
@@ -142,6 +145,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -161,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state) IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state) IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') and ca_address_sk is not null) (type: boolean)
@@ -180,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd2
+                  filterExpr: cd_demo_sk is not null (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cd_demo_sk is not null (type: boolean)
@@ -198,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_cdemo_sk is not null and cs_bill_customer_sk is not null and cs_sold_date_sk is not null and cs_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_cdemo_sk is not null and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query19.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query19.q.out b/ql/src/test/results/clientpositive/perf/spark/query19.q.out
index fdb1710..d2994e6 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query19.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query19.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -110,6 +112,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_moy = 11) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 11) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -128,6 +131,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manager_id = 7) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manager_id = 7) and i_item_sk is not null) (type: boolean)
@@ -147,6 +151,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -166,6 +171,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null and ss_customer_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query2.q.out b/ql/src/test/results/clientpositive/perf/spark/query2.q.out
index 1613add..105f2ee 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query2.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query2.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: ws_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_sold_date_sk is not null (type: boolean)
@@ -157,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: ws_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_sold_date_sk is not null (type: boolean)
@@ -176,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: cs_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cs_sold_date_sk is not null (type: boolean)
@@ -195,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
@@ -214,6 +218,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_week_seq is not null) (type: boolean)
@@ -232,6 +237,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: cs_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cs_sold_date_sk is not null (type: boolean)
@@ -251,6 +257,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
@@ -270,6 +277,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_week_seq is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query20.q.out b/ql/src/test/results/clientpositive/perf/spark/query20.q.out
index 0544df9..3c917c8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query20.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query20.q.out
@@ -68,6 +68,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -97,6 +98,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -128,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query21.q.out b/ql/src/test/results/clientpositive/perf/spark/query21.q.out
index e6db04e..e59b229 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query21.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query21.q.out
@@ -71,6 +71,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -95,6 +96,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -123,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_warehouse_sk is not null and inv_item_sk is not null and inv_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean)
@@ -154,6 +157,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query22.q.out b/ql/src/test/results/clientpositive/perf/spark/query22.q.out
index 87ee7cd..2a99cc3 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query22.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query22.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -73,6 +74,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -101,6 +103,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean)
@@ -142,6 +145,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query23.q.out b/ql/src/test/results/clientpositive/perf/spark/query23.q.out
index 54f2b65..08b0f93 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query23.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query23.q.out
@@ -126,6 +126,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -145,6 +146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -163,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -181,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -200,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -218,6 +223,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -420,6 +426,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -439,6 +446,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -457,6 +465,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -475,6 +484,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -494,6 +504,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -512,6 +523,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -719,6 +731,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -738,6 +751,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -757,6 +771,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -776,6 +791,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_customer_sk is not null (type: boolean)
@@ -795,6 +811,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -813,6 +830,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -832,6 +850,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 1) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 1) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -850,6 +869,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query24.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query24.q.out b/ql/src/test/results/clientpositive/perf/spark/query24.q.out
index e11b7a8..a34d3e8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query24.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query24.q.out
@@ -113,6 +113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_market_id = 7) and s_store_sk is not null and s_zip is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_market_id = 7) and s_store_sk is not null and s_zip is not null) (type: boolean)
@@ -144,6 +145,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_ticket_number is not null and ss_item_sk is not null and ss_store_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) (type: boolean)
@@ -175,6 +177,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_birth_country is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_birth_country is not null and c_customer_sk is not null) (type: boolean)
@@ -194,6 +197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -213,6 +217,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_ticket_number is not null and sr_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_item_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -231,6 +236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (upper(ca_country) is not null and ca_zip is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_zip is not null and upper(ca_country) is not null) (type: boolean)
@@ -365,6 +371,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_market_id = 7) and s_store_sk is not null and s_zip is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_market_id = 7) and s_store_sk is not null and s_zip is not null) (type: boolean)
@@ -395,6 +402,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_ticket_number is not null and ss_item_sk is not null and ss_store_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) (type: boolean)
@@ -414,6 +422,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_ticket_number is not null and sr_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_item_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -432,6 +441,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (upper(ca_country) is not null and ca_zip is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_zip is not null and upper(ca_country) is not null) (type: boolean)
@@ -451,6 +461,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_color = 'orchid') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_color = 'orchid') and i_item_sk is not null) (type: boolean)
@@ -470,6 +481,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_birth_country is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_birth_country is not null and c_customer_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query25.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query25.q.out b/ql/src/test/results/clientpositive/perf/spark/query25.q.out
index 21a043b..3d7f402 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query25.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query25.q.out
@@ -108,6 +108,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -132,6 +133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d3
+                  filterExpr: (d_moy BETWEEN 4 AND 10 and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10) (type: boolean)
@@ -156,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: (d_moy BETWEEN 4 AND 10 and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10) (type: boolean)
@@ -187,6 +190,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_item_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) (type: boolean)
@@ -206,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_customer_sk is not null and sr_item_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -237,6 +242,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -256,6 +262,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: ((d_moy = 4) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 4) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -274,6 +281,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query26.q.out b/ql/src/test/results/clientpositive/perf/spark/query26.q.out
index e78e20b..17bbc6a 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query26.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query26.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: promotion
+                  filterExpr: (((p_channel_email = 'N') or (p_channel_event = 'N')) and p_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 2300 Data size: 2713420 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((p_channel_email = 'N') or (p_channel_event = 'N')) and p_promo_sk is not null) (type: boolean)
@@ -82,6 +83,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_cdemo_sk is not null and cs_sold_date_sk is not null and cs_item_sk is not null and cs_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_cdemo_sk is not null and cs_item_sk is not null and cs_promo_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -101,6 +103,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: ((cd_gender = 'F') and (cd_marital_status = 'W') and (cd_education_status = 'Primary') and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cd_education_status = 'Primary') and (cd_gender = 'F') and (cd_marital_status = 'W') and cd_demo_sk is not null) (type: boolean)
@@ -138,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)


[03/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query56.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query56.q.out b/ql/src/test/results/clientpositive/perf/tez/query56.q.out
index 13657a8..0d8ac48 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query56.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query56.q.out
@@ -135,213 +135,324 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 2 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 13 <- Map 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 16 <- Map 22 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
-Reducer 19 <- Map 22 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE)
-Reducer 20 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 21 <- Map 22 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 17 <- Reducer 21 (BROADCAST_EDGE), Reducer 29 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Map 32 <- Reducer 11 (BROADCAST_EDGE), Reducer 24 (BROADCAST_EDGE), Reducer 30 (BROADCAST_EDGE)
+Map 33 <- Reducer 14 (BROADCAST_EDGE), Reducer 27 (BROADCAST_EDGE), Reducer 31 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 11 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Reducer 2 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE)
+Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 14 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE)
+Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
+Reducer 19 <- Map 28 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 16 (ONE_TO_ONE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 22 <- Map 20 (SIMPLE_EDGE), Map 32 (SIMPLE_EDGE)
+Reducer 23 <- Map 28 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 20 (SIMPLE_EDGE), Map 33 (SIMPLE_EDGE)
+Reducer 26 <- Map 28 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 19 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 28 (CUSTOM_SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 6 <- Union 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 19 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 8 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 2 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_226]
-        Limit [LIM_225] (rows=100 width=108)
+      File Output Operator [FS_370]
+        Limit [LIM_369] (rows=100 width=108)
           Number of rows:100
-          Select Operator [SEL_224] (rows=335408073 width=108)
+          Select Operator [SEL_368] (rows=335408073 width=108)
             Output:["_col0","_col1"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_223]
-              Group By Operator [GBY_222] (rows=335408073 width=108)
+            SHUFFLE [RS_367]
+              Group By Operator [GBY_366] (rows=335408073 width=108)
                 Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
               <-Union 5 [SIMPLE_EDGE]
-                <-Reducer 11 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_238]
+                <-Reducer 10 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_382]
                     PartitionCols:_col0
-                    Group By Operator [GBY_237] (rows=670816147 width=108)
+                    Group By Operator [GBY_381] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_236] (rows=95833781 width=135)
+                      Group By Operator [GBY_380] (rows=191657247 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 10 [SIMPLE_EDGE]
-                        SHUFFLE [RS_109]
+                      <-Reducer 9 [SIMPLE_EDGE]
+                        SHUFFLE [RS_71]
                           PartitionCols:_col0
-                          Group By Operator [GBY_108] (rows=191667562 width=135)
+                          Group By Operator [GBY_70] (rows=383314495 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_184] (rows=191667562 width=135)
-                              Conds:RS_104._col0=RS_105._col3(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_303] (rows=383314495 width=135)
+                              Conds:RS_66._col0=RS_67._col4(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_104]
+                              SHUFFLE [RS_66]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_173] (rows=508200 width=1436)
-                                  Conds:RS_199._col1=RS_205._col0(Inner),Output:["_col0","_col1"]
+                                Merge Join Operator [MERGEJOIN_293] (rows=508200 width=1436)
+                                  Conds:RS_319._col1=RS_325._col0(Inner),Output:["_col0","_col1"]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_199]
+                                  SHUFFLE [RS_319]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_198] (rows=462000 width=1436)
+                                    Select Operator [SEL_318] (rows=462000 width=1436)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_197] (rows=462000 width=1436)
+                                      Filter Operator [FIL_317] (rows=462000 width=1436)
                                         predicate:(i_item_id is not null and i_item_sk is not null)
                                         TableScan [TS_0] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
-                                <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
-                                  FORWARD [RS_205]
+                                <-Reducer 16 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_325]
                                     PartitionCols:_col0
-                                    Group By Operator [GBY_204] (rows=115500 width=1436)
+                                    Group By Operator [GBY_324] (rows=115500 width=1436)
                                       Output:["_col0"],keys:KEY._col0
-                                    <-Map 12 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_203]
+                                    <-Map 15 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_323]
                                         PartitionCols:_col0
-                                        Group By Operator [GBY_202] (rows=231000 width=1436)
+                                        Group By Operator [GBY_322] (rows=231000 width=1436)
                                           Output:["_col0"],keys:i_item_id
-                                          Select Operator [SEL_201] (rows=231000 width=1436)
+                                          Select Operator [SEL_321] (rows=231000 width=1436)
                                             Output:["i_item_id"]
-                                            Filter Operator [FIL_200] (rows=231000 width=1436)
+                                            Filter Operator [FIL_320] (rows=231000 width=1436)
                                               predicate:((i_color) IN ('orchid', 'chiffon', 'lace') and i_item_id is not null)
                                               TableScan [TS_3] (rows=462000 width=1436)
                                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_id","i_color"]
-                            <-Reducer 21 [SIMPLE_EDGE]
-                              SHUFFLE [RS_105]
-                                PartitionCols:_col3
-                                Select Operator [SEL_100] (rows=174243235 width=135)
-                                  Output:["_col3","_col5"]
-                                  Merge Join Operator [MERGEJOIN_181] (rows=174243235 width=135)
-                                    Conds:RS_97._col2=RS_218._col0(Inner),Output:["_col1","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_218]
+                            <-Reducer 23 [SIMPLE_EDGE]
+                              SHUFFLE [RS_67]
+                                PartitionCols:_col4
+                                Select Operator [SEL_62] (rows=348467716 width=135)
+                                  Output:["_col4","_col5"]
+                                  Merge Join Operator [MERGEJOIN_298] (rows=348467716 width=135)
+                                    Conds:RS_59._col1=RS_346._col0(Inner),Output:["_col2","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_346]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_215] (rows=20000000 width=1014)
+                                      Select Operator [SEL_343] (rows=20000000 width=1014)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_214] (rows=20000000 width=1014)
+                                        Filter Operator [FIL_342] (rows=20000000 width=1014)
                                           predicate:((ca_gmt_offset = -8) and ca_address_sk is not null)
                                           TableScan [TS_16] (rows=40000000 width=1014)
                                             default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_gmt_offset"]
-                                  <-Reducer 20 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_97]
-                                      PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_180] (rows=158402938 width=135)
-                                        Conds:RS_235._col0=RS_213._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_213]
+                                  <-Reducer 22 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_59]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_297] (rows=316788826 width=135)
+                                        Conds:RS_379._col0=RS_330._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_330]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_210] (rows=18262 width=1119)
+                                          Select Operator [SEL_327] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_209] (rows=18262 width=1119)
+                                            Filter Operator [FIL_326] (rows=18262 width=1119)
                                               predicate:((d_moy = 1) and (d_year = 2000) and d_date_sk is not null)
                                               TableScan [TS_13] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                      <-Map 24 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_235]
+                                      <-Map 32 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_379]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_234] (rows=144002668 width=135)
+                                          Select Operator [SEL_378] (rows=287989836 width=135)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_233] (rows=144002668 width=135)
-                                              predicate:(ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_85] (rows=144002668 width=135)
-                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
-                <-Reducer 4 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_221]
+                                            Filter Operator [FIL_377] (rows=287989836 width=135)
+                                              predicate:((cs_bill_addr_sk BETWEEN DynamicValue(RS_60_customer_address_ca_address_sk_min) AND DynamicValue(RS_60_customer_address_ca_address_sk_max) and in_bloom_filter(cs_bill_addr_sk, DynamicValue(RS_60_customer_address_ca_address_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_66_item_i_item_sk_min) AND DynamicValue(RS_66_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_66_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                              TableScan [TS_47] (rows=287989836 width=135)
+                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_376]
+                                                  Group By Operator [GBY_375] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_240]
+                                                      Group By Operator [GBY_239] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_238] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                                              <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_372]
+                                                  Group By Operator [GBY_371] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_338]
+                                                      Group By Operator [GBY_335] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_331] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 30 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_374]
+                                                  Group By Operator [GBY_373] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_354]
+                                                      Group By Operator [GBY_351] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_347] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                <-Reducer 13 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_394]
                     PartitionCols:_col0
-                    Group By Operator [GBY_220] (rows=670816147 width=108)
+                    Group By Operator [GBY_393] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_219] (rows=383325119 width=88)
+                      Group By Operator [GBY_392] (rows=95833781 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        SHUFFLE [RS_34]
+                      <-Reducer 12 [SIMPLE_EDGE]
+                        SHUFFLE [RS_109]
                           PartitionCols:_col0
-                          Group By Operator [GBY_33] (rows=766650239 width=88)
+                          Group By Operator [GBY_108] (rows=191667562 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_182] (rows=766650239 width=88)
-                              Conds:RS_29._col0=RS_30._col3(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_304] (rows=191667562 width=135)
+                              Conds:RS_104._col0=RS_105._col3(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_29]
+                              SHUFFLE [RS_104]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_173]
-                            <-Reducer 16 [SIMPLE_EDGE]
-                              SHUFFLE [RS_30]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                            <-Reducer 26 [SIMPLE_EDGE]
+                              SHUFFLE [RS_105]
                                 PartitionCols:_col3
-                                Select Operator [SEL_25] (rows=696954748 width=88)
+                                Select Operator [SEL_100] (rows=174243235 width=135)
                                   Output:["_col3","_col5"]
-                                  Merge Join Operator [MERGEJOIN_175] (rows=696954748 width=88)
-                                    Conds:RS_22._col2=RS_216._col0(Inner),Output:["_col1","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_216]
+                                  Merge Join Operator [MERGEJOIN_301] (rows=174243235 width=135)
+                                    Conds:RS_97._col2=RS_348._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_348]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_215]
-                                  <-Reducer 15 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_22]
+                                       Please refer to the previous Select Operator [SEL_343]
+                                  <-Reducer 25 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_97]
                                       PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_174] (rows=633595212 width=88)
-                                        Conds:RS_208._col0=RS_211._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_211]
+                                      Merge Join Operator [MERGEJOIN_300] (rows=158402938 width=135)
+                                        Conds:RS_391._col0=RS_332._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_332]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_210]
-                                      <-Map 14 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_208]
+                                           Please refer to the previous Select Operator [SEL_327]
+                                      <-Map 33 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_391]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_207] (rows=575995635 width=88)
+                                          Select Operator [SEL_390] (rows=144002668 width=135)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_206] (rows=575995635 width=88)
-                                              predicate:(ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
-                                              TableScan [TS_10] (rows=575995635 width=88)
-                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
-                <-Reducer 9 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_232]
+                                            Filter Operator [FIL_389] (rows=144002668 width=135)
+                                              predicate:((ws_bill_addr_sk BETWEEN DynamicValue(RS_98_customer_address_ca_address_sk_min) AND DynamicValue(RS_98_customer_address_ca_address_sk_max) and in_bloom_filter(ws_bill_addr_sk, DynamicValue(RS_98_customer_address_ca_address_sk_bloom_filter))) and (ws_item_sk BETWEEN DynamicValue(RS_104_item_i_item_sk_min) AND DynamicValue(RS_104_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_104_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_95_date_dim_d_date_sk_min) AND DynamicValue(RS_95_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_95_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_85] (rows=144002668 width=135)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_388]
+                                                  Group By Operator [GBY_387] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_280]
+                                                      Group By Operator [GBY_279] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_278] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                                              <-Reducer 27 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_384]
+                                                  Group By Operator [GBY_383] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_339]
+                                                      Group By Operator [GBY_336] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_333] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 31 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_386]
+                                                  Group By Operator [GBY_385] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_355]
+                                                      Group By Operator [GBY_352] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_349] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                <-Reducer 4 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_365]
                     PartitionCols:_col0
-                    Group By Operator [GBY_231] (rows=670816147 width=108)
+                    Group By Operator [GBY_364] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_230] (rows=191657247 width=135)
+                      Group By Operator [GBY_363] (rows=383325119 width=88)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 8 [SIMPLE_EDGE]
-                        SHUFFLE [RS_71]
+                      <-Reducer 3 [SIMPLE_EDGE]
+                        SHUFFLE [RS_34]
                           PartitionCols:_col0
-                          Group By Operator [GBY_70] (rows=383314495 width=135)
+                          Group By Operator [GBY_33] (rows=766650239 width=88)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_183] (rows=383314495 width=135)
-                              Conds:RS_66._col0=RS_67._col4(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_302] (rows=766650239 width=88)
+                              Conds:RS_29._col0=RS_30._col3(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_66]
+                              SHUFFLE [RS_29]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_173]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_293]
                             <-Reducer 19 [SIMPLE_EDGE]
-                              SHUFFLE [RS_67]
-                                PartitionCols:_col4
-                                Select Operator [SEL_62] (rows=348467716 width=135)
-                                  Output:["_col4","_col5"]
-                                  Merge Join Operator [MERGEJOIN_178] (rows=348467716 width=135)
-                                    Conds:RS_59._col1=RS_217._col0(Inner),Output:["_col2","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_217]
+                              SHUFFLE [RS_30]
+                                PartitionCols:_col3
+                                Select Operator [SEL_25] (rows=696954748 width=88)
+                                  Output:["_col3","_col5"]
+                                  Merge Join Operator [MERGEJOIN_295] (rows=696954748 width=88)
+                                    Conds:RS_22._col2=RS_344._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_344]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_215]
+                                       Please refer to the previous Select Operator [SEL_343]
                                   <-Reducer 18 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_59]
-                                      PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_177] (rows=316788826 width=135)
-                                        Conds:RS_229._col0=RS_212._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_212]
+                                    SHUFFLE [RS_22]
+                                      PartitionCols:_col2
+                                      Merge Join Operator [MERGEJOIN_294] (rows=633595212 width=88)
+                                        Conds:RS_362._col0=RS_328._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_328]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_210]
-                                      <-Map 23 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_229]
+                                           Please refer to the previous Select Operator [SEL_327]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_362]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_228] (rows=287989836 width=135)
+                                          Select Operator [SEL_361] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_227] (rows=287989836 width=135)
-                                              predicate:(cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                              TableScan [TS_47] (rows=287989836 width=135)
-                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                            Filter Operator [FIL_360] (rows=575995635 width=88)
+                                              predicate:((ss_addr_sk BETWEEN DynamicValue(RS_23_customer_address_ca_address_sk_min) AND DynamicValue(RS_23_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_23_customer_address_ca_address_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_29_item_i_item_sk_min) AND DynamicValue(RS_29_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_29_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                              TableScan [TS_10] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
+                                              <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_341]
+                                                  Group By Operator [GBY_340] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_337]
+                                                      Group By Operator [GBY_334] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_329] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 29 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_357]
+                                                  Group By Operator [GBY_356] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_353]
+                                                      Group By Operator [GBY_350] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_345] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                                              <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_359]
+                                                  Group By Operator [GBY_358] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_200]
+                                                      Group By Operator [GBY_199] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_198] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query57.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query57.q.out b/ql/src/test/results/clientpositive/perf/tez/query57.q.out
index 6453dcb..42cbbdc 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query57.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query57.q.out
@@ -95,11 +95,15 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 3 <- Map 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 11 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
@@ -111,16 +115,16 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 8 vectorized
-      File Output Operator [FS_215]
-        Limit [LIM_214] (rows=100 width=135)
+      File Output Operator [FS_320]
+        Limit [LIM_319] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_213] (rows=421645952 width=135)
+          Select Operator [SEL_318] (rows=421645952 width=135)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
           <-Reducer 7 [SIMPLE_EDGE]
             SHUFFLE [RS_108]
               Select Operator [SEL_107] (rows=421645952 width=135)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                Merge Join Operator [MERGEJOIN_189] (rows=421645952 width=135)
+                Merge Join Operator [MERGEJOIN_279] (rows=421645952 width=135)
                   Conds:RS_103._col0, _col1, _col2, (_col4 + 1)=RS_104._col0, _col1, _col2, _col7(Inner),RS_104._col0, _col1, _col2, _col7=RS_105._col0, _col1, _col2, (_col4 - 1)(Inner),Output:["_col3","_col5","_col6","_col8","_col9","_col10","_col11","_col16"]
                 <-Reducer 11 [SIMPLE_EDGE]
                   SHUFFLE [RS_104]
@@ -138,72 +142,105 @@ Stage-0
                               Select Operator [SEL_64] (rows=191657247 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                               <-Reducer 10 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_211]
+                                SHUFFLE [RS_316]
                                   PartitionCols:_col4, _col3, _col2
-                                  Select Operator [SEL_210] (rows=191657247 width=135)
+                                  Select Operator [SEL_315] (rows=191657247 width=135)
                                     Output:["avg_window_0","_col0","_col1","_col2","_col3","_col4","_col5"]
-                                    PTF Operator [PTF_209] (rows=191657247 width=135)
+                                    PTF Operator [PTF_314] (rows=191657247 width=135)
                                       Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col4 ASC NULLS FIRST, _col3 ASC NULLS FIRST, _col2 ASC NULLS FIRST, _col0 ASC NULLS FIRST","partition by:":"_col4, _col3, _col2, _col0"}]
-                                      Select Operator [SEL_208] (rows=191657247 width=135)
+                                      Select Operator [SEL_313] (rows=191657247 width=135)
                                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                                       <-Reducer 5 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_205]
+                                        SHUFFLE [RS_310]
                                           PartitionCols:_col4, _col3, _col2, _col0
-                                          Group By Operator [GBY_202] (rows=191657247 width=135)
+                                          Group By Operator [GBY_307] (rows=191657247 width=135)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                                           <-Reducer 4 [SIMPLE_EDGE]
                                             SHUFFLE [RS_93]
                                               PartitionCols:_col0, _col1, _col2, _col3, _col4
                                               Group By Operator [GBY_92] (rows=383314495 width=135)
                                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col3)"],keys:_col5, _col6, _col8, _col10, _col11
-                                                Merge Join Operator [MERGEJOIN_188] (rows=383314495 width=135)
-                                                  Conds:RS_88._col2=RS_201._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col10","_col11"]
-                                                <-Map 14 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_201]
+                                                Merge Join Operator [MERGEJOIN_278] (rows=383314495 width=135)
+                                                  Conds:RS_88._col2=RS_298._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col10","_col11"]
+                                                <-Map 16 [SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_298]
                                                     PartitionCols:_col0
-                                                    Select Operator [SEL_200] (rows=462000 width=1436)
+                                                    Select Operator [SEL_297] (rows=462000 width=1436)
                                                       Output:["_col0","_col1","_col2"]
-                                                      Filter Operator [FIL_199] (rows=462000 width=1436)
+                                                      Filter Operator [FIL_296] (rows=462000 width=1436)
                                                         predicate:(i_brand is not null and i_category is not null and i_item_sk is not null)
                                                         TableScan [TS_79] (rows=462000 width=1436)
                                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_category"]
                                                 <-Reducer 3 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_88]
                                                     PartitionCols:_col2
-                                                    Merge Join Operator [MERGEJOIN_187] (rows=348467716 width=135)
-                                                      Conds:RS_85._col1=RS_198._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8"]
-                                                    <-Map 13 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_198]
+                                                    Merge Join Operator [MERGEJOIN_277] (rows=348467716 width=135)
+                                                      Conds:RS_85._col1=RS_290._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8"]
+                                                    <-Map 14 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_290]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_197] (rows=60 width=2045)
+                                                        Select Operator [SEL_289] (rows=60 width=2045)
                                                           Output:["_col0","_col1"]
-                                                          Filter Operator [FIL_196] (rows=60 width=2045)
+                                                          Filter Operator [FIL_288] (rows=60 width=2045)
                                                             predicate:(cc_call_center_sk is not null and cc_name is not null)
                                                             TableScan [TS_76] (rows=60 width=2045)
                                                               default@call_center,call_center,Tbl:COMPLETE,Col:NONE,Output:["cc_call_center_sk","cc_name"]
                                                     <-Reducer 2 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_85]
                                                         PartitionCols:_col1
-                                                        Merge Join Operator [MERGEJOIN_186] (rows=316788826 width=135)
-                                                          Conds:RS_192._col0=RS_195._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
-                                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_192]
-                                                            PartitionCols:_col0
-                                                            Select Operator [SEL_191] (rows=287989836 width=135)
-                                                              Output:["_col0","_col1","_col2","_col3"]
-                                                              Filter Operator [FIL_190] (rows=287989836 width=135)
-                                                                predicate:(cs_call_center_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                                                TableScan [TS_70] (rows=287989836 width=135)
-                                                                  default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_call_center_sk","cs_item_sk","cs_sales_price"]
+                                                        Merge Join Operator [MERGEJOIN_276] (rows=316788826 width=135)
+                                                          Conds:RS_306._col0=RS_282._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
                                                         <-Map 12 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_195]
+                                                          SHUFFLE [RS_282]
                                                             PartitionCols:_col0
-                                                            Select Operator [SEL_194] (rows=73048 width=1119)
+                                                            Select Operator [SEL_281] (rows=73048 width=1119)
                                                               Output:["_col0","_col1","_col2"]
-                                                              Filter Operator [FIL_193] (rows=73048 width=1119)
+                                                              Filter Operator [FIL_280] (rows=73048 width=1119)
                                                                 predicate:(((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null)
                                                                 TableScan [TS_73] (rows=73049 width=1119)
                                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                                                        <-Map 1 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_306]
+                                                            PartitionCols:_col0
+                                                            Select Operator [SEL_305] (rows=287989836 width=135)
+                                                              Output:["_col0","_col1","_col2","_col3"]
+                                                              Filter Operator [FIL_304] (rows=287989836 width=135)
+                                                                predicate:((cs_call_center_sk BETWEEN DynamicValue(RS_86_call_center_cc_call_center_sk_min) AND DynamicValue(RS_86_call_center_cc_call_center_sk_max) and in_bloom_filter(cs_call_center_sk, DynamicValue(RS_86_call_center_cc_call_center_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_89_item_i_item_sk_min) AND DynamicValue(RS_89_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_89_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_83_date_dim_d_date_sk_min) AND DynamicValue(RS_83_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_83_date_dim_d_date_sk_bloom_filter))) and cs_call_center_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                                                TableScan [TS_70] (rows=287989836 width=135)
+                                                                  default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_call_center_sk","cs_item_sk","cs_sales_price"]
+                                                                <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_287]
+                                                                    Group By Operator [GBY_286] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                    <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_285]
+                                                                        Group By Operator [GBY_284] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_283] (rows=73048 width=1119)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_281]
+                                                                <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_295]
+                                                                    Group By Operator [GBY_294] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                    <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_293]
+                                                                        Group By Operator [GBY_292] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_291] (rows=60 width=2045)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_289]
+                                                                <-Reducer 17 [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 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_301]
+                                                                        Group By Operator [GBY_300] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_299] (rows=462000 width=1436)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_297]
                 <-Reducer 6 [SIMPLE_EDGE]
                   SHUFFLE [RS_105]
                     PartitionCols:_col0, _col1, _col2, (_col4 - 1)
@@ -216,9 +253,9 @@ Stage-0
                           Select Operator [SEL_97] (rows=191657247 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                           <-Reducer 5 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_203]
+                            SHUFFLE [RS_308]
                               PartitionCols:_col4, _col3, _col2
-                               Please refer to the previous Group By Operator [GBY_202]
+                               Please refer to the previous Group By Operator [GBY_307]
                 <-Reducer 9 [SIMPLE_EDGE]
                   SHUFFLE [RS_103]
                     PartitionCols:_col0, _col1, _col2, (_col4 + 1)
@@ -231,7 +268,7 @@ Stage-0
                           Select Operator [SEL_27] (rows=191657247 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                           <-Reducer 5 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_204]
+                            SHUFFLE [RS_309]
                               PartitionCols:_col4, _col3, _col2
-                               Please refer to the previous Group By Operator [GBY_202]
+                               Please refer to the previous Group By Operator [GBY_307]
 


[31/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_multi.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_multi.q.out b/ql/src/test/results/clientpositive/llap/subquery_multi.q.out
index 5252684..fb9cfd2 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_multi.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_multi.q.out
@@ -101,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: (p_size is not null and p_brand is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_brand is not null and p_size is not null) (type: boolean)
@@ -121,6 +122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -141,6 +143,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_brand is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -251,7 +254,7 @@ POSTHOOK: Input: default@part_null
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[56][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND p_brand NOT IN (select p_name from part_null)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND p_brand NOT IN (select p_name from part_null)
@@ -277,6 +280,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -297,6 +301,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -443,7 +448,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[56][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part_null where p_name IN (select p_name from part_null) AND p_brand NOT IN (select p_name from part_null)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -452,7 +457,7 @@ POSTHOOK: query: select * from part_null where p_name IN (select p_name from par
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part_null
 #### A masked pattern was here ####
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[56][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND p_brand NOT IN (select p_type from part_null)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND p_brand NOT IN (select p_type from part_null)
@@ -478,6 +483,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -498,6 +504,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -651,7 +658,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[56][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part_null where p_name IN (select p_name from part_null) AND p_brand NOT IN (select p_type from part_null)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -686,7 +693,7 @@ POSTHOOK: Input: default@part_null
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[57][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part_null where p_brand IN (select p_brand from part_null) AND p_brand NOT IN (select p_name from part_null)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_brand IN (select p_brand from part_null) AND p_brand NOT IN (select p_name from part_null)
@@ -712,6 +719,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_brand is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -732,6 +740,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_brand is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -888,7 +897,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[57][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part_null where p_brand IN (select p_brand from part_null) AND p_brand NOT IN (select p_name from part_null)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -897,7 +906,7 @@ POSTHOOK: query: select * from part_null where p_brand IN (select p_brand from p
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part_null
 #### A masked pattern was here ####
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[56][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from part_null where p_name NOT IN (select c from tempty) AND p_brand IN (select p_brand from part_null)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_name NOT IN (select c from tempty) AND p_brand IN (select p_brand from part_null)
@@ -922,6 +931,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_brand is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -970,6 +980,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_brand is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -1086,7 +1097,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[56][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * from part_null where p_name NOT IN (select c from tempty) AND p_brand IN (select p_brand from part_null)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -1124,7 +1135,7 @@ POSTHOOK: Input: default@tempty
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND EXISTS (select c from tnull)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND EXISTS (select c from tnull)
@@ -1148,6 +1159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1168,6 +1180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1269,7 +1282,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part_null where p_name IN (select p_name from part_null) AND EXISTS (select c from tnull)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -1306,7 +1319,7 @@ POSTHOOK: Input: default@tnull
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part_null where p_size IN (select p_size from part_null) AND EXISTS (select c from tempty)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_size IN (select p_size from part_null) AND EXISTS (select c from tempty)
@@ -1330,6 +1343,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -1350,6 +1364,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -1451,7 +1466,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part_null where p_size IN (select p_size from part_null) AND EXISTS (select c from tempty)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -1462,7 +1477,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part_null
 POSTHOOK: Input: default@tempty
 #### A masked pattern was here ####
-Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND NOT EXISTS (select c from tempty)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null where p_name IN (select p_name from part_null) AND NOT EXISTS (select c from tempty)
@@ -1486,6 +1501,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1506,6 +1522,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1613,7 +1630,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part_null where p_name IN (select p_name from part_null) AND NOT EXISTS (select c from tempty)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part_null
@@ -1680,6 +1697,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -1700,6 +1718,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_type is not null and p_brand is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -1729,6 +1748,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -1753,6 +1773,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_type is not null and p_brand is not null) or (p_type is not null and p_brand is not null and p_container is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -1987,6 +2008,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: (p_name is not null and p_type is not null and p_brand is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_brand is not null and p_name is not null and p_type is not null) (type: boolean)
@@ -2007,6 +2029,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3146 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -2027,6 +2050,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_brand is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -2164,6 +2188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: (p_type is not null and p_container is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_container is not null and p_name is not null and p_type is not null) (type: boolean)
@@ -2184,6 +2209,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_type is not null and p_brand is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -2213,6 +2239,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_container is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_container is not null and p_name is not null and p_type is not null) (type: boolean)
@@ -2237,6 +2264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_type is not null and p_brand is not null) or (p_type is not null and p_brand is not null and p_container is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -2469,6 +2497,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -2489,6 +2518,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -2513,6 +2543,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null or (p_size is not null and p_type is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -2700,6 +2731,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -2720,6 +2752,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_brand is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_name is not null and p_type is not null) (type: boolean)
@@ -2740,6 +2773,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_type is not null and p_brand is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_brand is not null and p_type is not null) (type: boolean)
@@ -2846,7 +2880,7 @@ POSTHOOK: Input: default@part_null
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[62][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 7' is a cross product
+Warning: Shuffle Join MERGEJOIN[82][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 7' is a cross product
 PREHOOK: query: explain select p.p_partkey, li.l_suppkey
 from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey
 where li.l_linenumber = 1 and
@@ -2878,6 +2912,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 400 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -2898,6 +2933,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: li
+                  filterExpr: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) (type: boolean)
@@ -2918,6 +2954,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 10400 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)
@@ -3087,7 +3124,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[62][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 7' is a cross product
+Warning: Shuffle Join MERGEJOIN[82][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 7' is a cross product
 PREHOOK: query: select p.p_partkey, li.l_suppkey
 from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey
 where li.l_linenumber = 1 and
@@ -3138,6 +3175,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value is not null and key is not null) or ((key > '9') and value is not null)) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -3170,6 +3208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (value is not null and key is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -3194,6 +3233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s2
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -3648,7 +3688,7 @@ POSTHOOK: Input: default@src
 96	val_96	1
 97	val_97	2
 98	val_98	2
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[50][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select * from part where p_name IN (select p_name from part p where part.p_type <> '1')
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_name IN (select p_name from part p where part.p_type <> '1')
@@ -3671,6 +3711,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_type <> '1') and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_type <> '1') and p_name is not null) (type: boolean)
@@ -3691,6 +3732,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3146 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -3709,6 +3751,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type <> '1') (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_type <> '1') (type: boolean)
@@ -3783,7 +3826,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[50][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select * from part where p_name IN (select p_name from part p where part.p_type <> '1')
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -3828,7 +3871,7 @@ POSTHOOK: Input: _dummy_database@_dummy_table
 POSTHOOK: Output: default@tnull
 POSTHOOK: Lineage: tnull.c SCRIPT []
 POSTHOOK: Lineage: tnull.i SCRIPT []
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from part where p_partkey = 3 OR p_size NOT IN (select i from tnull)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_partkey = 3 OR p_size NOT IN (select i from tnull)
@@ -3972,7 +4015,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * from part where p_partkey = 3 OR p_size NOT IN (select i from tnull)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -3983,8 +4026,8 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part
 POSTHOOK: Input: default@tnull
 #### A masked pattern was here ####
-Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
-Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[49][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select count(*)  from src
     where src.key in (select key from src s1 where s1.key > '9')
         or src.value is not null
@@ -4032,6 +4075,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: ((key > '9') or (key > '9')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '9') (type: boolean)
@@ -4047,6 +4091,9 @@ STAGE PLANS:
                           sort order: 
                           Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                           value expressions: _col0 (type: bigint)
+                  Filter Operator
+                    predicate: (key > '9') (type: boolean)
+                    Statistics: Num rows: 166 Data size: 14442 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       keys: key (type: string)
                       mode: hash
@@ -4199,8 +4246,8 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
-Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[49][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select count(*)  from src
     where src.key in (select key from src s1 where s1.key > '9')
         or src.value is not null
@@ -4244,6 +4291,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws1
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -4264,6 +4312,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws2
+                  filterExpr: (p_type is not null and p_retailprice is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_retailprice is not null and p_type is not null) (type: boolean)
@@ -4289,6 +4338,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: wr1
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_notin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_notin.q.out b/ql/src/test/results/clientpositive/llap/subquery_notin.q.out
index 8a5ccf5..c16b143 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_notin.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_notin.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[28][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[33][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain
 select * 
 from src 
@@ -49,6 +49,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: ((key > '2') or (key > '2')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '2') (type: boolean)
@@ -62,6 +63,9 @@ STAGE PLANS:
                         sort order: 
                         Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col0 (type: bigint), _col1 (type: bigint)
+                  Filter Operator
+                    predicate: (key > '2') (type: boolean)
+                    Statistics: Num rows: 166 Data size: 14442 Basic stats: COMPLETE Column stats: COMPLETE
                     Group By Operator
                       keys: key (type: string)
                       mode: hash
@@ -153,7 +157,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[35][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * 
 from src 
 where src.key not in  ( select key from src s1 where s1.key > '2')
@@ -905,6 +909,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_mfgr is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2652 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_mfgr is not null (type: boolean)
@@ -1216,7 +1221,7 @@ Manufacturer#5	almond antique medium spring khaki	6
 Manufacturer#5	almond azure blanched chiffon midnight	23
 Manufacturer#5	almond antique blue firebrick mint	31
 Manufacturer#5	almond aquamarine dodger light gainsboro	46
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[39][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select li.l_partkey, count(*)
 from lineitem li
 where li.l_linenumber = 1 and
@@ -1249,7 +1254,7 @@ POSTHOOK: Input: default@lineitem
 175839	1
 59694	1
 85951	1
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[35][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * 
 from src 
 where not src.key in  ( select key from src s1 where s1.key > '2')
@@ -1439,6 +1444,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key < '11') or ((key < '11') and CASE WHEN ((key > '104')) THEN (null) ELSE ((key < '11')) END)) (type: boolean)
                   properties:
                     insideView TRUE
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
@@ -1602,6 +1608,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_brand <> 'Brand#14') and (p_size <> 340)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_brand <> 'Brand#14') and (p_size <> 340)) (type: boolean)
@@ -1622,6 +1629,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_type is not null or (((p_size * p_size) <> 340) and p_type is not null and p_size is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -2229,6 +2237,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_name is not null or (p_name is not null and p_partkey is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -2264,6 +2273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -2640,6 +2650,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: ((p_size is not null and p_partkey is not null) or (p_size is not null and p_partkey is not null and p_name is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null) (type: boolean)
@@ -2673,6 +2684,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -2905,6 +2917,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: ((p_size is not null and p_partkey is not null) or (p_size is not null and p_partkey is not null and p_name is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null) (type: boolean)
@@ -3066,6 +3079,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_brand is not null or (p_brand is not null and p_type is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -3238,6 +3252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size is not null or (p_size is not null and p_type is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -3271,6 +3286,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -3469,7 +3485,7 @@ almond azure aquamarine papaya violet
 almond antique medium spring khaki
 almond aquamarine sandy cyan gainsboro
 almond antique olive coral navajo
-Warning: Shuffle Join MERGEJOIN[53][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[58][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select key, count(*) from src where value NOT IN (select key from src) group by key having count(*) in (select count(*) from src s1 where s1.key = '90' group by s1.key )
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select key, count(*) from src where value NOT IN (select key from src) group by key having count(*) in (select count(*) from src s1 where s1.key = '90' group by s1.key )
@@ -3704,7 +3720,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[53][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[58][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select key, count(*) from src where value NOT IN (select key from src) group by key having count(*) in (select count(*) from src s1 where s1.key = '90' group by s1.key )
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -3823,6 +3839,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (key = '90') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = '90') (type: boolean)
@@ -4443,7 +4460,7 @@ POSTHOOK: Input: default@part
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 110592	almond antique salmon chartreuse burlywood	Manufacturer#1	Brand#15	PROMO BURNISHED NICKEL	6	JUMBO PKG	1602.59	 to the furiously
 105685	almond antique violet chocolate turquoise	Manufacturer#2	Brand#22	MEDIUM ANODIZED COPPER	14	MED CAN	1690.68	ly pending requ
-Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from src where key NOT IN (select p_name from part UNION ALL select p_brand from part)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from src where key NOT IN (select p_name from part UNION ALL select p_brand from part)
@@ -4647,7 +4664,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * from src where key NOT IN (select p_name from part UNION ALL select p_brand from part)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -5201,6 +5218,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_brand is not null or (p_brand is not null and p_type is not null)) (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_brand is not null (type: boolean)
@@ -5236,6 +5254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -5424,7 +5443,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 POSTHOOK: Output: default@t2_n0
 POSTHOOK: Lineage: t2_n0.c1 SCRIPT []
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain SELECT c1 FROM t1_n0 WHERE c1 NOT IN (SELECT c1 FROM t2_n0)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain SELECT c1 FROM t1_n0 WHERE c1 NOT IN (SELECT c1 FROM t2_n0)
@@ -5568,7 +5587,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: SELECT c1 FROM t1_n0 WHERE c1 NOT IN (SELECT c1 FROM t2_n0)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t1_n0
@@ -5621,6 +5640,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: c1 is not null (type: boolean)
@@ -5641,6 +5661,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n0
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)
@@ -5892,6 +5913,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n0
+                  filterExpr: (b is not null or (b is not null and a is not null)) (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: b is not null (type: boolean)
@@ -6106,6 +6128,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t7
+                  filterExpr: (j is not null or (j is not null and i is not null)) (type: boolean)
                   Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: j is not null (type: boolean)
@@ -6141,6 +6164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: fixob
+                  filterExpr: j is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: j is not null (type: boolean)
@@ -6350,6 +6374,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t_n0
+                  filterExpr: j is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: j is not null (type: boolean)
@@ -6613,7 +6638,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_n0
 #### A masked pattern was here ####
 7
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select t_n0.i from t_n0 where t_n0.j NOT IN (select t1_n0.i from t_n0 t1_n0 )
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select t_n0.i from t_n0 where t_n0.j NOT IN (select t1_n0.i from t_n0 t1_n0 )
@@ -6757,7 +6782,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select t_n0.i from t_n0 where t_n0.j NOT IN (select t1_n0.i from t_n0 t1_n0 )
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_n0
@@ -6768,7 +6793,7 @@ POSTHOOK: Input: default@t_n0
 #### A masked pattern was here ####
 1
 4
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select t_n0.i from t_n0 where t_n0.i NOT IN (select t1_n0.i from t_n0 t1_n0 )
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select t_n0.i from t_n0 where t_n0.i NOT IN (select t1_n0.i from t_n0 t1_n0 )
@@ -6905,7 +6930,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select t_n0.i from t_n0 where t_n0.i NOT IN (select t1_n0.i from t_n0 t1_n0 )
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_n0
@@ -6918,7 +6943,7 @@ PREHOOK: query: drop table t1_n0
 PREHOOK: type: DROPTABLE
 POSTHOOK: query: drop table t1_n0
 POSTHOOK: type: DROPTABLE
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[51][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select *
 from src b
 where b.key not in
@@ -7133,7 +7158,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[51][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select *
 from src b
 where b.key not in

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
index ed3c96f..dc54611 100644
--- a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
+++ b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
@@ -347,6 +347,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_name = null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name = null) (type: boolean)
@@ -365,6 +366,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null_n0
+                  filterExpr: p_name is null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_name is null (type: boolean)
@@ -1325,6 +1327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1345,6 +1348,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1458,6 +1462,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3146 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1477,6 +1482,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_name is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_name is not null (type: boolean)
@@ -1587,6 +1593,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1607,6 +1614,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null_n0
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1685,7 +1693,7 @@ POSTHOOK: Input: default@part
 POSTHOOK: Input: default@part_null_n0
 #### A masked pattern was here ####
 192697	almond antique blue firebrick mint	Manufacturer#5	Brand#52	MEDIUM BURNISHED TIN	31	LG DRUM	1789.69	ickly ir
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0)
@@ -1726,6 +1734,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null_n0
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1842,7 +1851,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part where p_size BETWEEN (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND (select max(p_size) from part_null_n0)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -1879,7 +1888,7 @@ POSTHOOK: Input: default@part_null_n0
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0)
@@ -1903,6 +1912,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -1923,6 +1933,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null_n0
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -2042,7 +2053,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from part where p_size >= (select min(p_size) from part_null_n0 where part_null_n0.p_type = part.p_type) AND p_retailprice <= (select max(p_retailprice) from part_null_n0)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -2079,7 +2090,7 @@ POSTHOOK: Input: default@part_null_n0
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340
@@ -2102,6 +2113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: ((p_size <> 340) and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_size <> 340) and p_type is not null) (type: boolean)
@@ -2140,6 +2152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: ((p_size <> 340) and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((p_size <> 340) and p_type is not null) (type: boolean)
@@ -2215,7 +2228,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[47][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * from part where p_brand <> (select min(p_brand) from part ) AND p_size IN (select (p_size) from part p where p.p_type = part.p_type ) AND p_size <> 340
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -2285,6 +2298,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: (p_size is not null and p_partkey is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_partkey is not null and p_size is not null) (type: boolean)
@@ -2448,6 +2462,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (key = '90') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = '90') (type: boolean)
@@ -3123,6 +3138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_size is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_size is not null (type: boolean)
@@ -3143,6 +3159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -3163,6 +3180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: (p_size is not null and p_type is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_size is not null and p_type is not null) (type: boolean)
@@ -3279,7 +3297,7 @@ POSTHOOK: Input: default@part
 85768
 86428
 90681
-Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from part_null_n0 where p_name NOT LIKE (select min(p_name) from part_null_n0) AND p_brand NOT IN (select p_name from part)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null_n0 where p_name NOT LIKE (select min(p_name) from part_null_n0) AND p_brand NOT IN (select p_name from part)
@@ -3459,7 +3477,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[37][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * from part_null_n0 where p_name NOT LIKE (select min(p_name) from part_null_n0) AND p_brand NOT IN (select p_name from part)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -3495,7 +3513,7 @@ POSTHOOK: Input: default@part_null_n0
 85768	almond antique chartreuse lavender yellow	Manufacturer#1	Brand#12	LARGE BRUSHED STEEL	34	SM BAG	1753.76	refull
 86428	almond aquamarine burnished black steel	Manufacturer#1	Brand#12	STANDARD ANODIZED STEEL	28	WRAP BAG	1414.42	arefully 
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[58][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: explain select * from part_null_n0 where p_brand NOT IN (select p_name from part) AND p_name NOT LIKE (select min(p_name) from part_null_n0 pp where part_null_n0.p_type = pp.p_type)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from part_null_n0 where p_brand NOT IN (select p_name from part) AND p_name NOT LIKE (select min(p_name) from part_null_n0 pp where part_null_n0.p_type = pp.p_type)
@@ -3521,6 +3539,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null_n0
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -3569,6 +3588,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -3707,7 +3727,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[43][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[58][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
 PREHOOK: query: select * from part_null_n0 where p_brand NOT IN (select p_name from part) AND p_name NOT LIKE (select min(p_name) from part_null_n0 pp where part_null_n0.p_type = pp.p_type)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@part
@@ -3719,7 +3739,7 @@ POSTHOOK: Input: default@part
 POSTHOOK: Input: default@part_null_n0
 #### A masked pattern was here ####
 90681	almond antique chartreuse khaki white	Manufacturer#3	Brand#31	MEDIUM BURNISHED TIN	17	SM CASE	1671.68	are slyly after the sl
-Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select p.p_partkey, li.l_suppkey 
 from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey 
 where li.l_linenumber = 1 and
@@ -3749,6 +3769,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 400 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -3769,6 +3790,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: li
+                  filterExpr: ((l_linenumber = 1) and l_partkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and l_partkey is not null) (type: boolean)
@@ -3789,6 +3811,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1)) (type: boolean)
                   Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR')) (type: boolean)
@@ -3886,7 +3909,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select p.p_partkey, li.l_suppkey 
 from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey 
 where li.l_linenumber = 1 and
@@ -3926,7 +3949,7 @@ POSTHOOK: Input: default@lineitem
 85951	5952
 88035	5560
 88362	871
-Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select p.p_partkey, li.l_suppkey 
 from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey 
 where li.l_linenumber = 1 and
@@ -3956,6 +3979,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 400 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -3976,6 +4000,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: li
+                  filterExpr: ((l_linenumber = 1) and l_partkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and l_partkey is not null) (type: boolean)
@@ -3996,6 +4021,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1)) (type: boolean)
                   Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR')) (type: boolean)
@@ -4093,7 +4119,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[42][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select p.p_partkey, li.l_suppkey 
 from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey 
 where li.l_linenumber = 1 and
@@ -4155,6 +4181,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -4175,6 +4202,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_partkey is not null (type: boolean)
@@ -4194,6 +4222,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 1200 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: l_partkey is not null (type: boolean)
@@ -4313,6 +4342,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part_null_n0
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -4333,6 +4363,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_type is not null and p_name is not null) (type: boolean)
                   Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (p_name is not null and p_type is not null) (type: boolean)
@@ -4353,6 +4384,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: pp
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -4650,6 +4682,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n3
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 291 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -4755,6 +4788,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: emps_n4
+                  filterExpr: deptno is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 3160 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: deptno is not null (type: boolean)
@@ -4775,6 +4809,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n3
+                  filterExpr: deptno is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 291 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: deptno is not null (type: boolean)
@@ -4893,6 +4928,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n3
+                  filterExpr: (name is not null or deptno is not null) (type: boolean)
                   Statistics: Num rows: 3 Data size: 291 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -5035,7 +5071,7 @@ POSTHOOK: Input: default@emps_n4
 110	John	40	M	Vancouver	2	NULL	false	true	2002-05-03
 120	Wilma	20	F	NULL	1	5	NULL	true	2005-09-07
 130	Alice	40	F	Vancouver	2	NULL	false	true	2007-01-01
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[40][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from emps_n4 where deptno <> (select sum(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from emps_n4 where deptno <> (select sum(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3)
@@ -5059,6 +5095,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: emps_n4
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 3160 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -5079,6 +5116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: depts_n3
+                  filterExpr: name is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 291 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: name is not null (type: boolean)
@@ -5198,7 +5236,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[28][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[33][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from emps_n4 where deptno <> (select count(deptno) from depts_n3 where depts_n3.name = emps_n4.name) and empno > (select count(name) from depts_n3)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@depts_n3
@@ -5374,7 +5412,7 @@ POSTHOOK: Input: default@src
 468	4
 469	5
 489	4
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain
 select key, value, count(*)
 from src b
@@ -5408,6 +5446,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key > '8') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '8') (type: boolean)
@@ -5428,6 +5467,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: ((key > '8') or (key > '9')) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > '8') (type: boolean)
@@ -5540,7 +5580,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[34][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[44][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select key, value, count(*)
 from src b
 where b.key in (select key from src where src.key > '8')
@@ -5742,6 +5782,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -5762,6 +5803,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -5782,6 +5824,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p
+                  filterExpr: p_type is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: p_type is not null (type: boolean)
@@ -5877,7 +5920,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select * from part where p_size <>
     (select count(p_size) from part pp where part.p_type <> pp.p_type)
 PREHOOK: type: QUERY
@@ -6039,7 +6082,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select * from part where p_size <>
     (select count(p_size) from part pp where part.p_type <> pp.p_type)
 PREHOOK: type: QUERY
@@ -6093,7 +6136,7 @@ POSTHOOK: Input: _dummy_database@_dummy_table
 POSTHOOK: Output: default@t_n11
 POSTHOOK: Lineage: t_n11.i SCRIPT []
 POSTHOOK: Lineage: t_n11.j SCRIPT []
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i)
@@ -6253,7 +6296,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[32][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: select * from t_n11 where 0 = (select count(*) from t_n11 tt_n11 where tt_n11.j <> t_n11.i)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_n11
@@ -6263,7 +6306,7 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@t_n11
 #### A masked pattern was here ####
 1	1
-Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: explain select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i)
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i)
@@ -6287,6 +6330,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t_n11
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -6315,6 +6359,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t_n11
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -6417,7 +6462,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join MERGEJOIN[31][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[41][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
 PREHOOK: query: select * from t_n11 where 0 = (select avg(tt_n11.i) from t_n11 tt_n11 where tt_n11.j <> t_n11.i)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@t_n11
@@ -6472,6 +6517,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tt_n11
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -6574,6 +6620,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t_n11
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -6594,6 +6641,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tt_n11
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i is not null (type: boolean)


[42/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
index a212b04..71a6be1 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
@@ -117,6 +117,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 5992 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -234,6 +235,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 56 Data size: 37620 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -394,6 +396,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 5992 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -511,6 +514,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 56 Data size: 37620 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -671,6 +675,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 5992 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -788,6 +793,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 56 Data size: 37620 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_5.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_5.q.out
index 2f475f1..cae65e4 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_5.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_5.q.out
@@ -82,6 +82,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -149,6 +150,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -303,6 +305,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -370,6 +373,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -524,6 +528,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -591,6 +596,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
index 828c6e1..b719ed7 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
@@ -92,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -112,6 +113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -131,6 +133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -238,6 +241,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -258,6 +262,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -277,6 +282,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -384,6 +390,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -404,6 +411,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: h
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -423,6 +431,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -530,6 +539,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -550,6 +560,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -569,6 +580,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -674,6 +686,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -685,6 +698,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -696,6 +710,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -780,6 +795,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -800,6 +816,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -819,6 +836,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -926,6 +944,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -946,6 +965,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -965,6 +985,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1072,6 +1093,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1092,6 +1114,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1111,6 +1134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1216,6 +1240,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1227,6 +1252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1238,6 +1264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1322,6 +1349,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1342,6 +1370,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1361,6 +1390,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
index 4315627..4621935 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
@@ -134,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 5992 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -251,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 112 Data size: 74872 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -463,6 +465,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 5992 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -580,6 +583,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 112 Data size: 74872 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -792,6 +796,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 8 Data size: 5992 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -909,6 +914,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 112 Data size: 74872 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
index f1d4274..6422349 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
@@ -134,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 3016 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -251,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -463,6 +465,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 3016 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -580,6 +583,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -792,6 +796,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 3016 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -909,6 +914,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 240 Data size: 158376 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_9.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_9.q.out
index 935e607..4ffa7e2 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_9.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_9.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -75,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -167,6 +169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -178,6 +181,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -291,6 +295,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -302,6 +307,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -447,6 +453,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -458,6 +465,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -491,6 +499,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -502,6 +511,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -664,6 +674,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -675,6 +686,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -781,6 +793,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -792,6 +805,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -922,6 +936,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -933,6 +948,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1051,6 +1067,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -1062,6 +1079,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -1159,6 +1177,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1178,6 +1197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1279,6 +1299,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1290,6 +1311,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1380,6 +1402,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1391,6 +1414,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1491,6 +1515,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1502,6 +1527,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1513,6 +1539,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1629,6 +1656,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1640,6 +1668,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -1744,6 +1773,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1755,6 +1785,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1847,6 +1878,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1858,6 +1890,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1971,6 +2004,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1982,6 +2016,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2127,6 +2162,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2138,6 +2174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2171,6 +2208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2182,6 +2220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2344,6 +2383,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2355,6 +2395,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2461,6 +2502,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2472,6 +2514,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2602,6 +2645,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2613,6 +2657,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2731,6 +2776,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -2742,6 +2788,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 8) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 8) (type: boolean)
@@ -2834,6 +2881,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2845,6 +2893,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2935,6 +2984,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -2946,6 +2996,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -3046,6 +3097,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -3057,6 +3109,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -3068,6 +3121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -3184,6 +3238,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)
@@ -3195,6 +3250,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key < 6) (type: boolean)
                   Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 6) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucket3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucket3.q.out b/ql/src/test/results/clientpositive/llap/bucket3.q.out
index 1228177..666995c 100644
--- a/ql/src/test/results/clientpositive/llap/bucket3.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucket3.q.out
@@ -280,6 +280,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: s
+          filterExpr: (ds = '1') (type: boolean)
           Filter Operator
             predicate: (((hash(key) & 2147483647) % 2) = 0) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucket_groupby.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucket_groupby.q.out b/ql/src/test/results/clientpositive/llap/bucket_groupby.q.out
index 4925de5..bee7889 100644
--- a/ql/src/test/results/clientpositive/llap/bucket_groupby.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucket_groupby.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '100') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string)
@@ -189,6 +190,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '101') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string)
@@ -290,6 +292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '101') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: length(key) (type: int)
@@ -371,6 +374,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '101') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: abs(length(key)) (type: int)
@@ -453,6 +457,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '101') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string)
@@ -555,6 +560,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '101') (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: value (type: string)
@@ -1155,6 +1161,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '102') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string)
@@ -1258,6 +1265,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '102') (type: boolean)
                   Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: value (type: string)
@@ -1353,6 +1361,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: clustergroupby
+          filterExpr: (ds = '102') (type: boolean)
           Select Operator
             expressions: key (type: string), value (type: string)
             outputColumnNames: key, value
@@ -1460,6 +1469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '103') (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string)
@@ -1563,6 +1573,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: clustergroupby
+                  filterExpr: (ds = '103') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: key (type: string), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
index 7aea667..800bcaa 100644
--- a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
@@ -185,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -205,6 +206,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -225,6 +227,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -307,6 +310,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -327,6 +331,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -347,6 +352,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -464,6 +470,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -484,6 +491,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -553,6 +561,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -573,6 +582,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -640,6 +650,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -659,6 +670,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -721,6 +733,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -752,6 +765,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -796,6 +810,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 1) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1) (type: boolean)
@@ -815,6 +830,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -877,6 +893,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 1) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 1) (type: boolean)
@@ -908,6 +925,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -952,6 +970,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -971,6 +990,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -1033,6 +1053,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -1052,6 +1073,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -1107,6 +1129,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_n10
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1191,6 +1214,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_n10
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1211,6 +1235,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 968 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1279,6 +1304,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_n10
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22022 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1299,6 +1325,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1379,6 +1406,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_n10
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22022 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1399,6 +1427,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1522,6 +1551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1542,6 +1572,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1638,6 +1669,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab_part_n11
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1658,6 +1690,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1784,6 +1817,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: small
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -1803,6 +1837,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: big
+                  filterExpr: i is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i is not null (type: boolean)
@@ -1915,6 +1950,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -1935,6 +1971,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -1955,6 +1992,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2038,6 +2076,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2058,6 +2097,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -2078,6 +2118,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucket_map_join_tez_empty.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez_empty.q.out b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez_empty.q.out
index 20d20ec..105c693 100644
--- a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez_empty.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez_empty.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab1_n0
+                  filterExpr: key1 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key1 is not null (type: boolean)
@@ -85,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: tab2_n0
+                  filterExpr: key1 is not null (type: boolean)
                   Statistics: Num rows: 2 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key1 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
index ec76eee..0d7f215 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -73,6 +74,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
                   GatherStats: false
                   Filter Operator
@@ -180,6 +182,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -205,6 +208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
                   GatherStats: false
                   Filter Operator
@@ -407,6 +411,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -485,6 +490,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -832,6 +838,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -910,6 +917,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
index fcf5401..c5a1d7a 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
@@ -119,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -198,6 +199,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 78 Data size: 44908 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -549,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -628,6 +631,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 78 Data size: 44908 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -996,6 +1000,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -1075,6 +1080,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 156 Data size: 89440 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
index 1fb3228..fde451f 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
@@ -143,6 +143,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 78 Data size: 44908 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -222,6 +223,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -573,6 +575,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 78 Data size: 44908 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -652,6 +655,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 149 Data size: 85004 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketmapjoin4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin4.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin4.q.out
index 6892f08..7b73670 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin4.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin4.q.out
@@ -143,6 +143,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -221,6 +222,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -559,6 +561,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -637,6 +640,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketmapjoin7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin7.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin7.q.out
index 02c817a..5ee4b18 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin7.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin7.q.out
@@ -81,6 +81,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 69 Data size: 27768 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
@@ -156,6 +157,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 69 Data size: 40096 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_2.q.out b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_2.q.out
index 1bb1791..5a9024c 100644
--- a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_2.q.out
@@ -107,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -118,6 +119,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -315,6 +317,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -326,6 +329,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 20 Data size: 1860 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -547,6 +551,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 168 Data size: 15792 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -558,6 +563,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -785,6 +791,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table2_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -796,6 +803,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table1_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1005,6 +1013,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table2_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1016,6 +1025,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table1_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1225,6 +1235,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table2_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1236,6 +1247,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table1_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)


[20/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query80.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query80.q.out b/ql/src/test/results/clientpositive/perf/spark/query80.q.out
index d1710e2..99779d1 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query80.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query80.q.out
@@ -207,6 +207,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: promotion
+                  filterExpr: ((p_channel_tv = 'N') and p_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 2300 Data size: 2713420 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_channel_tv = 'N') and p_promo_sk is not null) (type: boolean)
@@ -226,6 +227,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -250,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -274,6 +277,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: promotion
+                  filterExpr: ((p_channel_tv = 'N') and p_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 2300 Data size: 2713420 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_channel_tv = 'N') and p_promo_sk is not null) (type: boolean)
@@ -298,6 +302,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -322,6 +327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: promotion
+                  filterExpr: ((p_channel_tv = 'N') and p_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 2300 Data size: 2713420 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((p_channel_tv = 'N') and p_promo_sk is not null) (type: boolean)
@@ -341,6 +347,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_site
+                  filterExpr: web_site_sk is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 155408 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: web_site_sk is not null (type: boolean)
@@ -365,6 +372,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -402,6 +410,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_item_sk is not null and ss_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -421,6 +430,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_catalog_page_sk is not null and cs_item_sk is not null and cs_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_catalog_page_sk is not null and cs_item_sk is not null and cs_promo_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -440,6 +450,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: cr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_item_sk is not null (type: boolean)
@@ -459,6 +470,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_current_price > 50) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_current_price > 50) and i_item_sk is not null) (type: boolean)
@@ -477,6 +489,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_page
+                  filterExpr: cp_catalog_page_sk is not null (type: boolean)
                   Statistics: Num rows: 46000 Data size: 21198808 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cp_catalog_page_sk is not null (type: boolean)
@@ -496,6 +509,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_web_site_sk is not null and ws_item_sk is not null and ws_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_promo_sk is not null and ws_sold_date_sk is not null and ws_web_site_sk is not null) (type: boolean)
@@ -515,6 +529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: wr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wr_item_sk is not null (type: boolean)
@@ -534,6 +549,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_current_price > 50) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_current_price > 50) and i_item_sk is not null) (type: boolean)
@@ -552,6 +568,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: sr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: sr_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query81.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query81.q.out b/ql/src/test/results/clientpositive/perf/spark/query81.q.out
index c824c26..60186d9 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query81.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query81.q.out
@@ -82,6 +82,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -101,6 +102,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_state is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_state is not null) (type: boolean)
@@ -138,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: (cr_returned_date_sk is not null and cr_returning_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cr_returned_date_sk is not null and cr_returning_addr_sk is not null) (type: boolean)
@@ -157,6 +161,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
@@ -175,6 +180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_state is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_state is not null) (type: boolean)
@@ -194,6 +200,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state = 'IL') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state = 'IL') and ca_address_sk is not null) (type: boolean)
@@ -213,6 +220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: (cr_returned_date_sk is not null and cr_returning_addr_sk is not null and cr_returning_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cr_returned_date_sk is not null and cr_returning_addr_sk is not null and cr_returning_customer_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query82.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query82.q.out b/ql/src/test/results/clientpositive/perf/spark/query82.q.out
index 6ccd1cb..cc988bd 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query82.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query82.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2002-05-30 00:00:00.0' AND TIMESTAMP'2002-07-29 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2002-05-30 00:00:00.0' AND TIMESTAMP'2002-07-29 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_item_sk is not null (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_item_sk is not null (type: boolean)
@@ -90,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manufact_id) IN (437, 129, 727, 663) and i_current_price BETWEEN 30 AND 60 and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manufact_id) IN (437, 129, 727, 663) and i_current_price BETWEEN 30 AND 60 and i_item_sk is not null) (type: boolean)
@@ -109,6 +112,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_quantity_on_hand BETWEEN 100 AND 500 and inv_item_sk is not null and inv_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_quantity_on_hand BETWEEN 100 AND 500) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query83.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query83.q.out b/ql/src/test/results/clientpositive/perf/spark/query83.q.out
index 8f9d3db..6fad2ca 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query83.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query83.q.out
@@ -164,6 +164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: (cr_item_sk is not null and cr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cr_item_sk is not null and cr_returned_date_sk is not null) (type: boolean)
@@ -183,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_week_seq is not null and d_date is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_week_seq is not null) (type: boolean)
@@ -202,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_date) IN ('1998-01-02', '1998-10-15', '1998-11-10') and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_date) IN ('1998-01-02', '1998-10-15', '1998-11-10') and d_week_seq is not null) (type: boolean)
@@ -225,6 +228,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_item_sk is not null and sr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_item_sk is not null and sr_returned_date_sk is not null) (type: boolean)
@@ -244,6 +248,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -263,6 +268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date is not null and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_date_sk is not null) (type: boolean)
@@ -282,6 +288,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_week_seq is not null and d_date is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_week_seq is not null) (type: boolean)
@@ -301,6 +308,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_date) IN ('1998-01-02', '1998-10-15', '1998-11-10') and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_date) IN ('1998-01-02', '1998-10-15', '1998-11-10') and d_week_seq is not null) (type: boolean)
@@ -324,6 +332,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: (wr_item_sk is not null and wr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wr_item_sk is not null and wr_returned_date_sk is not null) (type: boolean)
@@ -343,6 +352,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -362,6 +372,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date is not null and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_date_sk is not null) (type: boolean)
@@ -381,6 +392,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_week_seq is not null and d_date is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_week_seq is not null) (type: boolean)
@@ -400,6 +412,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_date) IN ('1998-01-02', '1998-10-15', '1998-11-10') and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_date) IN ('1998-01-02', '1998-10-15', '1998-11-10') and d_week_seq is not null) (type: boolean)
@@ -423,6 +436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -442,6 +456,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date is not null and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query84.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query84.q.out b/ql/src/test/results/clientpositive/perf/spark/query84.q.out
index 04c311a..0e62a3e 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query84.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query84.q.out
@@ -53,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: income_band
+                  filterExpr: ((ib_lower_bound >= 32287) and (ib_upper_bound <= 82287) and ib_income_band_sk is not null) (type: boolean)
                   Statistics: Num rows: 20 Data size: 240 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ib_lower_bound >= 32287) and (ib_upper_bound <= 82287) and ib_income_band_sk is not null) (type: boolean)
@@ -77,6 +78,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (hd_demo_sk is not null and hd_income_band_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (hd_demo_sk is not null and hd_income_band_sk is not null) (type: boolean)
@@ -115,6 +117,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: sr_cdemo_sk is not null (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: sr_cdemo_sk is not null (type: boolean)
@@ -133,6 +136,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: cd_demo_sk is not null (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cd_demo_sk is not null (type: boolean)
@@ -151,6 +155,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null) (type: boolean)
@@ -170,6 +175,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_city = 'Hopewell') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_city = 'Hopewell') and ca_address_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query85.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query85.q.out b/ql/src/test/results/clientpositive/perf/spark/query85.q.out
index 781256c..572ba54 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query85.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query85.q.out
@@ -179,6 +179,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: reason
+                  filterExpr: r_reason_sk is not null (type: boolean)
                   Statistics: Num rows: 72 Data size: 14400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: r_reason_sk is not null (type: boolean)
@@ -203,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_page
+                  filterExpr: wp_web_page_sk is not null (type: boolean)
                   Statistics: Num rows: 4602 Data size: 2696178 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wp_web_page_sk is not null (type: boolean)
@@ -235,6 +237,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: (wr_item_sk is not null and wr_order_number is not null and wr_refunded_cdemo_sk is not null and wr_returning_cdemo_sk is not null and wr_refunded_addr_sk is not null and wr_reason_sk is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wr_item_sk is not null and wr_order_number is not null and wr_reason_sk is not null and wr_refunded_addr_sk is not null and wr_refunded_cdemo_sk is not null and wr_returning_cdemo_sk is not null) (type: boolean)
@@ -254,6 +257,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_country = 'United States') and (ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and ca_address_sk is not null) (type: boolean)
@@ -273,6 +277,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
@@ -291,6 +296,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd1
+                  filterExpr: (((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_marital_status is not null and cd_education_status is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_education_status is not null and cd_marital_status is not null) (type: boolean)
@@ -310,6 +316,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cd2
+                  filterExpr: (((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_marital_status is not null and cd_education_status is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_education_status is not null and cd_marital_status is not null) (type: boolean)
@@ -328,6 +335,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: ((ws_sales_price BETWEEN 100 AND 150 or ws_sales_price BETWEEN 50 AND 100 or ws_sales_price BETWEEN 150 AND 200) and (ws_net_profit BETWEEN 100 AND 200 or ws_net_profit BETWEEN 150 AND 300 or ws_net_profit BETWEEN 50 AND 250) and ws_item_sk is not null and ws_order_number is not null and ws_web_page_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ws_net_profit BETWEEN 100 AND 200 or ws_net_profit BETWEEN 150 AND 300 or ws_net_profit BETWEEN 50 AND 250) and (ws_sales_price BETWEEN 100 AND 150 or ws_sales_price BETWEEN 50 AND 100 or ws_sales_price BETWEEN 150 AND 200) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null and ws_web_page_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query86.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query86.q.out b/ql/src/test/results/clientpositive/perf/spark/query86.q.out
index 930bb7e..ff7ca83 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query86.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query86.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query87.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query87.q.out b/ql/src/test/results/clientpositive/perf/spark/query87.q.out
index e90aa4a..8ac6dce 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query87.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query87.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -80,6 +81,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -138,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -169,6 +173,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -188,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -219,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_bill_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query88.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query88.q.out b/ql/src/test/results/clientpositive/perf/spark/query88.q.out
index f976818..6c1238a 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query88.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query88.q.out
@@ -205,6 +205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -224,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 12) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 12) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
@@ -243,6 +245,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -275,6 +278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -328,6 +332,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -381,6 +386,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -434,6 +440,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -487,6 +494,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -540,6 +548,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -593,6 +602,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -791,6 +801,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 8) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 8) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
@@ -810,6 +821,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -829,6 +841,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -855,6 +868,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -962,6 +976,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 11) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 11) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
@@ -981,6 +996,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -1000,6 +1016,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -1024,6 +1041,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 11) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 11) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
@@ -1043,6 +1061,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -1062,6 +1081,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -1086,6 +1106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 10) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 10) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
@@ -1105,6 +1126,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -1124,6 +1146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -1148,6 +1171,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 10) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 10) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
@@ -1167,6 +1191,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -1186,6 +1211,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -1210,6 +1236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 9) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 9) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
@@ -1229,6 +1256,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -1248,6 +1276,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -1272,6 +1301,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 9) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 9) and (t_minute < 30) and t_time_sk is not null) (type: boolean)
@@ -1291,6 +1321,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
@@ -1310,6 +1341,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query89.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query89.q.out b/ql/src/test/results/clientpositive/perf/spark/query89.q.out
index ad4d600..1acc577 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query89.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query89.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -115,6 +117,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (((i_class) IN ('wallpaper', 'parenting', 'musical') or (i_class) IN ('womens', 'birdal', 'pants')) and ((i_category) IN ('Home', 'Books', 'Electronics') or (i_category) IN ('Shoes', 'Jewelry', 'Men')) and (((i_category) IN ('Home', 'Books', 'Electronics') and (i_class) IN ('wallpaper', 'parenting', 'musical')) or ((i_category) IN ('Shoes', 'Jewelry', 'Men') and (i_class) IN ('womens', 'birdal', 'pants'))) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((i_category) IN ('Home', 'Books', 'Electronics') and (i_class) IN ('wallpaper', 'parenting', 'musical')) or ((i_category) IN ('Shoes', 'Jewelry', 'Men') and (i_class) IN ('womens', 'birdal', 'pants'))) and ((i_category) IN ('Home', 'Books', 'Electronics') or (i_category) IN ('Shoes', 'Jewelry', 'Men')) and ((i_class) IN ('wallpaper', 'parenting', 'musical') or (i_class) IN ('womens', 'birdal', 'pants')) and i_item_sk is not null) (type: boolean)
@@ -134,6 +137,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query9.q.out b/ql/src/test/results/clientpositive/perf/spark/query9.q.out
index 9446f66..a434501 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query9.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query9.q.out
@@ -141,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 21 AND 40 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 21 AND 40 (type: boolean)
@@ -163,6 +164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 21 AND 40 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 21 AND 40 (type: boolean)
@@ -185,6 +187,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 41 AND 60 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 41 AND 60 (type: boolean)
@@ -205,6 +208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 41 AND 60 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 41 AND 60 (type: boolean)
@@ -227,6 +231,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 41 AND 60 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 41 AND 60 (type: boolean)
@@ -249,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 1 AND 20 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 1 AND 20 (type: boolean)
@@ -269,6 +275,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 61 AND 80 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 61 AND 80 (type: boolean)
@@ -289,6 +296,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 61 AND 80 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 61 AND 80 (type: boolean)
@@ -311,6 +319,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 61 AND 80 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 61 AND 80 (type: boolean)
@@ -333,6 +342,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 81 AND 100 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 81 AND 100 (type: boolean)
@@ -353,6 +363,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 81 AND 100 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 81 AND 100 (type: boolean)
@@ -375,6 +386,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 81 AND 100 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 81 AND 100 (type: boolean)
@@ -397,6 +409,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 1 AND 20 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 1 AND 20 (type: boolean)
@@ -419,6 +432,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 1 AND 20 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 1 AND 20 (type: boolean)
@@ -441,6 +455,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_quantity BETWEEN 21 AND 40 (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_quantity BETWEEN 21 AND 40 (type: boolean)
@@ -716,6 +731,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: reason
+                  filterExpr: (r_reason_sk = 1) (type: boolean)
                   Statistics: Num rows: 72 Data size: 14400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (r_reason_sk = 1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query90.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query90.q.out b/ql/src/test/results/clientpositive/perf/spark/query90.q.out
index 20cfe40..9f78d64 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query90.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query90.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: (t_hour BETWEEN 14 AND 15 and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (t_hour BETWEEN 14 AND 15 and t_time_sk is not null) (type: boolean)
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((hd_dep_count = 8) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((hd_dep_count = 8) and hd_demo_sk is not null) (type: boolean)
@@ -95,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_page
+                  filterExpr: (wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 4602 Data size: 2696178 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null) (type: boolean)
@@ -121,6 +124,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_ship_hdemo_sk is not null and ws_sold_time_sk is not null and ws_web_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_ship_hdemo_sk is not null and ws_sold_time_sk is not null and ws_web_page_sk is not null) (type: boolean)
@@ -193,6 +197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_page
+                  filterExpr: (wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 4602 Data size: 2696178 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null) (type: boolean)
@@ -212,6 +217,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: (t_hour BETWEEN 6 AND 7 and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (t_hour BETWEEN 6 AND 7 and t_time_sk is not null) (type: boolean)
@@ -231,6 +237,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((hd_dep_count = 8) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((hd_dep_count = 8) and hd_demo_sk is not null) (type: boolean)
@@ -258,6 +265,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_ship_hdemo_sk is not null and ws_sold_time_sk is not null and ws_web_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_ship_hdemo_sk is not null and ws_sold_time_sk is not null and ws_web_page_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query91.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query91.q.out b/ql/src/test/results/clientpositive/perf/spark/query91.q.out
index ba03c41..de8977d 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query91.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query91.q.out
@@ -73,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: call_center
+                  filterExpr: cc_call_center_sk is not null (type: boolean)
                   Statistics: Num rows: 60 Data size: 122700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cc_call_center_sk is not null (type: boolean)
@@ -97,6 +98,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((hd_buy_potential like '0-500%') and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((hd_buy_potential like '0-500%') and hd_demo_sk is not null) (type: boolean)
@@ -128,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: (cr_call_center_sk is not null and cr_returned_date_sk is not null and cr_returning_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cr_call_center_sk is not null and cr_returned_date_sk is not null and cr_returning_customer_sk is not null) (type: boolean)
@@ -147,6 +150,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: (((cd_education_status = 'Unknown') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'W')) and (((cd_marital_status = 'M') and (cd_education_status = 'Unknown')) or ((cd_marital_status = 'W') and (cd_education_status = 'Advanced Degree'))) and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((cd_marital_status = 'M') and (cd_education_status = 'Unknown')) or ((cd_marital_status = 'W') and (cd_education_status = 'Advanced Degree'))) and ((cd_education_status = 'Unknown') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'W')) and cd_demo_sk is not null) (type: boolean)
@@ -166,6 +170,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -7) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -7) and ca_address_sk is not null) (type: boolean)
@@ -184,6 +189,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 11) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 11) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -202,6 +208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null and c_customer_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query92.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query92.q.out b/ql/src/test/results/clientpositive/perf/spark/query92.q.out
index ae63392..77a5cbf 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query92.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query92.q.out
@@ -71,6 +71,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -95,6 +96,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -125,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -156,6 +159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean)
@@ -174,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query93.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query93.q.out b/ql/src/test/results/clientpositive/perf/spark/query93.q.out
index d7beccb..2b098a8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query93.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query93.q.out
@@ -46,6 +46,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: reason
+                  filterExpr: ((r_reason_desc = 'Did not like the warranty') and r_reason_sk is not null) (type: boolean)
                   Statistics: Num rows: 72 Data size: 14400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((r_reason_desc = 'Did not like the warranty') and r_reason_sk is not null) (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_reason_sk is not null and sr_item_sk is not null and sr_ticket_number is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_item_sk is not null and sr_reason_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -105,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_ticket_number is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_ticket_number is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query94.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query94.q.out b/ql/src/test/results/clientpositive/perf/spark/query94.q.out
index dde0b17..e3779da 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query94.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query94.q.out
@@ -69,6 +69,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_site
+                  filterExpr: ((web_company_name = 'pri') and web_site_sk is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 155408 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((web_company_name = 'pri') and web_site_sk is not null) (type: boolean)
@@ -93,6 +94,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1999-05-01 00:00:00.0' AND TIMESTAMP'1999-06-30 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1999-05-01 00:00:00.0' AND TIMESTAMP'1999-06-30 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -125,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws1
+                  filterExpr: (ws_ship_date_sk is not null and ws_ship_addr_sk is not null and ws_web_site_sk is not null and ws_order_number is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_order_number is not null and ws_ship_addr_sk is not null and ws_ship_date_sk is not null and ws_web_site_sk is not null) (type: boolean)
@@ -156,6 +159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws2
+                  filterExpr: (ws_order_number is not null and ws_warehouse_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_order_number is not null and ws_warehouse_sk is not null) (type: boolean)
@@ -180,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: wr1
+                  filterExpr: wr_order_number is not null (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wr_order_number is not null (type: boolean)
@@ -199,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state = 'TX') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state = 'TX') and ca_address_sk is not null) (type: boolean)


[17/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query14.q.out b/ql/src/test/results/clientpositive/perf/tez/query14.q.out
index 4d27064..6d996b5 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query14.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query14.q.out
@@ -1,6 +1,6 @@
-Warning: Shuffle Join MERGEJOIN[902][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 5' is a cross product
-Warning: Shuffle Join MERGEJOIN[914][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 12' is a cross product
-Warning: Shuffle Join MERGEJOIN[926][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 16' is a cross product
+Warning: Shuffle Join MERGEJOIN[1454][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 5' is a cross product
+Warning: Shuffle Join MERGEJOIN[1466][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 12' is a cross product
+Warning: Shuffle Join MERGEJOIN[1478][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 16' is a cross product
 PREHOOK: query: explain
 with  cross_items as
  (select i_item_sk ss_item_sk
@@ -210,975 +210,1239 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 108 (BROADCAST_EDGE)
+Map 100 <- Reducer 103 (BROADCAST_EDGE), Reducer 71 (BROADCAST_EDGE)
+Map 110 <- Reducer 105 (BROADCAST_EDGE), Reducer 74 (BROADCAST_EDGE)
+Map 111 <- Reducer 107 (BROADCAST_EDGE), Reducer 77 (BROADCAST_EDGE)
+Map 112 <- Reducer 58 (BROADCAST_EDGE), Reducer 81 (BROADCAST_EDGE), Reducer 98 (BROADCAST_EDGE)
+Map 113 <- Reducer 62 (BROADCAST_EDGE), Reducer 91 (BROADCAST_EDGE), Reducer 99 (BROADCAST_EDGE)
+Map 17 <- Reducer 22 (BROADCAST_EDGE)
+Map 33 <- Reducer 38 (BROADCAST_EDGE)
+Map 43 <- Reducer 109 (BROADCAST_EDGE)
+Map 47 <- Reducer 26 (BROADCAST_EDGE)
+Map 48 <- Reducer 40 (BROADCAST_EDGE)
+Map 49 <- Reducer 54 (BROADCAST_EDGE), Reducer 66 (BROADCAST_EDGE), Reducer 78 (BROADCAST_EDGE)
+Reducer 101 <- Map 100 (SIMPLE_EDGE), Map 102 (SIMPLE_EDGE)
+Reducer 103 <- Map 102 (CUSTOM_SIMPLE_EDGE)
+Reducer 104 <- Map 102 (SIMPLE_EDGE), Map 110 (SIMPLE_EDGE)
+Reducer 105 <- Map 102 (CUSTOM_SIMPLE_EDGE)
+Reducer 106 <- Map 102 (SIMPLE_EDGE), Map 111 (SIMPLE_EDGE)
+Reducer 107 <- Map 102 (CUSTOM_SIMPLE_EDGE)
+Reducer 108 <- Map 102 (CUSTOM_SIMPLE_EDGE)
+Reducer 109 <- Map 102 (CUSTOM_SIMPLE_EDGE)
 Reducer 11 <- Union 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 27 (CUSTOM_SIMPLE_EDGE), Reducer 52 (CUSTOM_SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 13 <- Map 1 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE), Union 14 (CONTAINS)
+Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 29 (CUSTOM_SIMPLE_EDGE), Reducer 57 (CUSTOM_SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 13 <- Map 1 (SIMPLE_EDGE), Map 102 (SIMPLE_EDGE), Union 14 (CONTAINS)
 Reducer 15 <- Union 14 (CUSTOM_SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 30 (CUSTOM_SIMPLE_EDGE), Reducer 55 (CUSTOM_SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 32 (CUSTOM_SIMPLE_EDGE), Reducer 61 (CUSTOM_SIMPLE_EDGE), Union 6 (CONTAINS)
 Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE), Union 3 (CONTAINS)
 Reducer 19 <- Map 17 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE), Union 10 (CONTAINS)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 102 (SIMPLE_EDGE), Union 3 (CONTAINS)
 Reducer 20 <- Map 17 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE), Union 14 (CONTAINS)
-Reducer 22 <- Map 21 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE), Union 23 (CONTAINS)
-Reducer 24 <- Union 23 (CUSTOM_SIMPLE_EDGE)
-Reducer 25 <- Map 21 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE), Union 26 (CONTAINS)
-Reducer 27 <- Union 26 (CUSTOM_SIMPLE_EDGE)
-Reducer 28 <- Map 21 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE), Union 29 (CONTAINS)
-Reducer 30 <- Union 29 (CUSTOM_SIMPLE_EDGE)
-Reducer 32 <- Map 31 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE), Union 3 (CONTAINS)
-Reducer 33 <- Map 31 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE), Union 10 (CONTAINS)
-Reducer 34 <- Map 31 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE), Union 14 (CONTAINS)
-Reducer 36 <- Map 35 (SIMPLE_EDGE), Map 44 (SIMPLE_EDGE), Union 23 (CONTAINS)
-Reducer 37 <- Map 35 (SIMPLE_EDGE), Map 44 (SIMPLE_EDGE), Union 26 (CONTAINS)
-Reducer 38 <- Map 35 (SIMPLE_EDGE), Map 44 (SIMPLE_EDGE), Union 29 (CONTAINS)
+Reducer 22 <- Map 21 (CUSTOM_SIMPLE_EDGE)
+Reducer 23 <- Map 21 (SIMPLE_EDGE), Map 47 (SIMPLE_EDGE), Union 24 (CONTAINS)
+Reducer 25 <- Union 24 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 21 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Map 21 (SIMPLE_EDGE), Map 47 (SIMPLE_EDGE), Union 28 (CONTAINS)
+Reducer 29 <- Union 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 30 <- Map 21 (SIMPLE_EDGE), Map 47 (SIMPLE_EDGE), Union 31 (CONTAINS)
+Reducer 32 <- Union 31 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Map 33 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 35 <- Map 33 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE), Union 10 (CONTAINS)
+Reducer 36 <- Map 33 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE), Union 14 (CONTAINS)
+Reducer 38 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 39 <- Map 37 (SIMPLE_EDGE), Map 48 (SIMPLE_EDGE), Union 24 (CONTAINS)
 Reducer 4 <- Union 3 (CUSTOM_SIMPLE_EDGE)
-Reducer 40 <- Map 39 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE), Union 23 (CONTAINS)
-Reducer 41 <- Map 39 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE), Union 26 (CONTAINS)
-Reducer 42 <- Map 39 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE), Union 29 (CONTAINS)
-Reducer 46 <- Map 45 (SIMPLE_EDGE), Map 49 (SIMPLE_EDGE)
-Reducer 47 <- Map 56 (SIMPLE_EDGE), Reducer 46 (SIMPLE_EDGE), Reducer 58 (ONE_TO_ONE_EDGE)
-Reducer 48 <- Reducer 47 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 24 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE), Reducer 48 (CUSTOM_SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 50 <- Map 49 (SIMPLE_EDGE), Map 91 (SIMPLE_EDGE)
-Reducer 51 <- Map 56 (SIMPLE_EDGE), Reducer 50 (SIMPLE_EDGE), Reducer 68 (ONE_TO_ONE_EDGE)
+Reducer 40 <- Map 37 (CUSTOM_SIMPLE_EDGE)
+Reducer 41 <- Map 37 (SIMPLE_EDGE), Map 48 (SIMPLE_EDGE), Union 28 (CONTAINS)
+Reducer 42 <- Map 37 (SIMPLE_EDGE), Map 48 (SIMPLE_EDGE), Union 31 (CONTAINS)
+Reducer 44 <- Map 102 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE), Union 24 (CONTAINS)
+Reducer 45 <- Map 102 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE), Union 28 (CONTAINS)
+Reducer 46 <- Map 102 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE), Union 31 (CONTAINS)
+Reducer 5 <- Reducer 25 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE), Reducer 52 (CUSTOM_SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 50 <- Map 49 (SIMPLE_EDGE), Map 53 (SIMPLE_EDGE)
+Reducer 51 <- Map 63 (SIMPLE_EDGE), Reducer 50 (SIMPLE_EDGE), Reducer 65 (ONE_TO_ONE_EDGE)
 Reducer 52 <- Reducer 51 (SIMPLE_EDGE)
-Reducer 53 <- Map 49 (SIMPLE_EDGE), Map 92 (SIMPLE_EDGE)
-Reducer 54 <- Map 56 (SIMPLE_EDGE), Reducer 53 (SIMPLE_EDGE), Reducer 77 (ONE_TO_ONE_EDGE)
-Reducer 55 <- Reducer 54 (SIMPLE_EDGE)
-Reducer 57 <- Map 56 (SIMPLE_EDGE), Reducer 62 (ONE_TO_ONE_EDGE)
-Reducer 58 <- Reducer 57 (SIMPLE_EDGE)
-Reducer 59 <- Map 56 (SIMPLE_EDGE), Reducer 85 (SIMPLE_EDGE)
-Reducer 60 <- Reducer 59 (SIMPLE_EDGE), Union 61 (CONTAINS)
-Reducer 62 <- Union 61 (SIMPLE_EDGE)
-Reducer 63 <- Map 56 (SIMPLE_EDGE), Reducer 87 (SIMPLE_EDGE)
-Reducer 64 <- Reducer 63 (SIMPLE_EDGE), Union 61 (CONTAINS)
-Reducer 65 <- Map 56 (SIMPLE_EDGE), Reducer 88 (SIMPLE_EDGE)
-Reducer 66 <- Reducer 65 (SIMPLE_EDGE), Union 61 (CONTAINS)
-Reducer 67 <- Map 56 (SIMPLE_EDGE), Reducer 72 (ONE_TO_ONE_EDGE)
-Reducer 68 <- Reducer 67 (SIMPLE_EDGE)
-Reducer 69 <- Map 56 (SIMPLE_EDGE), Reducer 85 (SIMPLE_EDGE)
+Reducer 54 <- Map 53 (CUSTOM_SIMPLE_EDGE)
+Reducer 55 <- Map 112 (SIMPLE_EDGE), Map 53 (SIMPLE_EDGE)
+Reducer 56 <- Map 63 (SIMPLE_EDGE), Reducer 55 (SIMPLE_EDGE), Reducer 80 (ONE_TO_ONE_EDGE)
+Reducer 57 <- Reducer 56 (SIMPLE_EDGE)
+Reducer 58 <- Map 53 (CUSTOM_SIMPLE_EDGE)
+Reducer 59 <- Map 113 (SIMPLE_EDGE), Map 53 (SIMPLE_EDGE)
+Reducer 60 <- Map 63 (SIMPLE_EDGE), Reducer 59 (SIMPLE_EDGE), Reducer 90 (ONE_TO_ONE_EDGE)
+Reducer 61 <- Reducer 60 (SIMPLE_EDGE)
+Reducer 62 <- Map 53 (CUSTOM_SIMPLE_EDGE)
+Reducer 64 <- Map 63 (SIMPLE_EDGE), Reducer 70 (ONE_TO_ONE_EDGE)
+Reducer 65 <- Reducer 64 (SIMPLE_EDGE)
+Reducer 66 <- Reducer 65 (CUSTOM_SIMPLE_EDGE)
+Reducer 67 <- Map 63 (SIMPLE_EDGE), Reducer 101 (SIMPLE_EDGE)
+Reducer 68 <- Reducer 67 (SIMPLE_EDGE), Union 69 (CONTAINS)
 Reducer 7 <- Union 6 (SIMPLE_EDGE)
-Reducer 70 <- Reducer 69 (SIMPLE_EDGE), Union 71 (CONTAINS)
-Reducer 72 <- Union 71 (SIMPLE_EDGE)
-Reducer 73 <- Reducer 69 (SIMPLE_EDGE), Union 74 (CONTAINS)
-Reducer 75 <- Union 74 (SIMPLE_EDGE)
-Reducer 76 <- Map 56 (SIMPLE_EDGE), Reducer 75 (ONE_TO_ONE_EDGE)
-Reducer 77 <- Reducer 76 (SIMPLE_EDGE)
-Reducer 78 <- Map 56 (SIMPLE_EDGE), Reducer 87 (SIMPLE_EDGE)
-Reducer 79 <- Reducer 78 (SIMPLE_EDGE), Union 71 (CONTAINS)
+Reducer 70 <- Union 69 (SIMPLE_EDGE)
+Reducer 71 <- Map 63 (CUSTOM_SIMPLE_EDGE)
+Reducer 72 <- Map 63 (SIMPLE_EDGE), Reducer 104 (SIMPLE_EDGE)
+Reducer 73 <- Reducer 72 (SIMPLE_EDGE), Union 69 (CONTAINS)
+Reducer 74 <- Map 63 (CUSTOM_SIMPLE_EDGE)
+Reducer 75 <- Map 63 (SIMPLE_EDGE), Reducer 106 (SIMPLE_EDGE)
+Reducer 76 <- Reducer 75 (SIMPLE_EDGE), Union 69 (CONTAINS)
+Reducer 77 <- Map 63 (CUSTOM_SIMPLE_EDGE)
+Reducer 78 <- Map 63 (CUSTOM_SIMPLE_EDGE)
+Reducer 79 <- Map 63 (SIMPLE_EDGE), Reducer 85 (ONE_TO_ONE_EDGE)
 Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
-Reducer 80 <- Reducer 78 (SIMPLE_EDGE), Union 74 (CONTAINS)
-Reducer 81 <- Map 56 (SIMPLE_EDGE), Reducer 88 (SIMPLE_EDGE)
-Reducer 82 <- Reducer 81 (SIMPLE_EDGE), Union 71 (CONTAINS)
-Reducer 83 <- Reducer 81 (SIMPLE_EDGE), Union 74 (CONTAINS)
-Reducer 85 <- Map 84 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE)
-Reducer 87 <- Map 86 (SIMPLE_EDGE), Map 89 (SIMPLE_EDGE)
-Reducer 88 <- Map 86 (SIMPLE_EDGE), Map 90 (SIMPLE_EDGE)
-Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 86 (SIMPLE_EDGE), Union 10 (CONTAINS)
+Reducer 80 <- Reducer 79 (SIMPLE_EDGE)
+Reducer 81 <- Reducer 80 (CUSTOM_SIMPLE_EDGE)
+Reducer 82 <- Map 63 (SIMPLE_EDGE), Reducer 101 (SIMPLE_EDGE)
+Reducer 83 <- Reducer 82 (SIMPLE_EDGE), Union 84 (CONTAINS)
+Reducer 85 <- Union 84 (SIMPLE_EDGE)
+Reducer 86 <- Reducer 82 (SIMPLE_EDGE), Union 87 (CONTAINS)
+Reducer 88 <- Union 87 (SIMPLE_EDGE)
+Reducer 89 <- Map 63 (SIMPLE_EDGE), Reducer 88 (ONE_TO_ONE_EDGE)
+Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 102 (SIMPLE_EDGE), Union 10 (CONTAINS)
+Reducer 90 <- Reducer 89 (SIMPLE_EDGE)
+Reducer 91 <- Reducer 90 (CUSTOM_SIMPLE_EDGE)
+Reducer 92 <- Map 63 (SIMPLE_EDGE), Reducer 104 (SIMPLE_EDGE)
+Reducer 93 <- Reducer 92 (SIMPLE_EDGE), Union 84 (CONTAINS)
+Reducer 94 <- Reducer 92 (SIMPLE_EDGE), Union 87 (CONTAINS)
+Reducer 95 <- Map 63 (SIMPLE_EDGE), Reducer 106 (SIMPLE_EDGE)
+Reducer 96 <- Reducer 95 (SIMPLE_EDGE), Union 84 (CONTAINS)
+Reducer 97 <- Reducer 95 (SIMPLE_EDGE), Union 87 (CONTAINS)
+Reducer 98 <- Map 63 (CUSTOM_SIMPLE_EDGE)
+Reducer 99 <- Map 63 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 8 vectorized
-      File Output Operator [FS_1134]
-        Limit [LIM_1133] (rows=100 width=237)
+      File Output Operator [FS_1739]
+        Limit [LIM_1738] (rows=100 width=237)
           Number of rows:100
-          Select Operator [SEL_1132] (rows=1016388080 width=237)
+          Select Operator [SEL_1737] (rows=1016388080 width=237)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 7 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_1131]
-              Select Operator [SEL_1130] (rows=1016388080 width=237)
+            SHUFFLE [RS_1736]
+              Select Operator [SEL_1735] (rows=1016388080 width=237)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                Group By Operator [GBY_1129] (rows=1016388080 width=237)
+                Group By Operator [GBY_1734] (rows=1016388080 width=237)
                   Output:["_col0","_col1","_col2","_col3","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                 <-Union 6 [SIMPLE_EDGE]
                   <-Reducer 12 [CONTAINS]
-                    Reduce Output Operator [RS_919]
+                    Reduce Output Operator [RS_1471]
                       PartitionCols:_col0, _col1, _col2, _col3, _col4
-                      Group By Operator [GBY_918] (rows=2032776160 width=237)
+                      Group By Operator [GBY_1470] (rows=2032776160 width=237)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col0, _col1, _col2, _col3, 0L
-                        Select Operator [SEL_916] (rows=116155905 width=264)
+                        Select Operator [SEL_1468] (rows=116155905 width=264)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                          Filter Operator [FIL_915] (rows=116155905 width=264)
+                          Filter Operator [FIL_1467] (rows=116155905 width=264)
                             predicate:(_col5 > _col1)
-                            Merge Join Operator [MERGEJOIN_914] (rows=348467716 width=264)
+                            Merge Join Operator [MERGEJOIN_1466] (rows=348467716 width=264)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
                             <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_1140]
-                                Select Operator [SEL_1139] (rows=1 width=8)
-                                  Filter Operator [FIL_1138] (rows=1 width=8)
+                              PARTITION_ONLY_SHUFFLE [RS_1745]
+                                Select Operator [SEL_1744] (rows=1 width=8)
+                                  Filter Operator [FIL_1743] (rows=1 width=8)
                                     predicate:(sq_count_check(_col0) <= 1)
-                                    Group By Operator [GBY_1137] (rows=1 width=8)
+                                    Group By Operator [GBY_1742] (rows=1 width=8)
                                       Output:["_col0"],aggregations:["count()"]
-                                      Select Operator [SEL_1136] (rows=1 width=8)
-                                        Group By Operator [GBY_1135] (rows=1 width=8)
+                                      Select Operator [SEL_1741] (rows=1 width=8)
+                                        Group By Operator [GBY_1740] (rows=1 width=8)
                                           Output:["_col0"],aggregations:["count(VALUE._col0)"]
                                         <-Union 10 [CUSTOM_SIMPLE_EDGE]
                                           <-Reducer 19 [CONTAINS]
-                                            Reduce Output Operator [RS_943]
-                                              Group By Operator [GBY_942] (rows=1 width=8)
+                                            Reduce Output Operator [RS_1495]
+                                              Group By Operator [GBY_1494] (rows=1 width=8)
                                                 Output:["_col0"],aggregations:["count(_col0)"]
-                                                Select Operator [SEL_941] (rows=1108786976 width=108)
+                                                Select Operator [SEL_1493] (rows=1108786976 width=108)
                                                   Output:["_col0"]
-                                                  Select Operator [SEL_939] (rows=316788826 width=135)
+                                                  Select Operator [SEL_1491] (rows=316788826 width=135)
                                                     Output:["_col0"]
-                                                    Merge Join Operator [MERGEJOIN_938] (rows=316788826 width=135)
-                                                      Conds:RS_1178._col0=RS_1184._col0(Inner),Output:["_col1"]
+                                                    Merge Join Operator [MERGEJOIN_1490] (rows=316788826 width=135)
+                                                      Conds:RS_1817._col0=RS_1804._col0(Inner),Output:["_col1"]
                                                     <-Map 21 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_1184]
+                                                      SHUFFLE [RS_1804]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_1181] (rows=8116 width=1119)
+                                                        Select Operator [SEL_1799] (rows=8116 width=1119)
                                                           Output:["_col0"]
-                                                          Filter Operator [FIL_1180] (rows=8116 width=1119)
+                                                          Filter Operator [FIL_1798] (rows=8116 width=1119)
                                                             predicate:(d_date_sk is not null and d_year BETWEEN 1998 AND 2000)
                                                             TableScan [TS_13] (rows=73049 width=1119)
                                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                                                     <-Map 17 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_1178]
+                                                      SHUFFLE [RS_1817]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_1176] (rows=287989836 width=135)
+                                                        Select Operator [SEL_1815] (rows=287989836 width=135)
                                                           Output:["_col0","_col1"]
-                                                          Filter Operator [FIL_1175] (rows=287989836 width=135)
-                                                            predicate:cs_sold_date_sk is not null
+                                                          Filter Operator [FIL_1814] (rows=287989836 width=135)
+                                                            predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_17_date_dim_d_date_sk_min) AND DynamicValue(RS_17_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_17_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
                                                             TableScan [TS_10] (rows=287989836 width=135)
                                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_quantity"]
-                                          <-Reducer 33 [CONTAINS]
-                                            Reduce Output Operator [RS_979]
-                                              Group By Operator [GBY_978] (rows=1 width=8)
+                                                            <-Reducer 22 [BROADCAST_EDGE] vectorized
+                                                              BROADCAST [RS_1813]
+                                                                Group By Operator [GBY_1812] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                <-Map 21 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                  SHUFFLE [RS_1810]
+                                                                    Group By Operator [GBY_1808] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                      Select Operator [SEL_1801] (rows=8116 width=1119)
+                                                                        Output:["_col0"]
+                                                                         Please refer to the previous Select Operator [SEL_1799]
+                                          <-Reducer 35 [CONTAINS]
+                                            Reduce Output Operator [RS_1531]
+                                              Group By Operator [GBY_1530] (rows=1 width=8)
                                                 Output:["_col0"],aggregations:["count(_col0)"]
-                                                Select Operator [SEL_977] (rows=1108786976 width=108)
+                                                Select Operator [SEL_1529] (rows=1108786976 width=108)
                                                   Output:["_col0"]
-                                                  Select Operator [SEL_975] (rows=158402938 width=135)
+                                                  Select Operator [SEL_1527] (rows=158402938 width=135)
                                                     Output:["_col0"]
-                                                    Merge Join Operator [MERGEJOIN_974] (rows=158402938 width=135)
-                                                      Conds:RS_1196._col0=RS_1202._col0(Inner),Output:["_col1"]
-                                                    <-Map 35 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_1202]
+                                                    Merge Join Operator [MERGEJOIN_1526] (rows=158402938 width=135)
+                                                      Conds:RS_1845._col0=RS_1832._col0(Inner),Output:["_col1"]
+                                                    <-Map 37 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_1832]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_1199] (rows=8116 width=1119)
+                                                        Select Operator [SEL_1827] (rows=8116 width=1119)
                                                           Output:["_col0"]
-                                                          Filter Operator [FIL_1198] (rows=8116 width=1119)
+                                                          Filter Operator [FIL_1826] (rows=8116 width=1119)
                                                             predicate:(d_date_sk is not null and d_year BETWEEN 1998 AND 2000)
                                                             TableScan [TS_24] (rows=73049 width=1119)
                                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                                                    <-Map 31 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_1196]
+                                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_1845]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_1194] (rows=144002668 width=135)
+                                                        Select Operator [SEL_1843] (rows=144002668 width=135)
                                                           Output:["_col0","_col1"]
-                                                          Filter Operator [FIL_1193] (rows=144002668 width=135)
-                                                            predicate:ws_sold_date_sk is not null
+                                                          Filter Operator [FIL_1842] (rows=144002668 width=135)
+                                                            predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_28_date_dim_d_date_sk_min) AND DynamicValue(RS_28_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_28_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
                                                             TableScan [TS_21] (rows=144002668 width=135)
                                                               default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_quantity"]
+                                                            <-Reducer 38 [BROADCAST_EDGE] vectorized
+                                                              BROADCAST [RS_1841]
+                                                                Group By Operator [GBY_1840] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                  SHUFFLE [RS_1838]
+                                                                    Group By Operator [GBY_1836] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                      Select Operator [SEL_1829] (rows=8116 width=1119)
+                                                                        Output:["_col0"]
+                                                                         Please refer to the previous Select Operator [SEL_1827]
                                           <-Reducer 9 [CONTAINS]
-                                            Reduce Output Operator [RS_913]
-                                              Group By Operator [GBY_912] (rows=1 width=8)
+                                            Reduce Output Operator [RS_1465]
+                                              Group By Operator [GBY_1464] (rows=1 width=8)
                                                 Output:["_col0"],aggregations:["count(_col0)"]
-                                                Select Operator [SEL_911] (rows=1108786976 width=108)
+                                                Select Operator [SEL_1463] (rows=1108786976 width=108)
                                                   Output:["_col0"]
-                                                  Select Operator [SEL_909] (rows=633595212 width=88)
+                                                  Select Operator [SEL_1461] (rows=633595212 width=88)
                                                     Output:["_col0"]
-                                                    Merge Join Operator [MERGEJOIN_908] (rows=633595212 width=88)
-                                                      Conds:RS_1061._col0=RS_1070._col0(Inner),Output:["_col1"]
-                                                    <-Map 86 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_1070]
+                                                    Merge Join Operator [MERGEJOIN_1460] (rows=633595212 width=88)
+                                                      Conds:RS_1641._col0=RS_1622._col0(Inner),Output:["_col1"]
+                                                    <-Map 102 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_1622]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_1064] (rows=8116 width=1119)
+                                                        Select Operator [SEL_1611] (rows=8116 width=1119)
                                                           Output:["_col0"]
-                                                          Filter Operator [FIL_1063] (rows=8116 width=1119)
+                                                          Filter Operator [FIL_1610] (rows=8116 width=1119)
                                                             predicate:(d_date_sk is not null and d_year BETWEEN 1999 AND 2001)
                                                             TableScan [TS_97] (rows=73049 width=1119)
                                                               default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_1061]
+                                                      SHUFFLE [RS_1641]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_1059] (rows=575995635 width=88)
+                                                        Select Operator [SEL_1639] (rows=575995635 width=88)
                                                           Output:["_col0","_col1"]
-                                                          Filter Operator [FIL_1058] (rows=575995635 width=88)
-                                                            predicate:ss_sold_date_sk is not null
+                                                          Filter Operator [FIL_1638] (rows=575995635 width=88)
+                                                            predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
                                                             TableScan [TS_0] (rows=575995635 width=88)
                                                               default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_quantity"]
-                            <-Reducer 27 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_1143]
-                                Select Operator [SEL_1142] (rows=1 width=120)
+                                                            <-Reducer 108 [BROADCAST_EDGE] vectorized
+                                                              BROADCAST [RS_1637]
+                                                                Group By Operator [GBY_1636] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                <-Map 102 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                  SHUFFLE [RS_1634]
+                                                                    Group By Operator [GBY_1629] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                      Select Operator [SEL_1619] (rows=8116 width=1119)
+                                                                        Output:["_col0"]
+                                                                         Please refer to the previous Select Operator [SEL_1611]
+                            <-Reducer 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_1748]
+                                Select Operator [SEL_1747] (rows=1 width=120)
                                   Output:["_col0"]
-                                  Group By Operator [GBY_1141] (rows=1 width=120)
+                                  Group By Operator [GBY_1746] (rows=1 width=120)
                                     Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"]
-                                  <-Union 26 [CUSTOM_SIMPLE_EDGE]
-                                    <-Reducer 25 [CONTAINS]
-                                      Reduce Output Operator [RS_961]
-                                        Group By Operator [GBY_960] (rows=1 width=120)
+                                  <-Union 28 [CUSTOM_SIMPLE_EDGE]
+                                    <-Reducer 27 [CONTAINS]
+                                      Reduce Output Operator [RS_1513]
+                                        Group By Operator [GBY_1512] (rows=1 width=120)
                                           Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"]
-                                          Select Operator [SEL_959] (rows=1108786976 width=108)
+                                          Select Operator [SEL_1511] (rows=1108786976 width=108)
                                             Output:["_col0"]
-                                            Select Operator [SEL_957] (rows=316788826 width=135)
+                                            Select Operator [SEL_1509] (rows=316788826 width=135)
                                               Output:["_col0","_col1"]
-                                              Merge Join Operator [MERGEJOIN_956] (rows=316788826 width=135)
-                                                Conds:RS_1191._col0=RS_1185._col0(Inner),Output:["_col1","_col2"]
+                                              Merge Join Operator [MERGEJOIN_1508] (rows=316788826 width=135)
+                                                Conds:RS_1824._col0=RS_1805._col0(Inner),Output:["_col1","_col2"]
                                               <-Map 21 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_1185]
+                                                SHUFFLE [RS_1805]
                                                   PartitionCols:_col0
-                                                   Please refer to the previous Select Operator [SEL_1181]
-                                              <-Map 43 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_1191]
+                                                   Please refer to the previous Select Operator [SEL_1799]
+                                              <-Map 47 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_1824]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_1189] (rows=287989836 width=135)
+                                                  Select Operator [SEL_1822] (rows=287989836 width=135)
                                                     Output:["_col0","_col1","_col2"]
-                                                    Filter Operator [FIL_1188] (rows=287989836 width=135)
-                                                      predicate:cs_sold_date_sk is not null
+                                                    Filter Operator [FIL_1821] (rows=287989836 width=135)
+                                                      predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_62_date_dim_d_date_sk_min) AND DynamicValue(RS_62_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_62_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
                                                       TableScan [TS_55] (rows=287989836 width=135)
                                                         default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_quantity","cs_list_price"]
-                                    <-Reducer 37 [CONTAINS]
-                                      Reduce Output Operator [RS_997]
-                                        Group By Operator [GBY_996] (rows=1 width=120)
+                                                      <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_1820]
+                                                          Group By Operator [GBY_1819] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 21 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_1811]
+                                                              Group By Operator [GBY_1809] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_1803] (rows=8116 width=1119)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_1799]
+                                    <-Reducer 41 [CONTAINS]
+                                      Reduce Output Operator [RS_1549]
+                                        Group By Operator [GBY_1548] (rows=1 width=120)
                                           Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"]
-                                          Select Operator [SEL_995] (rows=1108786976 width=108)
+                                          Select Operator [SEL_1547] (rows=1108786976 width=108)
                                             Output:["_col0"]
-                                            Select Operator [SEL_993] (rows=158402938 width=135)
+                                            Select Operator [SEL_1545] (rows=158402938 width=135)
                                               Output:["_col0","_col1"]
-                                              Merge Join Operator [MERGEJOIN_992] (rows=158402938 width=135)
-                                                Conds:RS_1209._col0=RS_1203._col0(Inner),Output:["_col1","_col2"]
-                                              <-Map 35 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_1203]
+                                              Merge Join Operator [MERGEJOIN_1544] (rows=158402938 width=135)
+                                                Conds:RS_1852._col0=RS_1833._col0(Inner),Output:["_col1","_col2"]
+                                              <-Map 37 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_1833]
                                                   PartitionCols:_col0
-                                                   Please refer to the previous Select Operator [SEL_1199]
-                                              <-Map 44 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_1209]
+                                                   Please refer to the previous Select Operator [SEL_1827]
+                                              <-Map 48 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_1852]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_1207] (rows=144002668 width=135)
+                                                  Select Operator [SEL_1850] (rows=144002668 width=135)
                                                     Output:["_col0","_col1","_col2"]
-                                                    Filter Operator [FIL_1206] (rows=144002668 width=135)
-                                                      predicate:ws_sold_date_sk is not null
+                                                    Filter Operator [FIL_1849] (rows=144002668 width=135)
+                                                      predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_73_date_dim_d_date_sk_min) AND DynamicValue(RS_73_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_73_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
                                                       TableScan [TS_66] (rows=144002668 width=135)
                                                         default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_quantity","ws_list_price"]
-                                    <-Reducer 41 [CONTAINS]
-                                      Reduce Output Operator [RS_1015]
-                                        Group By Operator [GBY_1014] (rows=1 width=120)
+                                                      <-Reducer 40 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_1848]
+                                                          Group By Operator [GBY_1847] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_1839]
+                                                              Group By Operator [GBY_1837] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_1831] (rows=8116 width=1119)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_1827]
+                                    <-Reducer 45 [CONTAINS]
+                                      Reduce Output Operator [RS_1567]
+                                        Group By Operator [GBY_1566] (rows=1 width=120)
                                           Output:["_col0","_col1"],aggregations:["sum(_col0)","count(_col0)"]
-                                          Select Operator [SEL_1013] (rows=1108786976 width=108)
+                                          Select Operator [SEL_1565] (rows=1108786976 width=108)
                                             Output:["_col0"]
-                                            Select Operator [SEL_1011] (rows=633595212 width=88)
+                                            Select Operator [SEL_1563] (rows=633595212 width=88)
                                               Output:["_col0","_col1"]
-                                              Merge Join Operator [MERGEJOIN_1010] (rows=633595212 width=88)
-                                                Conds:RS_1214._col0=RS_1071._col0(Inner),Output:["_col1","_col2"]
-                                              <-Map 86 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_1071]
+                                              Merge Join Operator [MERGEJOIN_1562] (rows=633595212 width=88)
+                                                Conds:RS_1859._col0=RS_1623._col0(Inner),Output:["_col1","_col2"]
+                                              <-Map 102 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_1623]
                                                   PartitionCols:_col0
-                                                   Please refer to the previous Select Operator [SEL_1064]
-                                              <-Map 39 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_1214]
+                                                   Please refer to the previous Select Operator [SEL_1611]
+                                              <-Map 43 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_1859]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_1212] (rows=575995635 width=88)
+                                                  Select Operator [SEL_1857] (rows=575995635 width=88)
                                                     Output:["_col0","_col1","_col2"]
-                                                    Filter Operator [FIL_1211] (rows=575995635 width=88)
-                                                      predicate:ss_sold_date_sk is not null
+                                                    Filter Operator [FIL_1856] (rows=575995635 width=88)
+                                                      predicate:((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_sold_date_sk is not null)
                                                       TableScan [TS_45] (rows=575995635 width=88)
                                                         default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_quantity","ss_list_price"]
-                            <-Reducer 52 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_1154]
-                                Group By Operator [GBY_1153] (rows=348467716 width=135)
+                                                      <-Reducer 109 [BROADCAST_EDGE] vectorized
+                                                        BROADCAST [RS_1855]
+                                                          Group By Operator [GBY_1854] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                          <-Map 102 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_1635]
+                                                              Group By Operator [GBY_1630] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                Select Operator [SEL_1621] (rows=8116 width=1119)
+                                                                  Output:["_col0"]
+                                                                   Please refer to the previous Select Operator [SEL_1611]
+                            <-Reducer 57 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_1768]
+                                Group By Operator [GBY_1767] (rows=348467716 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                <-Reducer 51 [SIMPLE_EDGE]
+                                <-Reducer 56 [SIMPLE_EDGE]
                                   SHUFFLE [RS_369]
                                     PartitionCols:_col0, _col1, _col2
                                     Group By Operator [GBY_368] (rows=696935432 width=135)
                                       Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col3)","count()"],keys:_col0, _col1, _col2
                                       Select Operator [SEL_366] (rows=696935432 width=135)
                                         Output:["_col0","_col1","_col2","_col3"]
-                                        Merge Join Operator [MERGEJOIN_877] (rows=696935432 width=135)
-                                          Conds:RS_362._col1=RS_1118._col0(Inner),RS_362._col1=RS_1152._col0(Inner),Output:["_col2","_col3","_col8","_col9","_col10"]
-                                        <-Map 56 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_1118]
+                                        Merge Join Operator [MERGEJOIN_1429] (rows=696935432 width=135)
+                                          Conds:RS_362._col1=RS_1699._col0(Inner),RS_362._col1=RS_1758._col0(Inner),Output:["_col2","_col3","_col8","_col9","_col10"]
+                                        <-Map 63 [SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_1699]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_1106] (rows=462000 width=1436)
+                                            Select Operator [SEL_1683] (rows=462000 width=1436)
                                               Output:["_col0","_col1","_col2","_col3"]
-                                              Filter Operator [FIL_1097] (rows=462000 width=1436)
+                                              Filter Operator [FIL_1674] (rows=462000 width=1436)
                                                 predicate:i_item_sk is not null
                                                 TableScan [TS_91] (rows=462000 width=1436)
                                                   default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand_id","i_class_id","i_category_id"]
-                                        <-Reducer 50 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_362]
-                                            PartitionCols:_col1
-                                            Merge Join Operator [MERGEJOIN_869] (rows=316788826 width=135)
-                                              Conds:RS_1146._col0=RS_1089._col0(Inner),Output:["_col1","_col2","_col3"]
-                                            <-Map 49 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_1089]
-                                                PartitionCols:_col0
-                                                Select Operator [SEL_1087] (rows=18262 width=1119)
-                                                  Output:["_col0"]
-                                                  Filter Operator [FIL_1086] (rows=18262 width=1119)
-                                                    predicate:((d_moy = 11) and (d_year = 2000) and d_date_sk is not null)
-                                                    TableScan [TS_85] (rows=73049 width=1119)
-                                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                            <-Map 91 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_1146]
-                                                PartitionCols:_col0
-                                                Select Operator [SEL_1145] (rows=287989836 width=135)
-                                                  Output:["_col0","_col1","_col2","_col3"]
-                                                  Filter Operator [FIL_1144] (rows=287989836 width=135)
-                                                    predicate:(cs_item_sk is not null and cs_sold_date_sk is not null)
-                                                    TableScan [TS_271] (rows=287989836 width=135)
-                                                      default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_item_sk","cs_quantity","cs_list_price"]
-                                        <-Reducer 68 [ONE_TO_ONE_EDGE] vectorized
-                                          FORWARD [RS_1152]
+                                        <-Reducer 80 [ONE_TO_ONE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_1758]
                                             PartitionCols:_col0
-                                            Group By Operator [GBY_1151] (rows=254100 width=1436)
+                                            Group By Operator [GBY_1757] (rows=254100 width=1436)
                                               Output:["_col0"],keys:KEY._col0
-                                            <-Reducer 67 [SIMPLE_EDGE]
+                                            <-Reducer 79 [SIMPLE_EDGE]
                                               SHUFFLE [RS_356]
                                                 PartitionCols:_col0
                                                 Group By Operator [GBY_355] (rows=508200 width=1436)
                                                   Output:["_col0"],keys:_col0
-                                                  Merge Join Operator [MERGEJOIN_876] (rows=508200 width=1436)
-                                                    Conds:RS_1114._col1, _col2, _col3=RS_1150._col0, _col1, _col2(Inner),Output:["_col0"]
-                                                  <-Map 56 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_1114]
+                                                  Merge Join Operator [MERGEJOIN_1428] (rows=508200 width=1436)
+                                                    Conds:RS_1695._col1, _col2, _col3=RS_1756._col0, _col1, _col2(Inner),Output:["_col0"]
+                                                  <-Map 63 [SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_1695]
                                                       PartitionCols:_col1, _col2, _col3
-                                                      Select Operator [SEL_1102] (rows=462000 width=1436)
+                                                      Select Operator [SEL_1679] (rows=462000 width=1436)
                                                         Output:["_col0","_col1","_col2","_col3"]
-                                                        Filter Operator [FIL_1093] (rows=462000 width=1436)
+                                                        Filter Operator [FIL_1670] (rows=462000 width=1436)
                                                           predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null)
                                                            Please refer to the previous TableScan [TS_91]
-                                                  <-Reducer 72 [ONE_TO_ONE_EDGE] vectorized
-                                                    FORWARD [RS_1150]
+                                                  <-Reducer 85 [ONE_TO_ONE_EDGE] vectorized
+                                                    FORWARD [RS_1756]
                                                       PartitionCols:_col0, _col1, _col2
-                                                      Select Operator [SEL_1149] (rows=1 width=108)
+                                                      Select Operator [SEL_1755] (rows=1 width=108)
                                                         Output:["_col0","_col1","_col2"]
-                                                        Filter Operator [FIL_1148] (rows=1 width=108)
+                                                        Filter Operator [FIL_1754] (rows=1 width=108)
                                                           predicate:(_col3 = 3L)
-                                                          Group By Operator [GBY_1147] (rows=304916424 width=108)
+                                                          Group By Operator [GBY_1753] (rows=304916424 width=108)
                                                             Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                                          <-Union 71 [SIMPLE_EDGE]
-                                                            <-Reducer 70 [CONTAINS] vectorized
-                                                              Reduce Output Operator [RS_1236]
+                                                          <-Union 84 [SIMPLE_EDGE]
+                                                            <-Reducer 83 [CONTAINS] vectorized
+                                                              Reduce Output Operator [RS_1893]
                                                                 PartitionCols:_col0, _col1, _col2
-                                                                Group By Operator [GBY_1235] (rows=609832849 width=108)
+                                                                Group By Operator [GBY_1892] (rows=609832849 width=108)
                                                                   Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2
-                                                                  Group By Operator [GBY_1234] (rows=348477374 width=88)
+                                                                  Group By Operator [GBY_1891] (rows=348477374 width=88)
                                                                     Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                                                  <-Reducer 69 [SIMPLE_EDGE]
+                                                                  <-Reducer 82 [SIMPLE_EDGE]
                                                                     SHUFFLE [RS_300]
                                                                       PartitionCols:_col0, _col1, _col2
                                                                       Group By Operator [GBY_299] (rows=696954748 width=88)
                                                                         Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col5, _col6, _col7
-                                                                        Merge Join Operator [MERGEJOIN_871] (rows=696954748 width=88)
-                                                                          Conds:RS_295._col1=RS_1115._col0(Inner),Output:["_col5","_col6","_col7"]
-                                                                        <-Map 56 [SIMPLE_EDGE] vectorized
-                                                                          SHUFFLE [RS_1115]
+                                                                        Merge Join Operator [MERGEJOIN_1423] (rows=696954748 width=88)
+                                                                          Conds:RS_295._col1=RS_1696._col0(Inner),Output:["_col5","_col6","_col7"]
+                                                                        <-Map 63 [SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_1696]
                                                                             PartitionCols:_col0
-                                                                            Select Operator [SEL_1103] (rows=462000 width=1436)
+                                                                            Select Operator [SEL_1680] (rows=462000 width=1436)
                                                                               Output:["_col0","_col1","_col2","_col3"]
-                                                                              Filter Operator [FIL_1094] (rows=462000 width=1436)
+                                                                              Filter Operator [FIL_1671] (rows=462000 width=1436)
                                                                                 predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null)
                                                                                  Please refer to the previous TableScan [TS_91]
-                                                                        <-Reducer 85 [SIMPLE_EDGE]
+                                                                        <-Reducer 101 [SIMPLE_EDGE]
                                                                           SHUFFLE [RS_295]
                                                                             PartitionCols:_col1
-                                                                            Merge Join Operator [MERGEJOIN_855] (rows=633595212 width=88)
-                                                                              Conds:RS_1218._col0=RS_1065._col0(Inner),Output:["_col1"]
-                                                                            <-Map 86 [SIMPLE_EDGE] vectorized
-                                                                              SHUFFLE [RS_1065]
+                                                                            Merge Join Operator [MERGEJOIN_1407] (rows=633595212 width=88)
+                                                                              Conds:RS_1867._col0=RS_1612._col0(Inner),Output:["_col1"]
+                                                                            <-Map 102 [SIMPLE_EDGE] vectorized
+                                                                              SHUFFLE [RS_1612]
                                                                                 PartitionCols:_col0
-                                                                                 Please refer to the previous Select Operator [SEL_1064]
-                                                                            <-Map 84 [SIMPLE_EDGE] vectorized
-                                                                              SHUFFLE [RS_1218]
+                                                                                 Please refer to the previous Select Operator [SEL_1611]
+                                                                            <-Map 100 [SIMPLE_EDGE] vectorized
+                                                                              SHUFFLE [RS_1867]
                                                                                 PartitionCols:_col0
-                                                                                Select Operator [SEL_1217] (rows=575995635 width=88)
+                                                                                Select Operator [SEL_1866] (rows=575995635 width=88)
                                                                                   Output:["_col0","_col1"]
-                                                                                  Filter Operator [FIL_1216] (rows=575995635 width=88)
-                                                                                    predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
+                                                                                  Filter Operator [FIL_1865] (rows=575995635 width=88)
+                                                                                    predicate:((ss_item_sk BETWEEN DynamicValue(RS_107_iss_i_item_sk_min) AND DynamicValue(RS_107_iss_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_107_iss_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_104_d1_d_date_sk_min) AND DynamicValue(RS_104_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_104_d1_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
                                                                                     TableScan [TS_94] (rows=575995635 width=88)
                                                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk"]
-                                                            <-Reducer 79 [CONTAINS] vectorized
-                                                              Reduce Output Operator [RS_1242]
+                                                                                    <-Reducer 103 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_1862]
+                                                                                        Group By Operator [GBY_1861] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 102 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          SHUFFLE [RS_1631]
+                                                                                            Group By Operator [GBY_1626] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_1613] (rows=8116 width=1119)
+                                                                                                Output:["_col0"]
+                                                                                                 Please refer to the previous Select Operator [SEL_1611]
+                                                                                    <-Reducer 71 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_1864]
+                                                                                        Group By Operator [GBY_1863] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 63 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          PARTITION_ONLY_SHUFFLE [RS_1710]
+                                                                                            Group By Operator [GBY_1704] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_1688] (rows=462000 width=1436)
+                                                                                                Output:["_col0"]
+                                                                                                Select Operator [SEL_1677] (rows=462000 width=1436)
+                                                                                                  Output:["_col0","_col1","_col2","_col3"]
+                                                                                                  Filter Operator [FIL_1668] (rows=462000 width=1436)
+                                                                                                    predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null)
+                                                                                                     Please refer to the previous TableScan [TS_91]
+                                                            <-Reducer 93 [CONTAINS] vectorized
+                                                              Reduce Output Operator [RS_1899]
                                                                 PartitionCols:_col0, _col1, _col2
-                                                                Group By Operator [GBY_1241] (rows=609832849 width=108)
+                                                                Group By Operator [GBY_1898] (rows=609832849 width=108)
                                                                   Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2
-                                                                  Group By Operator [GBY_1240] (rows=174233858 width=135)
+                                                                  Group By Operator [GBY_1897] (rows=174233858 width=135)
                                                                     Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                                                  <-Reducer 78 [SIMPLE_EDGE]
+                                                                  <-Reducer 92 [SIMPLE_EDGE]
                                                                     SHUFFLE [RS_320]
                                                                       PartitionCols:_col0, _col1, _col2
                                                                       Group By Operator [GBY_319] (rows=348467716 width=135)
                                                                         Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col5, _col6, _col7
-                                                                        Merge Join Operator [MERGEJOIN_873] (rows=348467716 width=135)
-                                                                          Conds:RS_315._col1=RS_1116._col0(Inner),Output:["_col5","_col6","_col7"]
-                                                                        <-Map 56 [SIMPLE_EDGE] vectorized
-                                                                          SHUFFLE [RS_1116]
+                                                                        Merge Join Operator [MERGEJOIN_1425] (rows=348467716 width=135)
+                                                                          Conds:RS_315._col1=RS_1697._col0(Inner),Output:["_col5","_col6","_col7"]
+                                                                        <-Map 63 [SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_1697]
                                                                             PartitionCols:_col0
-                                                                            Select Operator [SEL_1104] (rows=462000 width=1436)
+                                                                            Select Operator [SEL_1681] (rows=462000 width=1436)
                                                                               Output:["_col0","_col1","_col2","_col3"]
-                                                                              Filter Operator [FIL_1095] (rows=462000 width=1436)
+                                                                              Filter Operator [FIL_1672] (rows=462000 width=1436)
                                                                                 predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null)
                                                                                  Please refer to the previous TableScan [TS_91]
-                                                                        <-Reducer 87 [SIMPLE_EDGE]
+                                                                        <-Reducer 104 [SIMPLE_EDGE]
                                                                           SHUFFLE [RS_315]
                                                                             PartitionCols:_col1
-                                                                            Merge Join Operator [MERGEJOIN_857] (rows=316788826 width=135)
-                                                                              Conds:RS_1224._col0=RS_1066._col0(Inner),Output:["_col1"]
-                                                                            <-Map 86 [SIMPLE_EDGE] vectorized
-                                                                              SHUFFLE [RS_1066]
+                                                                            Merge Join Operator [MERGEJOIN_1409] (rows=316788826 width=135)
+                                                                              Conds:RS_1877._col0=RS_1614._col0(Inner),Output:["_col1"]
+                                                                            <-Map 102 [SIMPLE_EDGE] vectorized
+                                                                              SHUFFLE [RS_1614]
                                                                                 PartitionCols:_col0
-                                                                                 Please refer to the previous Select Operator [SEL_1064]
-                                                                            <-Map 89 [SIMPLE_EDGE] vectorized
-                                                                              SHUFFLE [RS_1224]
+                                                                                 Please refer to the previous Select Operator [SEL_1611]
+                                                                            <-Map 110 [SIMPLE_EDGE] vectorized
+                                                                              SHUFFLE [RS_1877]
                                                                                 PartitionCols:_col0
-                                                                                Select Operator [SEL_1223] (rows=287989836 width=135)
+                                                                                Select Operator [SEL_1876] (rows=287989836 width=135)
                                                                                   Output:["_col0","_col1"]
-                                                                                  Filter Operator [FIL_1222] (rows=287989836 width=135)
-                                                                                    predicate:(cs_item_sk is not null and cs_sold_date_sk is not null)
+                                                                                  Filter Operator [FIL_1875] (rows=287989836 width=135)
+                                                                                    predicate:((cs_item_sk BETWEEN DynamicValue(RS_127_ics_i_item_sk_min) AND DynamicValue(RS_127_ics_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_127_ics_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_124_d2_d_date_sk_min) AND DynamicValue(RS_124_d2_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_124_d2_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null)
                                                                                     TableScan [TS_114] (rows=287989836 width=135)
                                                                                       default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_item_sk"]
-                                                            <-Reducer 82 [CONTAINS] vectorized
-                                                              Reduce Output Operator [RS_1248]
+                                                                                    <-Reducer 105 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_1872]
+                                                                                        Group By Operator [GBY_1871] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 102 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          SHUFFLE [RS_1632]
+                                                                                            Group By Operator [GBY_1627] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_1615] (rows=8116 width=1119)
+                                                                                                Output:["_col0"]
+                                                                                                 Please refer to the previous Select Operator [SEL_1611]
+                                                                                    <-Reducer 74 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_1874]
+                                                                                        Group By Operator [GBY_1873] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 63 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          PARTITION_ONLY_SHUFFLE [RS_1711]
+                                                                                            Group By Operator [GBY_1705] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_1690] (rows=462000 width=1436)
+                                                                                                Output:["_col0"]
+                                                                                                 Please refer to the previous Select Operator [SEL_1677]
+                                                            <-Reducer 96 [CONTAINS] vectorized
+                                                              Reduce Output Operator [RS_1905]
                                                                 PartitionCols:_col0, _col1, _col2
-                                                                Group By Operator [GBY_1247] (rows=609832849 width=108)
+                                                                Group By Operator [GBY_1904] (rows=609832849 width=108)
                                                                   Output:["_col0","_col1","_col2","_col3"],aggregations:["count(_col3)"],keys:_col0, _col1, _col2
-                                                                  Group By Operator [GBY_1246] (rows=87121617 width=135)
+                                                                  Group By Operator [GBY_1903] (rows=87121617 width=135)
                                                                     Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                                                  <-Reducer 81 [SIMPLE_EDGE]
+                                                                  <-Reducer 95 [SIMPLE_EDGE]
                                                                     SHUFFLE [RS_341]
                                                                       PartitionCols:_col0, _col1, _col2
                                                                       Group By Operator [GBY_340] (rows=174243235 width=135)
                                                                         Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col5, _col6, _col7
-                                                                        Merge Join Operator [MERGEJOIN_875] (rows=174243235 width=135)
-                                                                          Conds:RS_336._col1=RS_1117._col0(Inner),Output:["_col5","_col6","_col7"]
-                                                                        <-Map 56 [SIMPLE_EDGE] vectorized
-                                                                          SHUFFLE [RS_1117]
+                                                                        Merge Join Operator [MERGEJOIN_1427] (rows=174243235 width=135)
+                                                                          Conds:RS_336._col1=RS_1698._col0(Inner),Output:["_col5","_col6","_col7"]
+                                                                        <-Map 63 [SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_1698]
                                                                             PartitionCols:_col0
-                                                                            Select Operator [SEL_1105] (rows=462000 width=1436)
+                                                                            Select Operator [SEL_1682] (rows=462000 width=1436)
                                                                               Output:["_col0","_col1","_col2","_col3"]
-                                                                              Filter Operator [FIL_1096] (rows=462000 width=1436)
+                                                                              Filter Operator [FIL_1673] (rows=462000 width=1436)
                                                                                 predicate:(i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null)
                                                                                  Please refer to the previous TableScan [TS_91]
-                                                                        <-Reducer 88 [SIMPLE_EDGE]
+                                                                        <-Reducer 106 [SIMPLE_EDGE]
                                                                           SHUFFLE [RS_336]
                                                                             PartitionCols:_col1
-                                                                            Merge Join Operator [MERGEJOIN_859] (rows=158402938 width=135)
-                                                                              Conds:RS_1230._col0=RS_1067._col0(Inner),Output:["_col1"]
-                                                                            <-Map 86 [SIMPLE_EDGE] vectorized
-                                                                              SHUFFLE [RS_1067]
+                                                                            Merge Join Operator [MERGEJOIN_1411] (rows=158402938 width=135)
+                                                                              Conds:RS_1887._col0=RS_1616._col0(Inner),Output:["_col1"]
+                                                                            <-Map 102 [SIMPLE_EDGE] vectorized
+                                                                              SHUFFLE [RS_1616]
                                                                                 PartitionCols:_col0
-                                                                                 Please refer to the previous Select Operator [SEL_1064]
-                                                                            <-Map 90 [SIMPLE_EDGE] vectorized
-                                                                              SHUFFLE [RS_1230]
+                                                                                 Please refer to the previous Select Operator [SEL_1611]
+                                                                            <-Map 111 [SIMPLE_EDGE] vectorized
+                                                                              SHUFFLE [RS_1887]
                                                                                 PartitionCols:_col0
-                                                                                Select Operator [SEL_1229] (rows=144002668 width=135)
+                                                                                Select Operator [SEL_1886] (rows=144002668 width=135)
                                                                                   Output:["_col0","_col1"]
-                                                                                  Filter Operator [FIL_1228] (rows=144002668 width=135)
-                                                                                    predicate:(ws_item_sk is not null and ws_sold_date_sk is not null)
+                                                                                  Filter Operator [FIL_1885] (rows=144002668 width=135)
+                                                                                    predicate:((ws_item_sk BETWEEN DynamicValue(RS_148_iws_i_item_sk_min) AND DynamicValue(RS_148_iws_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_148_iws_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_145_d3_d_date_sk_min) AND DynamicValue(RS_145_d3_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_145_d3_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null)
                                                                                     TableScan [TS_135] (rows=144002668 width=135)
                                                                                       default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk"]
+                                                                                    <-Reducer 107 [BROADCAST_EDGE] vectorized
+                                                                                      BROADCAST [RS_1882]
+                                                                                        Group By Operator [GBY_1881] (rows=1 width=12)
+                                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                                        <-Map 102 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                          SHUFFLE [RS_1633]
+                                                                                            Group By Operator [GBY_1628] (rows=1 width=12)
+                                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                              Select Operator [SEL_1617] (rows=8116 width=1119)
+                                                                                              

<TRUNCATED>

[13/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query24.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query24.q.out b/ql/src/test/results/clientpositive/perf/tez/query24.q.out
index 68a1504..9fcec42 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query24.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query24.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[154][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 8' is a cross product
+Warning: Shuffle Join MERGEJOIN[286][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 8' is a cross product
 PREHOOK: query: explain
 with ssales as
 (select c_last_name
@@ -100,20 +100,32 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 18 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 16 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 12 <- Map 19 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Map 20 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 18 (BROADCAST_EDGE), Reducer 23 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE), Reducer 27 (BROADCAST_EDGE)
+Map 31 <- Reducer 16 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Reducer 24 (BROADCAST_EDGE), Reducer 28 (BROADCAST_EDGE), Reducer 29 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 11 <- Map 9 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
+Reducer 12 <- Map 25 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 30 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
 Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
 Reducer 15 <- Reducer 14 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
+Reducer 16 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 17 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
+Reducer 20 <- Map 22 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 21 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 23 <- Map 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 24 <- Map 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Map 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Map 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 25 (CUSTOM_SIMPLE_EDGE)
 Reducer 3 <- Map 17 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 18 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 19 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Map 20 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 4 <- Map 22 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 25 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Map 30 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 8 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 1 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -125,166 +137,281 @@ Stage-0
           Output:["_col0","_col1","_col2","_col3"]
           Filter Operator [FIL_89] (rows=77303902 width=321)
             predicate:(_col3 > _col4)
-            Merge Join Operator [MERGEJOIN_154] (rows=231911707 width=321)
+            Merge Join Operator [MERGEJOIN_286] (rows=231911707 width=321)
               Conds:(Inner),Output:["_col0","_col1","_col2","_col3","_col4"]
             <-Reducer 15 [CUSTOM_SIMPLE_EDGE] vectorized
-              PARTITION_ONLY_SHUFFLE [RS_192]
-                Select Operator [SEL_191] (rows=1 width=232)
+              PARTITION_ONLY_SHUFFLE [RS_376]
+                Select Operator [SEL_375] (rows=1 width=232)
                   Output:["_col0"]
-                  Group By Operator [GBY_190] (rows=1 width=232)
+                  Group By Operator [GBY_374] (rows=1 width=232)
                     Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"]
                   <-Reducer 14 [CUSTOM_SIMPLE_EDGE] vectorized
-                    PARTITION_ONLY_SHUFFLE [RS_189]
-                      Group By Operator [GBY_188] (rows=1 width=232)
+                    PARTITION_ONLY_SHUFFLE [RS_373]
+                      Group By Operator [GBY_372] (rows=1 width=232)
                         Output:["_col0","_col1"],aggregations:["sum(_col10)","count(_col10)"]
-                        Select Operator [SEL_187] (rows=463823414 width=88)
+                        Select Operator [SEL_371] (rows=463823414 width=88)
                           Output:["_col10"]
-                          Group By Operator [GBY_186] (rows=463823414 width=88)
+                          Group By Operator [GBY_370] (rows=463823414 width=88)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8, KEY._col9
                           <-Reducer 13 [SIMPLE_EDGE]
                             SHUFFLE [RS_78]
                               PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
                               Group By Operator [GBY_77] (rows=927646829 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(_col4)"],keys:_col11, _col12, _col6, _col8, _col15, _col16, _col17, _col18, _col19, _col22
-                                Merge Join Operator [MERGEJOIN_153] (rows=927646829 width=88)
-                                  Conds:RS_73._col9, _col13=RS_180._col1, upper(_col2)(Inner),Output:["_col4","_col6","_col8","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col22"]
-                                <-Map 20 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_180]
+                                Merge Join Operator [MERGEJOIN_285] (rows=927646829 width=88)
+                                  Conds:RS_73._col9, _col13=RS_351._col1, upper(_col2)(Inner),Output:["_col4","_col6","_col8","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col22"]
+                                <-Map 30 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_351]
                                     PartitionCols:_col1, upper(_col2)
-                                    Select Operator [SEL_178] (rows=40000000 width=1014)
+                                    Select Operator [SEL_349] (rows=40000000 width=1014)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_177] (rows=40000000 width=1014)
+                                      Filter Operator [FIL_348] (rows=40000000 width=1014)
                                         predicate:(ca_zip is not null and upper(ca_country) is not null)
                                         TableScan [TS_15] (rows=40000000 width=1014)
                                           default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_state","ca_zip","ca_country"]
                                 <-Reducer 12 [SIMPLE_EDGE]
                                   SHUFFLE [RS_73]
                                     PartitionCols:_col9, _col13
-                                    Merge Join Operator [MERGEJOIN_152] (rows=843315281 width=88)
-                                      Conds:RS_70._col0, _col3=RS_176._col0, _col1(Inner),Output:["_col4","_col6","_col8","_col9","_col11","_col12","_col13","_col15","_col16","_col17","_col18","_col19"]
-                                    <-Map 19 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_176]
+                                    Merge Join Operator [MERGEJOIN_284] (rows=843315281 width=88)
+                                      Conds:RS_70._col0, _col3=RS_330._col0, _col1(Inner),Output:["_col4","_col6","_col8","_col9","_col11","_col12","_col13","_col15","_col16","_col17","_col18","_col19"]
+                                    <-Map 25 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_330]
                                         PartitionCols:_col0, _col1
-                                        Select Operator [SEL_174] (rows=57591150 width=77)
+                                        Select Operator [SEL_326] (rows=57591150 width=77)
                                           Output:["_col0","_col1"]
-                                          Filter Operator [FIL_173] (rows=57591150 width=77)
+                                          Filter Operator [FIL_325] (rows=57591150 width=77)
                                             predicate:(sr_item_sk is not null and sr_ticket_number is not null)
                                             TableScan [TS_12] (rows=57591150 width=77)
                                               default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_item_sk","sr_ticket_number"]
                                     <-Reducer 11 [SIMPLE_EDGE]
                                       SHUFFLE [RS_70]
                                         PartitionCols:_col0, _col3
-                                        Merge Join Operator [MERGEJOIN_151] (rows=766650239 width=88)
-                                          Conds:RS_67._col0=RS_164._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col8","_col9","_col11","_col12","_col13","_col15","_col16","_col17","_col18","_col19"]
-                                        <-Map 16 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_164]
+                                        Merge Join Operator [MERGEJOIN_283] (rows=766650239 width=88)
+                                          Conds:RS_67._col0=RS_293._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col8","_col9","_col11","_col12","_col13","_col15","_col16","_col17","_col18","_col19"]
+                                        <-Map 9 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_293]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_162] (rows=462000 width=1436)
+                                            Select Operator [SEL_290] (rows=462000 width=1436)
                                               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                              Filter Operator [FIL_160] (rows=462000 width=1436)
+                                              Filter Operator [FIL_288] (rows=462000 width=1436)
                                                 predicate:i_item_sk is not null
                                                 TableScan [TS_3] (rows=462000 width=1436)
                                                   default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_size","i_color","i_units","i_manager_id"]
-                                        <-Reducer 10 [SIMPLE_EDGE]
+                                        <-Reducer 20 [SIMPLE_EDGE]
                                           SHUFFLE [RS_67]
                                             PartitionCols:_col0
-                                            Merge Join Operator [MERGEJOIN_150] (rows=696954748 width=88)
-                                              Conds:RS_64._col1=RS_172._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col8","_col9","_col11","_col12","_col13"]
-                                            <-Map 18 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_172]
+                                            Merge Join Operator [MERGEJOIN_282] (rows=696954748 width=88)
+                                              Conds:RS_64._col1=RS_317._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col8","_col9","_col11","_col12","_col13"]
+                                            <-Map 22 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_317]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_170] (rows=80000000 width=860)
+                                                Select Operator [SEL_314] (rows=80000000 width=860)
                                                   Output:["_col0","_col1","_col2","_col3"]
-                                                  Filter Operator [FIL_169] (rows=80000000 width=860)
+                                                  Filter Operator [FIL_313] (rows=80000000 width=860)
                                                     predicate:(c_birth_country is not null and c_customer_sk is not null)
                                                     TableScan [TS_9] (rows=80000000 width=860)
                                                       default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name","c_birth_country"]
-                                            <-Reducer 9 [SIMPLE_EDGE]
+                                            <-Reducer 19 [SIMPLE_EDGE]
                                               SHUFFLE [RS_64]
                                                 PartitionCols:_col1
-                                                Merge Join Operator [MERGEJOIN_149] (rows=633595212 width=88)
-                                                  Conds:RS_158._col2=RS_168._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col6","_col8","_col9"]
-                                                <-Map 1 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_158]
-                                                    PartitionCols:_col2
-                                                    Select Operator [SEL_156] (rows=575995635 width=88)
-                                                      Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                      Filter Operator [FIL_155] (rows=575995635 width=88)
-                                                        predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
-                                                        TableScan [TS_0] (rows=575995635 width=88)
-                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"]
+                                                Merge Join Operator [MERGEJOIN_281] (rows=633595212 width=88)
+                                                  Conds:RS_369._col2=RS_305._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col6","_col8","_col9"]
                                                 <-Map 17 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_168]
+                                                  SHUFFLE [RS_305]
                                                     PartitionCols:_col0
-                                                    Select Operator [SEL_166] (rows=852 width=1910)
+                                                    Select Operator [SEL_302] (rows=852 width=1910)
                                                       Output:["_col0","_col1","_col3","_col4"]
-                                                      Filter Operator [FIL_165] (rows=852 width=1910)
+                                                      Filter Operator [FIL_301] (rows=852 width=1910)
                                                         predicate:((s_market_id = 7) and s_store_sk is not null and s_zip is not null)
                                                         TableScan [TS_6] (rows=1704 width=1910)
                                                           default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_market_id","s_state","s_zip"]
+                                                <-Map 31 [SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_369]
+                                                    PartitionCols:_col2
+                                                    Select Operator [SEL_368] (rows=575995635 width=88)
+                                                      Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                      Filter Operator [FIL_367] (rows=575995635 width=88)
+                                                        predicate:((ss_customer_sk BETWEEN DynamicValue(RS_65_customer_c_customer_sk_min) AND DynamicValue(RS_65_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_65_customer_c_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_68_item_i_item_sk_min) AND DynamicValue(RS_68_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_68_item_i_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_71_store_returns_sr_item_sk_min) AND DynamicValue(RS_71_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_71_store_returns_sr_item_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_62_store_s_store_sk_min) AND DynamicValue(RS_62_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_62_store_s_store_sk_bloom_filter))) and (ss_ticket_number BETWEEN DynamicValue(RS_71_store_returns_sr_ticket_number_min) AND DynamicValue(RS_71_stor
 e_returns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_71_store_returns_sr_ticket_number_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                                        TableScan [TS_43] (rows=575995635 width=88)
+                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"]
+                                                        <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_362]
+                                                            Group By Operator [GBY_361] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                            <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_298]
+                                                                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_294] (rows=462000 width=1436)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_290]
+                                                        <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_358]
+                                                            Group By Operator [GBY_357] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                            <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_310]
+                                                                Group By Operator [GBY_308] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                  Select Operator [SEL_306] (rows=852 width=1910)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_302]
+                                                        <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_360]
+                                                            Group By Operator [GBY_359] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                            <-Map 22 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_322]
+                                                                Group By Operator [GBY_320] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                                  Select Operator [SEL_318] (rows=80000000 width=860)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_314]
+                                                        <-Reducer 28 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_364]
+                                                            Group By Operator [GBY_363] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
+                                                            <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_339]
+                                                                Group By Operator [GBY_335] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
+                                                                  Select Operator [SEL_331] (rows=57591150 width=77)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_326]
+                                                        <-Reducer 29 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_366]
+                                                            Group By Operator [GBY_365] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
+                                                            <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_340]
+                                                                Group By Operator [GBY_336] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
+                                                                  Select Operator [SEL_332] (rows=57591150 width=77)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_326]
             <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
-              PARTITION_ONLY_SHUFFLE [RS_185]
-                Select Operator [SEL_184] (rows=231911707 width=88)
+              PARTITION_ONLY_SHUFFLE [RS_356]
+                Select Operator [SEL_355] (rows=231911707 width=88)
                   Output:["_col0","_col1","_col2","_col3"]
-                  Group By Operator [GBY_183] (rows=231911707 width=88)
+                  Group By Operator [GBY_354] (rows=231911707 width=88)
                     Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col9)"],keys:_col1, _col2, _col7
-                    Select Operator [SEL_182] (rows=463823414 width=88)
+                    Select Operator [SEL_353] (rows=463823414 width=88)
                       Output:["_col1","_col2","_col7","_col9"]
-                      Group By Operator [GBY_181] (rows=463823414 width=88)
+                      Group By Operator [GBY_352] (rows=463823414 width=88)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7, KEY._col8
                       <-Reducer 6 [SIMPLE_EDGE]
                         SHUFFLE [RS_35]
                           PartitionCols:_col0, _col1, _col2
                           Group By Operator [GBY_34] (rows=927646829 width=88)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"],aggregations:["sum(_col4)"],keys:_col17, _col18, _col12, _col22, _col6, _col7, _col9, _col10, _col14
-                            Merge Join Operator [MERGEJOIN_148] (rows=927646829 width=88)
-                              Conds:RS_30._col15, _col19=RS_179._col1, upper(_col2)(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col17","_col18","_col22"]
-                            <-Map 20 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_179]
+                            Merge Join Operator [MERGEJOIN_280] (rows=927646829 width=88)
+                              Conds:RS_30._col15, _col19=RS_350._col1, upper(_col2)(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col17","_col18","_col22"]
+                            <-Map 30 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_350]
                                 PartitionCols:_col1, upper(_col2)
-                                 Please refer to the previous Select Operator [SEL_178]
+                                 Please refer to the previous Select Operator [SEL_349]
                             <-Reducer 5 [SIMPLE_EDGE]
                               SHUFFLE [RS_30]
                                 PartitionCols:_col15, _col19
-                                Merge Join Operator [MERGEJOIN_147] (rows=843315281 width=88)
-                                  Conds:RS_27._col0, _col3=RS_175._col0, _col1(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15","_col17","_col18","_col19"]
-                                <-Map 19 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_175]
+                                Merge Join Operator [MERGEJOIN_279] (rows=843315281 width=88)
+                                  Conds:RS_27._col0, _col3=RS_327._col0, _col1(Inner),Output:["_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15","_col17","_col18","_col19"]
+                                <-Map 25 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_327]
                                     PartitionCols:_col0, _col1
-                                     Please refer to the previous Select Operator [SEL_174]
+                                     Please refer to the previous Select Operator [SEL_326]
                                 <-Reducer 4 [SIMPLE_EDGE]
                                   SHUFFLE [RS_27]
                                     PartitionCols:_col0, _col3
-                                    Merge Join Operator [MERGEJOIN_146] (rows=766650239 width=88)
-                                      Conds:RS_24._col1=RS_171._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15","_col17","_col18","_col19"]
-                                    <-Map 18 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_171]
+                                    Merge Join Operator [MERGEJOIN_278] (rows=766650239 width=88)
+                                      Conds:RS_24._col1=RS_315._col0(Inner),Output:["_col0","_col3","_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15","_col17","_col18","_col19"]
+                                    <-Map 22 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_315]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_170]
+                                         Please refer to the previous Select Operator [SEL_314]
                                     <-Reducer 3 [SIMPLE_EDGE]
                                       SHUFFLE [RS_24]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_145] (rows=696954748 width=88)
-                                          Conds:RS_21._col2=RS_167._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15"]
+                                        Merge Join Operator [MERGEJOIN_277] (rows=696954748 width=88)
+                                          Conds:RS_21._col2=RS_303._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col6","_col7","_col9","_col10","_col12","_col14","_col15"]
                                         <-Map 17 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_167]
+                                          SHUFFLE [RS_303]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_166]
+                                             Please refer to the previous Select Operator [SEL_302]
                                         <-Reducer 2 [SIMPLE_EDGE]
                                           SHUFFLE [RS_21]
                                             PartitionCols:_col2
-                                            Merge Join Operator [MERGEJOIN_144] (rows=633595212 width=88)
-                                              Conds:RS_157._col0=RS_163._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col9","_col10"]
-                                            <-Map 1 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_157]
-                                                PartitionCols:_col0
-                                                 Please refer to the previous Select Operator [SEL_156]
-                                            <-Map 16 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_163]
+                                            Merge Join Operator [MERGEJOIN_276] (rows=633595212 width=88)
+                                              Conds:RS_347._col0=RS_291._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col9","_col10"]
+                                            <-Map 9 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_291]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_161] (rows=231000 width=1436)
+                                                Select Operator [SEL_289] (rows=231000 width=1436)
                                                   Output:["_col0","_col1","_col2","_col4","_col5"]
-                                                  Filter Operator [FIL_159] (rows=231000 width=1436)
+                                                  Filter Operator [FIL_287] (rows=231000 width=1436)
                                                     predicate:((i_color = 'orchid') and i_item_sk is not null)
                                                      Please refer to the previous TableScan [TS_3]
+                                            <-Map 1 [SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_347]
+                                                PartitionCols:_col0
+                                                Select Operator [SEL_346] (rows=575995635 width=88)
+                                                  Output:["_col0","_col1","_col2","_col3","_col4"]
+                                                  Filter Operator [FIL_345] (rows=575995635 width=88)
+                                                    predicate:((ss_customer_sk BETWEEN DynamicValue(RS_25_customer_c_customer_sk_min) AND DynamicValue(RS_25_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_25_customer_c_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_19_item_i_item_sk_min) AND DynamicValue(RS_19_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_item_i_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_28_store_returns_sr_item_sk_min) AND DynamicValue(RS_28_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_28_store_returns_sr_item_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_22_store_s_store_sk_min) AND DynamicValue(RS_22_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_22_store_s_store_sk_bloom_filter))) and (ss_ticket_number BETWEEN DynamicValue(RS_28_store_returns_sr_ticket_number_min) AND DynamicValue(RS_28_store_re
 turns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_28_store_returns_sr_ticket_number_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                                    TableScan [TS_0] (rows=575995635 width=88)
+                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_sales_price"]
+                                                    <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_300]
+                                                        Group By Operator [GBY_299] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                        <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_297]
+                                                            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_292] (rows=231000 width=1436)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_289]
+                                                    <-Reducer 18 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_312]
+                                                        Group By Operator [GBY_311] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                        <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_309]
+                                                            Group By Operator [GBY_307] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                              Select Operator [SEL_304] (rows=852 width=1910)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_302]
+                                                    <-Reducer 23 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_324]
+                                                        Group By Operator [GBY_323] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                        <-Map 22 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_321]
+                                                            Group By Operator [GBY_319] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                              Select Operator [SEL_316] (rows=80000000 width=860)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_314]
+                                                    <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_342]
+                                                        Group By Operator [GBY_341] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
+                                                        <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_337]
+                                                            Group By Operator [GBY_333] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
+                                                              Select Operator [SEL_328] (rows=57591150 width=77)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_326]
+                                                    <-Reducer 27 [BROADCAST_EDGE] vectorized
+                                                      BROADCAST [RS_344]
+                                                        Group By Operator [GBY_343] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
+                                                        <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_338]
+                                                            Group By Operator [GBY_334] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
+                                                              Select Operator [SEL_329] (rows=57591150 width=77)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Select Operator [SEL_326]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query25.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query25.q.out b/ql/src/test/results/clientpositive/perf/tez/query25.q.out
index 9af27f8..a885cf3 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query25.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query25.q.out
@@ -95,135 +95,212 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 11 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Map 1 <- Reducer 19 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 16 <- Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE)
+Reducer 10 <- Map 16 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 17 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 18 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 20 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_130]
-        Limit [LIM_129] (rows=100 width=88)
+      File Output Operator [FS_259]
+        Limit [LIM_258] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_128] (rows=421657640 width=88)
+          Select Operator [SEL_257] (rows=421657640 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_127]
-              Group By Operator [GBY_126] (rows=421657640 width=88)
+            SHUFFLE [RS_256]
+              Group By Operator [GBY_255] (rows=421657640 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
               <-Reducer 5 [SIMPLE_EDGE]
                 SHUFFLE [RS_49]
                   PartitionCols:_col0, _col1, _col2, _col3
                   Group By Operator [GBY_48] (rows=843315281 width=88)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col5)","sum(_col20)","sum(_col12)"],keys:_col25, _col26, _col28, _col29
-                    Merge Join Operator [MERGEJOIN_101] (rows=843315281 width=88)
-                      Conds:RS_44._col3=RS_125._col0(Inner),Output:["_col5","_col12","_col20","_col25","_col26","_col28","_col29"]
-                    <-Map 15 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_125]
+                    Merge Join Operator [MERGEJOIN_205] (rows=843315281 width=88)
+                      Conds:RS_44._col3=RS_234._col0(Inner),Output:["_col5","_col12","_col20","_col25","_col26","_col28","_col29"]
+                    <-Map 20 [SIMPLE_EDGE] vectorized
+                      SHUFFLE [RS_234]
                         PartitionCols:_col0
-                        Select Operator [SEL_124] (rows=1704 width=1910)
+                        Select Operator [SEL_233] (rows=1704 width=1910)
                           Output:["_col0","_col1","_col2"]
-                          Filter Operator [FIL_123] (rows=1704 width=1910)
+                          Filter Operator [FIL_232] (rows=1704 width=1910)
                             predicate:s_store_sk is not null
                             TableScan [TS_32] (rows=1704 width=1910)
                               default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"]
                     <-Reducer 4 [SIMPLE_EDGE]
                       SHUFFLE [RS_44]
                         PartitionCols:_col3
-                        Merge Join Operator [MERGEJOIN_100] (rows=766650239 width=88)
-                          Conds:RS_41._col1=RS_122._col0(Inner),Output:["_col3","_col5","_col12","_col20","_col25","_col26"]
-                        <-Map 14 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_122]
+                        Merge Join Operator [MERGEJOIN_204] (rows=766650239 width=88)
+                          Conds:RS_41._col1=RS_225._col0(Inner),Output:["_col3","_col5","_col12","_col20","_col25","_col26"]
+                        <-Map 18 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_225]
                             PartitionCols:_col0
-                            Select Operator [SEL_121] (rows=462000 width=1436)
+                            Select Operator [SEL_224] (rows=462000 width=1436)
                               Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_120] (rows=462000 width=1436)
+                              Filter Operator [FIL_223] (rows=462000 width=1436)
                                 predicate:i_item_sk is not null
                                 TableScan [TS_29] (rows=462000 width=1436)
                                   default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"]
                         <-Reducer 3 [SIMPLE_EDGE]
                           SHUFFLE [RS_41]
                             PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_99] (rows=696954748 width=88)
+                            Merge Join Operator [MERGEJOIN_203] (rows=696954748 width=88)
                               Conds:RS_38._col1, _col2, _col4=RS_39._col8, _col9, _col10(Inner),Output:["_col1","_col3","_col5","_col12","_col20"]
-                            <-Reducer 10 [SIMPLE_EDGE]
+                            <-Reducer 11 [SIMPLE_EDGE]
                               SHUFFLE [RS_39]
                                 PartitionCols:_col8, _col9, _col10
-                                Merge Join Operator [MERGEJOIN_98] (rows=348467716 width=135)
+                                Merge Join Operator [MERGEJOIN_202] (rows=348467716 width=135)
                                   Conds:RS_25._col2, _col1=RS_26._col1, _col2(Inner),Output:["_col3","_col8","_col9","_col10","_col11"]
-                                <-Reducer 11 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_26]
+                                <-Reducer 13 [SIMPLE_EDGE]
+                                  PARTITION_ONLY_SHUFFLE [RS_26]
                                     PartitionCols:_col1, _col2
-                                    Merge Join Operator [MERGEJOIN_97] (rows=63350266 width=77)
-                                      Conds:RS_119._col0=RS_113._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                    Merge Join Operator [MERGEJOIN_201] (rows=63350266 width=77)
+                                      Conds:RS_247._col0=RS_216._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_113]
+                                      PARTITION_ONLY_SHUFFLE [RS_216]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_110] (rows=4058 width=1119)
+                                        Select Operator [SEL_211] (rows=4058 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_107] (rows=4058 width=1119)
+                                          Filter Operator [FIL_208] (rows=4058 width=1119)
                                             predicate:((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10)
                                             TableScan [TS_3] (rows=73049 width=1119)
                                               default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                    <-Map 13 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_119]
+                                    <-Map 17 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_247]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_118] (rows=57591150 width=77)
+                                        Select Operator [SEL_246] (rows=57591150 width=77)
                                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                                          Filter Operator [FIL_117] (rows=57591150 width=77)
+                                          Filter Operator [FIL_245] (rows=57591150 width=77)
                                             predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
                                             TableScan [TS_12] (rows=57591150 width=77)
                                               default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_net_loss"]
-                                <-Reducer 9 [SIMPLE_EDGE]
+                                <-Reducer 10 [SIMPLE_EDGE]
                                   SHUFFLE [RS_25]
                                     PartitionCols:_col2, _col1
-                                    Merge Join Operator [MERGEJOIN_96] (rows=316788826 width=135)
-                                      Conds:RS_116._col0=RS_112._col0(Inner),Output:["_col1","_col2","_col3"]
+                                    Merge Join Operator [MERGEJOIN_200] (rows=316788826 width=135)
+                                      Conds:RS_254._col0=RS_214._col0(Inner),Output:["_col1","_col2","_col3"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_112]
+                                      PARTITION_ONLY_SHUFFLE [RS_214]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_109] (rows=4058 width=1119)
+                                        Select Operator [SEL_210] (rows=4058 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_106] (rows=4058 width=1119)
+                                          Filter Operator [FIL_207] (rows=4058 width=1119)
                                             predicate:((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10)
                                              Please refer to the previous TableScan [TS_3]
-                                    <-Map 12 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_116]
+                                    <-Map 16 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_254]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_115] (rows=287989836 width=135)
+                                        Select Operator [SEL_253] (rows=287989836 width=135)
                                           Output:["_col0","_col1","_col2","_col3"]
-                                          Filter Operator [FIL_114] (rows=287989836 width=135)
-                                            predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                          Filter Operator [FIL_252] (rows=287989836 width=135)
+                                            predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_26_store_returns_sr_customer_sk_min) AND DynamicValue(RS_26_store_returns_sr_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_26_store_returns_sr_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_26_store_returns_sr_item_sk_min) AND DynamicValue(RS_26_store_returns_sr_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_26_store_returns_sr_item_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_42_item_i_item_sk_min) AND DynamicValue(RS_42_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_42_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_23_d3_d_date_sk_min) AND DynamicValue(RS_23_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_23_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
                                             TableScan [TS_6] (rows=287989836 width=135)
                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_net_profit"]
+                                            <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_231]
+                                                Group By Operator [GBY_229] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_228]
+                                                    Group By Operator [GBY_227] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_226] (rows=462000 width=1436)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_224]
+                                            <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_244]
+                                                Group By Operator [GBY_243] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_220]
+                                                    Group By Operator [GBY_218] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_215] (rows=4058 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_210]
+                                            <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_249]
+                                                Group By Operator [GBY_248] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+                                                  PARTITION_ONLY_SHUFFLE [RS_137]
+                                                    Group By Operator [GBY_136] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                      Select Operator [SEL_135] (rows=63350266 width=77)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Merge Join Operator [MERGEJOIN_201]
+                                            <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_251]
+                                                Group By Operator [GBY_250] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+                                                  PARTITION_ONLY_SHUFFLE [RS_142]
+                                                    Group By Operator [GBY_141] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                      Select Operator [SEL_140] (rows=63350266 width=77)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Merge Join Operator [MERGEJOIN_201]
                             <-Reducer 2 [SIMPLE_EDGE]
                               SHUFFLE [RS_38]
                                 PartitionCols:_col1, _col2, _col4
-                                Merge Join Operator [MERGEJOIN_95] (rows=633595212 width=88)
-                                  Conds:RS_104._col0=RS_111._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                Merge Join Operator [MERGEJOIN_199] (rows=633595212 width=88)
+                                  Conds:RS_242._col0=RS_212._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                 <-Map 8 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_111]
+                                  PARTITION_ONLY_SHUFFLE [RS_212]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_108] (rows=18262 width=1119)
+                                    Select Operator [SEL_209] (rows=18262 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_105] (rows=18262 width=1119)
+                                      Filter Operator [FIL_206] (rows=18262 width=1119)
                                         predicate:((d_moy = 4) and (d_year = 2000) and d_date_sk is not null)
                                          Please refer to the previous TableScan [TS_3]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_104]
+                                  SHUFFLE [RS_242]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_103] (rows=575995635 width=88)
+                                    Select Operator [SEL_241] (rows=575995635 width=88)
                                       Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                      Filter Operator [FIL_102] (rows=575995635 width=88)
-                                        predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                      Filter Operator [FIL_240] (rows=575995635 width=88)
+                                        predicate:((ss_item_sk BETWEEN DynamicValue(RS_42_item_i_item_sk_min) AND DynamicValue(RS_42_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_42_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_45_store_s_store_sk_min) AND DynamicValue(RS_45_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_45_store_s_store_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
                                         TableScan [TS_0] (rows=575995635 width=88)
                                           default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_net_profit"]
+                                        <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_230]
+                                             Please refer to the previous Group By Operator [GBY_229]
+                                        <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_239]
+                                            Group By Operator [GBY_238] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_237]
+                                                Group By Operator [GBY_236] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_235] (rows=1704 width=1910)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_233]
+                                        <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_222]
+                                            Group By Operator [GBY_221] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              PARTITION_ONLY_SHUFFLE [RS_219]
+                                                Group By Operator [GBY_217] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_213] (rows=18262 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_209]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query26.q.out b/ql/src/test/results/clientpositive/perf/tez/query26.q.out
index f113113..0c6c0f8 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query26.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query26.q.out
@@ -41,94 +41,143 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_79]
-        Limit [LIM_78] (rows=100 width=135)
+      File Output Operator [FS_139]
+        Limit [LIM_138] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_77] (rows=210822976 width=135)
+          Select Operator [SEL_137] (rows=210822976 width=135)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_76]
-              Select Operator [SEL_75] (rows=210822976 width=135)
+            SHUFFLE [RS_136]
+              Select Operator [SEL_135] (rows=210822976 width=135)
                 Output:["_col0","_col1","_col2","_col3","_col4"]
-                Group By Operator [GBY_74] (rows=210822976 width=135)
+                Group By Operator [GBY_134] (rows=210822976 width=135)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)"],keys:KEY._col0
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_29]
                     PartitionCols:_col0
                     Group By Operator [GBY_28] (rows=421645953 width=135)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col4)","count(_col4)","sum(_col5)","count(_col5)","sum(_col7)","count(_col7)","sum(_col6)","count(_col6)"],keys:_col18
-                      Merge Join Operator [MERGEJOIN_58] (rows=421645953 width=135)
-                        Conds:RS_24._col2=RS_73._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col18"]
-                      <-Map 11 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_73]
+                      Merge Join Operator [MERGEJOIN_98] (rows=421645953 width=135)
+                        Conds:RS_24._col2=RS_125._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col18"]
+                      <-Map 14 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_125]
                           PartitionCols:_col0
-                          Select Operator [SEL_72] (rows=462000 width=1436)
+                          Select Operator [SEL_124] (rows=462000 width=1436)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_71] (rows=462000 width=1436)
+                            Filter Operator [FIL_123] (rows=462000 width=1436)
                               predicate:i_item_sk is not null
                               TableScan [TS_12] (rows=462000 width=1436)
                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_24]
                           PartitionCols:_col2
-                          Merge Join Operator [MERGEJOIN_57] (rows=383314495 width=135)
-                            Conds:RS_21._col3=RS_70._col0(Inner),Output:["_col2","_col4","_col5","_col6","_col7"]
-                          <-Map 10 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_70]
+                          Merge Join Operator [MERGEJOIN_97] (rows=383314495 width=135)
+                            Conds:RS_21._col3=RS_117._col0(Inner),Output:["_col2","_col4","_col5","_col6","_col7"]
+                          <-Map 12 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_117]
                               PartitionCols:_col0
-                              Select Operator [SEL_69] (rows=2300 width=1179)
+                              Select Operator [SEL_116] (rows=2300 width=1179)
                                 Output:["_col0"]
-                                Filter Operator [FIL_68] (rows=2300 width=1179)
+                                Filter Operator [FIL_115] (rows=2300 width=1179)
                                   predicate:(((p_channel_email = 'N') or (p_channel_event = 'N')) and p_promo_sk is not null)
                                   TableScan [TS_9] (rows=2300 width=1179)
                                     default@promotion,promotion,Tbl:COMPLETE,Col:NONE,Output:["p_promo_sk","p_channel_email","p_channel_event"]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_21]
                               PartitionCols:_col3
-                              Merge Join Operator [MERGEJOIN_56] (rows=348467716 width=135)
-                                Conds:RS_18._col0=RS_67._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6","_col7"]
-                              <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_67]
+                              Merge Join Operator [MERGEJOIN_96] (rows=348467716 width=135)
+                                Conds:RS_18._col0=RS_109._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6","_col7"]
+                              <-Map 10 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_109]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_66] (rows=36524 width=1119)
+                                  Select Operator [SEL_108] (rows=36524 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_65] (rows=36524 width=1119)
+                                    Filter Operator [FIL_107] (rows=36524 width=1119)
                                       predicate:((d_year = 1998) and d_date_sk is not null)
                                       TableScan [TS_6] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_18]
                                   PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_55] (rows=316788826 width=135)
-                                    Conds:RS_61._col1=RS_64._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_61]
-                                      PartitionCols:_col1
-                                      Select Operator [SEL_60] (rows=287989836 width=135)
-                                        Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                        Filter Operator [FIL_59] (rows=287989836 width=135)
-                                          predicate:(cs_bill_cdemo_sk is not null and cs_item_sk is not null and cs_promo_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_cdemo_sk","cs_item_sk","cs_promo_sk","cs_quantity","cs_list_price","cs_sales_price","cs_coupon_amt"]
+                                  Merge Join Operator [MERGEJOIN_95] (rows=316788826 width=135)
+                                    Conds:RS_133._col1=RS_101._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7"]
                                   <-Map 8 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_64]
+                                    PARTITION_ONLY_SHUFFLE [RS_101]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_63] (rows=232725 width=385)
+                                      Select Operator [SEL_100] (rows=232725 width=385)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_62] (rows=232725 width=385)
+                                        Filter Operator [FIL_99] (rows=232725 width=385)
                                           predicate:((cd_education_status = 'Primary') and (cd_gender = 'F') and (cd_marital_status = 'W') and cd_demo_sk is not null)
                                           TableScan [TS_3] (rows=1861800 width=385)
                                             default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status"]
+                                  <-Map 1 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_133]
+                                      PartitionCols:_col1
+                                      Select Operator [SEL_132] (rows=287989836 width=135)
+                                        Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                        Filter Operator [FIL_131] (rows=287989836 width=135)
+                                          predicate:((cs_bill_cdemo_sk BETWEEN DynamicValue(RS_16_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_16_customer_demographics_cd_demo_sk_max) and in_bloom_filter(cs_bill_cdemo_sk, DynamicValue(RS_16_customer_demographics_cd_demo_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_25_item_i_item_sk_min) AND DynamicValue(RS_25_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_25_item_i_item_sk_bloom_filter))) and (cs_promo_sk BETWEEN DynamicValue(RS_22_promotion_p_promo_sk_min) AND DynamicValue(RS_22_promotion_p_promo_sk_max) and in_bloom_filter(cs_promo_sk, DynamicValue(RS_22_promotion_p_promo_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_item_sk is not null and cs_promo_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_cdemo_sk","cs_item_sk","cs_promo_sk","cs_quantity","cs_list_price","cs_sales_price","cs_coupon_amt"]
+                                          <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_114]
+                                              Group By Operator [GBY_113] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_112]
+                                                  Group By Operator [GBY_111] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_110] (rows=36524 width=1119)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_108]
+                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_122]
+                                              Group By Operator [GBY_121] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_120]
+                                                  Group By Operator [GBY_119] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_118] (rows=2300 width=1179)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_116]
+                                          <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_130]
+                                              Group By Operator [GBY_129] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_128]
+                                                  Group By Operator [GBY_127] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_126] (rows=462000 width=1436)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_124]
+                                          <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_106]
+                                              Group By Operator [GBY_105] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_104]
+                                                  Group By Operator [GBY_103] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_102] (rows=232725 width=385)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_100]
 


[10/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query33.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query33.q.out b/ql/src/test/results/clientpositive/perf/tez/query33.q.out
index ad922e7..30871e5 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query33.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query33.q.out
@@ -149,213 +149,324 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 2 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 13 <- Map 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 16 <- Map 22 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
-Reducer 19 <- Map 22 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE)
-Reducer 20 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 21 <- Map 22 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 17 <- Reducer 21 (BROADCAST_EDGE), Reducer 29 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Map 32 <- Reducer 11 (BROADCAST_EDGE), Reducer 24 (BROADCAST_EDGE), Reducer 30 (BROADCAST_EDGE)
+Map 33 <- Reducer 14 (BROADCAST_EDGE), Reducer 27 (BROADCAST_EDGE), Reducer 31 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 11 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Reducer 2 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE)
+Reducer 13 <- Reducer 12 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 14 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE)
+Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
+Reducer 19 <- Map 28 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 16 (ONE_TO_ONE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 22 <- Map 20 (SIMPLE_EDGE), Map 32 (SIMPLE_EDGE)
+Reducer 23 <- Map 28 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 20 (SIMPLE_EDGE), Map 33 (SIMPLE_EDGE)
+Reducer 26 <- Map 28 (SIMPLE_EDGE), Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 19 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 28 (CUSTOM_SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 6 <- Union 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 19 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 8 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 2 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_226]
-        Limit [LIM_225] (rows=100 width=108)
+      File Output Operator [FS_370]
+        Limit [LIM_369] (rows=100 width=108)
           Number of rows:100
-          Select Operator [SEL_224] (rows=335408073 width=108)
+          Select Operator [SEL_368] (rows=335408073 width=108)
             Output:["_col0","_col1"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_223]
-              Group By Operator [GBY_222] (rows=335408073 width=108)
+            SHUFFLE [RS_367]
+              Group By Operator [GBY_366] (rows=335408073 width=108)
                 Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
               <-Union 5 [SIMPLE_EDGE]
-                <-Reducer 11 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_238]
+                <-Reducer 10 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_382]
                     PartitionCols:_col0
-                    Group By Operator [GBY_237] (rows=670816147 width=108)
+                    Group By Operator [GBY_381] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_236] (rows=95833781 width=135)
+                      Group By Operator [GBY_380] (rows=191657247 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 10 [SIMPLE_EDGE]
-                        SHUFFLE [RS_109]
+                      <-Reducer 9 [SIMPLE_EDGE]
+                        SHUFFLE [RS_71]
                           PartitionCols:_col0
-                          Group By Operator [GBY_108] (rows=191667562 width=135)
+                          Group By Operator [GBY_70] (rows=383314495 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_184] (rows=191667562 width=135)
-                              Conds:RS_104._col0=RS_105._col3(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_303] (rows=383314495 width=135)
+                              Conds:RS_66._col0=RS_67._col4(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_104]
+                              SHUFFLE [RS_66]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_173] (rows=508200 width=1436)
-                                  Conds:RS_199._col1=RS_205._col0(Inner),Output:["_col0","_col1"]
+                                Merge Join Operator [MERGEJOIN_293] (rows=508200 width=1436)
+                                  Conds:RS_319._col1=RS_325._col0(Inner),Output:["_col0","_col1"]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_199]
+                                  SHUFFLE [RS_319]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_198] (rows=462000 width=1436)
+                                    Select Operator [SEL_318] (rows=462000 width=1436)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_197] (rows=462000 width=1436)
+                                      Filter Operator [FIL_317] (rows=462000 width=1436)
                                         predicate:(i_item_sk is not null and i_manufact_id is not null)
                                         TableScan [TS_0] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_manufact_id"]
-                                <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
-                                  FORWARD [RS_205]
+                                <-Reducer 16 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_325]
                                     PartitionCols:_col0
-                                    Group By Operator [GBY_204] (rows=115500 width=1436)
+                                    Group By Operator [GBY_324] (rows=115500 width=1436)
                                       Output:["_col0"],keys:KEY._col0
-                                    <-Map 12 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_203]
+                                    <-Map 15 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_323]
                                         PartitionCols:_col0
-                                        Group By Operator [GBY_202] (rows=231000 width=1436)
+                                        Group By Operator [GBY_322] (rows=231000 width=1436)
                                           Output:["_col0"],keys:i_manufact_id
-                                          Select Operator [SEL_201] (rows=231000 width=1436)
+                                          Select Operator [SEL_321] (rows=231000 width=1436)
                                             Output:["i_manufact_id"]
-                                            Filter Operator [FIL_200] (rows=231000 width=1436)
+                                            Filter Operator [FIL_320] (rows=231000 width=1436)
                                               predicate:((i_category = 'Books') and i_manufact_id is not null)
                                               TableScan [TS_3] (rows=462000 width=1436)
                                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_category","i_manufact_id"]
-                            <-Reducer 21 [SIMPLE_EDGE]
-                              SHUFFLE [RS_105]
-                                PartitionCols:_col3
-                                Select Operator [SEL_100] (rows=174243235 width=135)
-                                  Output:["_col3","_col5"]
-                                  Merge Join Operator [MERGEJOIN_181] (rows=174243235 width=135)
-                                    Conds:RS_97._col2=RS_218._col0(Inner),Output:["_col1","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_218]
+                            <-Reducer 23 [SIMPLE_EDGE]
+                              SHUFFLE [RS_67]
+                                PartitionCols:_col4
+                                Select Operator [SEL_62] (rows=348467716 width=135)
+                                  Output:["_col4","_col5"]
+                                  Merge Join Operator [MERGEJOIN_298] (rows=348467716 width=135)
+                                    Conds:RS_59._col1=RS_346._col0(Inner),Output:["_col2","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_346]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_215] (rows=20000000 width=1014)
+                                      Select Operator [SEL_343] (rows=20000000 width=1014)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_214] (rows=20000000 width=1014)
+                                        Filter Operator [FIL_342] (rows=20000000 width=1014)
                                           predicate:((ca_gmt_offset = -6) and ca_address_sk is not null)
                                           TableScan [TS_16] (rows=40000000 width=1014)
                                             default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_gmt_offset"]
-                                  <-Reducer 20 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_97]
-                                      PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_180] (rows=158402938 width=135)
-                                        Conds:RS_235._col0=RS_213._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_213]
+                                  <-Reducer 22 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_59]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_297] (rows=316788826 width=135)
+                                        Conds:RS_379._col0=RS_330._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_330]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_210] (rows=18262 width=1119)
+                                          Select Operator [SEL_327] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_209] (rows=18262 width=1119)
+                                            Filter Operator [FIL_326] (rows=18262 width=1119)
                                               predicate:((d_moy = 3) and (d_year = 1999) and d_date_sk is not null)
                                               TableScan [TS_13] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                      <-Map 24 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_235]
+                                      <-Map 32 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_379]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_234] (rows=144002668 width=135)
+                                          Select Operator [SEL_378] (rows=287989836 width=135)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_233] (rows=144002668 width=135)
-                                              predicate:(ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_85] (rows=144002668 width=135)
-                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
-                <-Reducer 4 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_221]
+                                            Filter Operator [FIL_377] (rows=287989836 width=135)
+                                              predicate:((cs_bill_addr_sk BETWEEN DynamicValue(RS_60_customer_address_ca_address_sk_min) AND DynamicValue(RS_60_customer_address_ca_address_sk_max) and in_bloom_filter(cs_bill_addr_sk, DynamicValue(RS_60_customer_address_ca_address_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_66_item_i_item_sk_min) AND DynamicValue(RS_66_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_66_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                              TableScan [TS_47] (rows=287989836 width=135)
+                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_376]
+                                                  Group By Operator [GBY_375] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_240]
+                                                      Group By Operator [GBY_239] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_238] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                                              <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_372]
+                                                  Group By Operator [GBY_371] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_338]
+                                                      Group By Operator [GBY_335] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_331] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 30 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_374]
+                                                  Group By Operator [GBY_373] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_354]
+                                                      Group By Operator [GBY_351] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_347] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                <-Reducer 13 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_394]
                     PartitionCols:_col0
-                    Group By Operator [GBY_220] (rows=670816147 width=108)
+                    Group By Operator [GBY_393] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_219] (rows=383325119 width=88)
+                      Group By Operator [GBY_392] (rows=95833781 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        SHUFFLE [RS_34]
+                      <-Reducer 12 [SIMPLE_EDGE]
+                        SHUFFLE [RS_109]
                           PartitionCols:_col0
-                          Group By Operator [GBY_33] (rows=766650239 width=88)
+                          Group By Operator [GBY_108] (rows=191667562 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_182] (rows=766650239 width=88)
-                              Conds:RS_29._col0=RS_30._col3(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_304] (rows=191667562 width=135)
+                              Conds:RS_104._col0=RS_105._col3(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_29]
+                              SHUFFLE [RS_104]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_173]
-                            <-Reducer 16 [SIMPLE_EDGE]
-                              SHUFFLE [RS_30]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                            <-Reducer 26 [SIMPLE_EDGE]
+                              SHUFFLE [RS_105]
                                 PartitionCols:_col3
-                                Select Operator [SEL_25] (rows=696954748 width=88)
+                                Select Operator [SEL_100] (rows=174243235 width=135)
                                   Output:["_col3","_col5"]
-                                  Merge Join Operator [MERGEJOIN_175] (rows=696954748 width=88)
-                                    Conds:RS_22._col2=RS_216._col0(Inner),Output:["_col1","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_216]
+                                  Merge Join Operator [MERGEJOIN_301] (rows=174243235 width=135)
+                                    Conds:RS_97._col2=RS_348._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_348]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_215]
-                                  <-Reducer 15 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_22]
+                                       Please refer to the previous Select Operator [SEL_343]
+                                  <-Reducer 25 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_97]
                                       PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_174] (rows=633595212 width=88)
-                                        Conds:RS_208._col0=RS_211._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_211]
+                                      Merge Join Operator [MERGEJOIN_300] (rows=158402938 width=135)
+                                        Conds:RS_391._col0=RS_332._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_332]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_210]
-                                      <-Map 14 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_208]
+                                           Please refer to the previous Select Operator [SEL_327]
+                                      <-Map 33 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_391]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_207] (rows=575995635 width=88)
+                                          Select Operator [SEL_390] (rows=144002668 width=135)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_206] (rows=575995635 width=88)
-                                              predicate:(ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
-                                              TableScan [TS_10] (rows=575995635 width=88)
-                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
-                <-Reducer 9 [CONTAINS] vectorized
-                  Reduce Output Operator [RS_232]
+                                            Filter Operator [FIL_389] (rows=144002668 width=135)
+                                              predicate:((ws_bill_addr_sk BETWEEN DynamicValue(RS_98_customer_address_ca_address_sk_min) AND DynamicValue(RS_98_customer_address_ca_address_sk_max) and in_bloom_filter(ws_bill_addr_sk, DynamicValue(RS_98_customer_address_ca_address_sk_bloom_filter))) and (ws_item_sk BETWEEN DynamicValue(RS_104_item_i_item_sk_min) AND DynamicValue(RS_104_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_104_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_95_date_dim_d_date_sk_min) AND DynamicValue(RS_95_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_95_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_85] (rows=144002668 width=135)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_388]
+                                                  Group By Operator [GBY_387] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_280]
+                                                      Group By Operator [GBY_279] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_278] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
+                                              <-Reducer 27 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_384]
+                                                  Group By Operator [GBY_383] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_339]
+                                                      Group By Operator [GBY_336] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_333] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 31 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_386]
+                                                  Group By Operator [GBY_385] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_355]
+                                                      Group By Operator [GBY_352] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_349] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                <-Reducer 4 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_365]
                     PartitionCols:_col0
-                    Group By Operator [GBY_231] (rows=670816147 width=108)
+                    Group By Operator [GBY_364] (rows=670816147 width=108)
                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                      Group By Operator [GBY_230] (rows=191657247 width=135)
+                      Group By Operator [GBY_363] (rows=383325119 width=88)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 8 [SIMPLE_EDGE]
-                        SHUFFLE [RS_71]
+                      <-Reducer 3 [SIMPLE_EDGE]
+                        SHUFFLE [RS_34]
                           PartitionCols:_col0
-                          Group By Operator [GBY_70] (rows=383314495 width=135)
+                          Group By Operator [GBY_33] (rows=766650239 width=88)
                             Output:["_col0","_col1"],aggregations:["sum(_col8)"],keys:_col1
-                            Merge Join Operator [MERGEJOIN_183] (rows=383314495 width=135)
-                              Conds:RS_66._col0=RS_67._col4(Inner),Output:["_col1","_col8"]
+                            Merge Join Operator [MERGEJOIN_302] (rows=766650239 width=88)
+                              Conds:RS_29._col0=RS_30._col3(Inner),Output:["_col1","_col8"]
                             <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_66]
+                              SHUFFLE [RS_29]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_173]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_293]
                             <-Reducer 19 [SIMPLE_EDGE]
-                              SHUFFLE [RS_67]
-                                PartitionCols:_col4
-                                Select Operator [SEL_62] (rows=348467716 width=135)
-                                  Output:["_col4","_col5"]
-                                  Merge Join Operator [MERGEJOIN_178] (rows=348467716 width=135)
-                                    Conds:RS_59._col1=RS_217._col0(Inner),Output:["_col2","_col3"]
-                                  <-Map 22 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_217]
+                              SHUFFLE [RS_30]
+                                PartitionCols:_col3
+                                Select Operator [SEL_25] (rows=696954748 width=88)
+                                  Output:["_col3","_col5"]
+                                  Merge Join Operator [MERGEJOIN_295] (rows=696954748 width=88)
+                                    Conds:RS_22._col2=RS_344._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 28 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_344]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_215]
+                                       Please refer to the previous Select Operator [SEL_343]
                                   <-Reducer 18 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_59]
-                                      PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_177] (rows=316788826 width=135)
-                                        Conds:RS_229._col0=RS_212._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_212]
+                                    SHUFFLE [RS_22]
+                                      PartitionCols:_col2
+                                      Merge Join Operator [MERGEJOIN_294] (rows=633595212 width=88)
+                                        Conds:RS_362._col0=RS_328._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_328]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_210]
-                                      <-Map 23 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_229]
+                                           Please refer to the previous Select Operator [SEL_327]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_362]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_228] (rows=287989836 width=135)
+                                          Select Operator [SEL_361] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_227] (rows=287989836 width=135)
-                                              predicate:(cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                              TableScan [TS_47] (rows=287989836 width=135)
-                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                            Filter Operator [FIL_360] (rows=575995635 width=88)
+                                              predicate:((ss_addr_sk BETWEEN DynamicValue(RS_23_customer_address_ca_address_sk_min) AND DynamicValue(RS_23_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_23_customer_address_ca_address_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_29_item_i_item_sk_min) AND DynamicValue(RS_29_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_29_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                              TableScan [TS_10] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
+                                              <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_341]
+                                                  Group By Operator [GBY_340] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_337]
+                                                      Group By Operator [GBY_334] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_329] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_327]
+                                              <-Reducer 29 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_357]
+                                                  Group By Operator [GBY_356] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_353]
+                                                      Group By Operator [GBY_350] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                        Select Operator [SEL_345] (rows=20000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_343]
+                                              <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_359]
+                                                  Group By Operator [GBY_358] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_200]
+                                                      Group By Operator [GBY_199] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_198] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_293]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query34.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query34.q.out b/ql/src/test/results/clientpositive/perf/tez/query34.q.out
index f5046e3..9b7b482 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query34.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query34.q.out
@@ -61,67 +61,72 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Map 5 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 4 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 5 <- Map 4 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
-Reducer 6 <- Map 10 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Map 11 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 4 <- Map 1 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Map 10 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
+Reducer 7 <- Map 12 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 3 vectorized
-      File Output Operator [FS_78]
-        Select Operator [SEL_77] (rows=88000001 width=860)
+      File Output Operator [FS_135]
+        Select Operator [SEL_134] (rows=88000001 width=860)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
         <-Reducer 2 [SIMPLE_EDGE]
           SHUFFLE [RS_35]
             Select Operator [SEL_34] (rows=88000001 width=860)
               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-              Merge Join Operator [MERGEJOIN_60] (rows=88000001 width=860)
-                Conds:RS_63._col0=RS_76._col1(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"]
+              Merge Join Operator [MERGEJOIN_100] (rows=88000001 width=860)
+                Conds:RS_103._col0=RS_133._col1(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col7"]
               <-Map 1 [SIMPLE_EDGE] vectorized
-                SHUFFLE [RS_63]
+                PARTITION_ONLY_SHUFFLE [RS_103]
                   PartitionCols:_col0
-                  Select Operator [SEL_62] (rows=80000000 width=860)
+                  Select Operator [SEL_102] (rows=80000000 width=860)
                     Output:["_col0","_col1","_col2","_col3","_col4"]
-                    Filter Operator [FIL_61] (rows=80000000 width=860)
+                    Filter Operator [FIL_101] (rows=80000000 width=860)
                       predicate:c_customer_sk is not null
                       TableScan [TS_0] (rows=80000000 width=860)
                         default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_salutation","c_first_name","c_last_name","c_preferred_cust_flag"]
-              <-Reducer 8 [SIMPLE_EDGE] vectorized
-                SHUFFLE [RS_76]
+              <-Reducer 9 [SIMPLE_EDGE] vectorized
+                SHUFFLE [RS_133]
                   PartitionCols:_col1
-                  Filter Operator [FIL_75] (rows=42591679 width=88)
+                  Filter Operator [FIL_132] (rows=42591679 width=88)
                     predicate:_col2 BETWEEN 15 AND 20
-                    Select Operator [SEL_74] (rows=383325119 width=88)
+                    Select Operator [SEL_131] (rows=383325119 width=88)
                       Output:["_col0","_col1","_col2"]
-                      Group By Operator [GBY_73] (rows=383325119 width=88)
+                      Group By Operator [GBY_130] (rows=383325119 width=88)
                         Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-                      <-Reducer 7 [SIMPLE_EDGE]
+                      <-Reducer 8 [SIMPLE_EDGE]
                         SHUFFLE [RS_26]
                           PartitionCols:_col0, _col1
                           Group By Operator [GBY_25] (rows=766650239 width=88)
                             Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-                            Merge Join Operator [MERGEJOIN_59] (rows=766650239 width=88)
-                              Conds:RS_21._col3=RS_72._col0(Inner),Output:["_col1","_col4"]
-                            <-Map 11 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_72]
+                            Merge Join Operator [MERGEJOIN_99] (rows=766650239 width=88)
+                              Conds:RS_21._col3=RS_119._col0(Inner),Output:["_col1","_col4"]
+                            <-Map 14 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_119]
                                 PartitionCols:_col0
-                                Select Operator [SEL_71] (rows=852 width=1910)
+                                Select Operator [SEL_118] (rows=852 width=1910)
                                   Output:["_col0"]
-                                  Filter Operator [FIL_70] (rows=852 width=1910)
+                                  Filter Operator [FIL_117] (rows=852 width=1910)
                                     predicate:((s_county) IN ('Mobile County', 'Maverick County', 'Huron County', 'Kittitas County', 'Fairfield County', 'Jackson County', 'Barrow County', 'Pennington County') and s_store_sk is not null)
                                     TableScan [TS_12] (rows=1704 width=1910)
                                       default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_county"]
-                            <-Reducer 6 [SIMPLE_EDGE]
+                            <-Reducer 7 [SIMPLE_EDGE]
                               SHUFFLE [RS_21]
                                 PartitionCols:_col3
-                                Merge Join Operator [MERGEJOIN_58] (rows=696954748 width=88)
+                                Merge Join Operator [MERGEJOIN_98] (rows=696954748 width=88)
                                   Conds:RS_18._col2=RS_19._col0(Inner),Output:["_col1","_col3","_col4"]
-                                <-Map 10 [SIMPLE_EDGE]
+                                <-Map 12 [SIMPLE_EDGE]
                                   SHUFFLE [RS_19]
                                     PartitionCols:_col0
                                     Select Operator [SEL_11] (rows=1200 width=107)
@@ -130,27 +135,71 @@ Stage-0
                                         predicate:(((hd_buy_potential = '>10000') or (hd_buy_potential = 'unknown')) and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END and hd_demo_sk is not null)
                                         TableScan [TS_9] (rows=7200 width=107)
                                           default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_buy_potential","hd_dep_count","hd_vehicle_count"]
-                                <-Reducer 5 [SIMPLE_EDGE]
+                                <-Reducer 6 [SIMPLE_EDGE]
                                   SHUFFLE [RS_18]
                                     PartitionCols:_col2
-                                    Merge Join Operator [MERGEJOIN_57] (rows=633595212 width=88)
-                                      Conds:RS_66._col0=RS_69._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                    <-Map 4 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_66]
+                                    Merge Join Operator [MERGEJOIN_97] (rows=633595212 width=88)
+                                      Conds:RS_129._col0=RS_109._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                    <-Map 10 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_109]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_65] (rows=575995635 width=88)
-                                          Output:["_col0","_col1","_col2","_col3","_col4"]
-                                          Filter Operator [FIL_64] (rows=575995635 width=88)
-                                            predicate:(ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                            TableScan [TS_3] (rows=575995635 width=88)
-                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_store_sk","ss_ticket_number"]
-                                    <-Map 9 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_69]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_68] (rows=8116 width=1119)
+                                        Select Operator [SEL_108] (rows=8116 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_67] (rows=8116 width=1119)
+                                          Filter Operator [FIL_107] (rows=8116 width=1119)
                                             predicate:((d_dom BETWEEN 1 AND 3 or d_dom BETWEEN 25 AND 28) and (d_year) IN (2000, 2001, 2002) and d_date_sk is not null)
                                             TableScan [TS_6] (rows=73049 width=1119)
                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_dom"]
+                                    <-Map 5 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_129]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_128] (rows=575995635 width=88)
+                                          Output:["_col0","_col1","_col2","_col3","_col4"]
+                                          Filter Operator [FIL_127] (rows=575995635 width=88)
+                                            predicate:((ss_customer_sk BETWEEN DynamicValue(RS_31_customer_c_customer_sk_min) AND DynamicValue(RS_31_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_31_customer_c_customer_sk_bloom_filter))) and (ss_hdemo_sk BETWEEN DynamicValue(RS_19_household_demographics_hd_demo_sk_min) AND DynamicValue(RS_19_household_demographics_hd_demo_sk_max) and in_bloom_filter(ss_hdemo_sk, DynamicValue(RS_19_household_demographics_hd_demo_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_22_store_s_store_sk_min) AND DynamicValue(RS_22_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_22_store_s_store_sk_bloom_filter))) and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_da
 te_sk is not null and ss_store_sk is not null)
+                                            TableScan [TS_3] (rows=575995635 width=88)
+                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_store_sk","ss_ticket_number"]
+                                            <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_114]
+                                                Group By Operator [GBY_113] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_112]
+                                                    Group By Operator [GBY_111] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_110] (rows=8116 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_108]
+                                            <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_116]
+                                                Group By Operator [GBY_115] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 12 [CUSTOM_SIMPLE_EDGE]
+                                                  SHUFFLE [RS_69]
+                                                    Group By Operator [GBY_68] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_67] (rows=1200 width=107)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_11]
+                                            <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_124]
+                                                Group By Operator [GBY_123] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_122]
+                                                    Group By Operator [GBY_121] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_120] (rows=852 width=1910)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_118]
+                                            <-Reducer 4 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_126]
+                                                Group By Operator [GBY_125] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_106]
+                                                    Group By Operator [GBY_105] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                      Select Operator [SEL_104] (rows=80000000 width=860)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_102]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query35.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query35.q.out b/ql/src/test/results/clientpositive/perf/tez/query35.q.out
index 772f994..4fe3856 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query35.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query35.q.out
@@ -113,32 +113,39 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 11 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 11 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
+Map 10 <- Reducer 13 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Map 20 <- Reducer 16 (BROADCAST_EDGE)
+Map 21 <- Reducer 19 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 12 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
 Reducer 15 <- Reducer 14 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE), Reducer 15 (ONE_TO_ONE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 16 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 12 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
+Reducer 19 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 15 (ONE_TO_ONE_EDGE), Reducer 18 (ONE_TO_ONE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_144]
-        Limit [LIM_143] (rows=100 width=88)
+      File Output Operator [FS_225]
+        Limit [LIM_224] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_142] (rows=1045432122 width=88)
+          Select Operator [SEL_223] (rows=1045432122 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_141]
-              Select Operator [SEL_140] (rows=1045432122 width=88)
+            SHUFFLE [RS_222]
+              Select Operator [SEL_221] (rows=1045432122 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col14","_col15","_col16","_col17"]
-                Group By Operator [GBY_139] (rows=1045432122 width=88)
+                Group By Operator [GBY_220] (rows=1045432122 width=88)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","count(VALUE._col2)","max(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","max(VALUE._col6)","sum(VALUE._col7)","count(VALUE._col8)","max(VALUE._col9)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_63]
@@ -149,124 +156,168 @@ Stage-0
                         Output:["_col4","_col6","_col7","_col8","_col9","_col10"]
                         Filter Operator [FIL_60] (rows=2090864244 width=88)
                           predicate:(_col12 is not null or _col14 is not null)
-                          Merge Join Operator [MERGEJOIN_109] (rows=2090864244 width=88)
-                            Conds:RS_55._col0=RS_56._col0(Left Semi),RS_55._col0=RS_132._col0(Left Outer),RS_55._col0=RS_138._col0(Left Outer),Output:["_col4","_col6","_col7","_col8","_col9","_col10","_col12","_col14"]
-                          <-Reducer 10 [SIMPLE_EDGE]
+                          Merge Join Operator [MERGEJOIN_173] (rows=2090864244 width=88)
+                            Conds:RS_55._col0=RS_56._col0(Left Semi),RS_55._col0=RS_211._col0(Left Outer),RS_55._col0=RS_219._col0(Left Outer),Output:["_col4","_col6","_col7","_col8","_col9","_col10","_col12","_col14"]
+                          <-Reducer 3 [SIMPLE_EDGE]
+                            PARTITION_ONLY_SHUFFLE [RS_55]
+                              PartitionCols:_col0
+                              Merge Join Operator [MERGEJOIN_169] (rows=96800003 width=860)
+                                Conds:RS_50._col1=RS_182._col0(Inner),Output:["_col0","_col4","_col6","_col7","_col8","_col9","_col10"]
+                              <-Map 9 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_182]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_181] (rows=1861800 width=385)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                    Filter Operator [FIL_180] (rows=1861800 width=385)
+                                      predicate:cd_demo_sk is not null
+                                      TableScan [TS_6] (rows=1861800 width=385)
+                                        default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_dep_count","cd_dep_employed_count","cd_dep_college_count"]
+                              <-Reducer 2 [SIMPLE_EDGE]
+                                SHUFFLE [RS_50]
+                                  PartitionCols:_col1
+                                  Merge Join Operator [MERGEJOIN_168] (rows=88000001 width=860)
+                                    Conds:RS_176._col2=RS_179._col0(Inner),Output:["_col0","_col1","_col4"]
+                                  <-Map 1 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_176]
+                                      PartitionCols:_col2
+                                      Select Operator [SEL_175] (rows=80000000 width=860)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_174] (rows=80000000 width=860)
+                                          predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
+                                          TableScan [TS_0] (rows=80000000 width=860)
+                                            default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk"]
+                                  <-Map 8 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_179]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_178] (rows=40000000 width=1014)
+                                        Output:["_col0","_col1"]
+                                        Filter Operator [FIL_177] (rows=40000000 width=1014)
+                                          predicate:ca_address_sk is not null
+                                          TableScan [TS_3] (rows=40000000 width=1014)
+                                            default@customer_address,ca,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
+                          <-Reducer 11 [SIMPLE_EDGE]
                             SHUFFLE [RS_56]
                               PartitionCols:_col0
                               Group By Operator [GBY_54] (rows=633595212 width=88)
                                 Output:["_col0"],keys:_col0
                                 Select Operator [SEL_18] (rows=633595212 width=88)
                                   Output:["_col0"]
-                                  Merge Join Operator [MERGEJOIN_106] (rows=633595212 width=88)
-                                    Conds:RS_121._col0=RS_124._col0(Inner),Output:["_col1"]
-                                  <-Map 11 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_124]
+                                  Merge Join Operator [MERGEJOIN_170] (rows=633595212 width=88)
+                                    Conds:RS_203._col0=RS_185._col0(Inner),Output:["_col1"]
+                                  <-Map 12 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_185]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_123] (rows=12174 width=1119)
+                                      Select Operator [SEL_184] (rows=12174 width=1119)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_122] (rows=12174 width=1119)
+                                        Filter Operator [FIL_183] (rows=12174 width=1119)
                                           predicate:((d_qoy < 4) and (d_year = 1999) and d_date_sk is not null)
                                           TableScan [TS_12] (rows=73049 width=1119)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
-                                  <-Map 9 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_121]
+                                  <-Map 10 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_203]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_120] (rows=575995635 width=88)
+                                      Select Operator [SEL_202] (rows=575995635 width=88)
                                         Output:["_col0","_col1"]
-                                        Filter Operator [FIL_119] (rows=575995635 width=88)
-                                          predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                        Filter Operator [FIL_201] (rows=575995635 width=88)
+                                          predicate:((ss_customer_sk BETWEEN DynamicValue(RS_55_c_c_customer_sk_min) AND DynamicValue(RS_55_c_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_55_c_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
                                           TableScan [TS_9] (rows=575995635 width=88)
                                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk"]
-                          <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
-                            FORWARD [RS_132]
+                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_198]
+                                              Group By Operator [GBY_197] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_194]
+                                                  Group By Operator [GBY_191] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_186] (rows=12174 width=1119)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_184]
+                                          <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_200]
+                                              Group By Operator [GBY_199] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=96800000)"]
+                                              <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
+                                                PARTITION_ONLY_SHUFFLE [RS_136]
+                                                  Group By Operator [GBY_135] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=96800000)"]
+                                                    Select Operator [SEL_134] (rows=96800003 width=860)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Merge Join Operator [MERGEJOIN_169]
+                          <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
+                            FORWARD [RS_211]
                               PartitionCols:_col0
-                              Select Operator [SEL_131] (rows=79201469 width=135)
+                              Select Operator [SEL_210] (rows=79201469 width=135)
                                 Output:["_col0","_col1"]
-                                Group By Operator [GBY_130] (rows=79201469 width=135)
+                                Group By Operator [GBY_209] (rows=79201469 width=135)
                                   Output:["_col0"],keys:KEY._col0
-                                <-Reducer 12 [SIMPLE_EDGE]
+                                <-Reducer 14 [SIMPLE_EDGE]
                                   SHUFFLE [RS_30]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_29] (rows=158402938 width=135)
                                       Output:["_col0"],keys:_col1
-                                      Merge Join Operator [MERGEJOIN_107] (rows=158402938 width=135)
-                                        Conds:RS_129._col0=RS_125._col0(Inner),Output:["_col1"]
-                                      <-Map 11 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_125]
+                                      Merge Join Operator [MERGEJOIN_171] (rows=158402938 width=135)
+                                        Conds:RS_208._col0=RS_187._col0(Inner),Output:["_col1"]
+                                      <-Map 12 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_187]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_123]
-                                      <-Map 16 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_129]
+                                           Please refer to the previous Select Operator [SEL_184]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_208]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_128] (rows=144002668 width=135)
+                                          Select Operator [SEL_207] (rows=144002668 width=135)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_127] (rows=144002668 width=135)
-                                              predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                            Filter Operator [FIL_206] (rows=144002668 width=135)
+                                              predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_26_date_dim_d_date_sk_min) AND DynamicValue(RS_26_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_26_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_19] (rows=144002668 width=135)
                                                 default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk"]
-                          <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
-                            FORWARD [RS_138]
+                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_205]
+                                                  Group By Operator [GBY_204] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_195]
+                                                      Group By Operator [GBY_192] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_188] (rows=12174 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_184]
+                          <-Reducer 18 [ONE_TO_ONE_EDGE] vectorized
+                            FORWARD [RS_219]
                               PartitionCols:_col0
-                              Select Operator [SEL_137] (rows=158394413 width=135)
+                              Select Operator [SEL_218] (rows=158394413 width=135)
                                 Output:["_col0","_col1"]
-                                Group By Operator [GBY_136] (rows=158394413 width=135)
+                                Group By Operator [GBY_217] (rows=158394413 width=135)
                                   Output:["_col0"],keys:KEY._col0
-                                <-Reducer 14 [SIMPLE_EDGE]
+                                <-Reducer 17 [SIMPLE_EDGE]
                                   SHUFFLE [RS_44]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_43] (rows=316788826 width=135)
                                       Output:["_col0"],keys:_col1
-                                      Merge Join Operator [MERGEJOIN_108] (rows=316788826 width=135)
-                                        Conds:RS_135._col0=RS_126._col0(Inner),Output:["_col1"]
-                                      <-Map 11 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_126]
+                                      Merge Join Operator [MERGEJOIN_172] (rows=316788826 width=135)
+                                        Conds:RS_216._col0=RS_189._col0(Inner),Output:["_col1"]
+                                      <-Map 12 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_189]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_123]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_135]
+                                           Please refer to the previous Select Operator [SEL_184]
+                                      <-Map 21 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_216]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_134] (rows=287989836 width=135)
+                                          Select Operator [SEL_215] (rows=287989836 width=135)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_133] (rows=287989836 width=135)
-                                              predicate:(cs_ship_customer_sk is not null and cs_sold_date_sk is not null)
+                                            Filter Operator [FIL_214] (rows=287989836 width=135)
+                                              predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_40_date_dim_d_date_sk_min) AND DynamicValue(RS_40_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_40_date_dim_d_date_sk_bloom_filter))) and cs_ship_customer_sk is not null and cs_sold_date_sk is not null)
                                               TableScan [TS_33] (rows=287989836 width=135)
                                                 default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_ship_customer_sk"]
-                          <-Reducer 3 [SIMPLE_EDGE]
-                            SHUFFLE [RS_55]
-                              PartitionCols:_col0
-                              Merge Join Operator [MERGEJOIN_105] (rows=96800003 width=860)
-                                Conds:RS_50._col1=RS_118._col0(Inner),Output:["_col0","_col4","_col6","_col7","_col8","_col9","_col10"]
-                              <-Map 8 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_118]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_117] (rows=1861800 width=385)
-                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                    Filter Operator [FIL_116] (rows=1861800 width=385)
-                                      predicate:cd_demo_sk is not null
-                                      TableScan [TS_6] (rows=1861800 width=385)
-                                        default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_dep_count","cd_dep_employed_count","cd_dep_college_count"]
-                              <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_50]
-                                  PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_104] (rows=88000001 width=860)
-                                    Conds:RS_112._col2=RS_115._col0(Inner),Output:["_col0","_col1","_col4"]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_112]
-                                      PartitionCols:_col2
-                                      Select Operator [SEL_111] (rows=80000000 width=860)
-                                        Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_110] (rows=80000000 width=860)
-                                          predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
-                                          TableScan [TS_0] (rows=80000000 width=860)
-                                            default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk"]
-                                  <-Map 7 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_115]
-                                      PartitionCols:_col0
-                                      Select Operator [SEL_114] (rows=40000000 width=1014)
-                                        Output:["_col0","_col1"]
-                                        Filter Operator [FIL_113] (rows=40000000 width=1014)
-                                          predicate:ca_address_sk is not null
-                                          TableScan [TS_3] (rows=40000000 width=1014)
-                                            default@customer_address,ca,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
+                                              <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_213]
+                                                  Group By Operator [GBY_212] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_196]
+                                                      Group By Operator [GBY_193] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_190] (rows=12174 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_184]
 


[53/58] [abbrv] hive git commit: HIVE-15976 Support CURRENT_CATALOG and CURRENT_SCHEMA (Laszlo Bodor via Alan Gates)

Posted by se...@apache.org.
HIVE-15976 Support CURRENT_CATALOG and CURRENT_SCHEMA (Laszlo Bodor via Alan Gates)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/1f2419dd
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/1f2419dd
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/1f2419dd

Branch: refs/heads/master-txnstats
Commit: 1f2419dd06d98aa42fabd77a82d4bf1d16a6f736
Parents: f37c5de
Author: Alan Gates <ga...@hortonworks.com>
Authored: Mon Jun 25 12:26:35 2018 -0700
Committer: Alan Gates <ga...@hortonworks.com>
Committed: Mon Jun 25 12:26:35 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hive/ql/exec/FunctionRegistry.java   |  4 +-
 .../udf/generic/GenericUDFCurrentCatalog.java   | 52 +++++++++++++++
 .../udf/generic/GenericUDFCurrentDatabase.java  | 53 +++++++++++++++
 .../ql/udf/generic/GenericUDFCurrentSchema.java | 37 +++++++++++
 .../hive/ql/udf/generic/UDFCurrentDB.java       | 68 --------------------
 .../clientpositive/current_catalog_and_schema.q | 10 +++
 .../current_catalog_and_schema.q.out            | 54 ++++++++++++++++
 .../results/clientpositive/show_functions.q.out |  4 ++
 8 files changed, 213 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
index e77fe18..63f8501 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
@@ -352,7 +352,9 @@ public final class FunctionRegistry {
 
     system.registerGenericUDF("grouping", GenericUDFGrouping.class);
 
-    system.registerGenericUDF("current_database", UDFCurrentDB.class);
+    system.registerGenericUDF("current_database", GenericUDFCurrentDatabase.class);
+    system.registerGenericUDF("current_schema", GenericUDFCurrentSchema.class);
+    system.registerGenericUDF("current_catalog", GenericUDFCurrentCatalog.class);
     system.registerGenericUDF("current_date", GenericUDFCurrentDate.class);
     system.registerGenericUDF("current_timestamp", GenericUDFCurrentTimestamp.class);
     system.registerGenericUDF("current_user", GenericUDFCurrentUser.class);

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentCatalog.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentCatalog.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentCatalog.java
new file mode 100644
index 0000000..e2684c8
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentCatalog.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.udf.generic;
+
+import org.apache.hadoop.hive.ql.exec.Description;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.udf.UDFType;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
+import org.apache.hadoop.io.Text;
+
+// This function is not a deterministic function, but a runtime constant.
+// The return value is constant within a query but can be different between queries.
+@UDFType(deterministic = false, runtimeConstant = true)
+@Description(name = "current_catalog", value = "_FUNC_() - returns currently used catalog name")
+@NDV(maxNdv = 1)
+public class GenericUDFCurrentCatalog extends GenericUDF {
+  @Override
+  public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {
+    return PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+        TypeInfoFactory.stringTypeInfo, new Text(SessionState.get().getCurrentCatalog()));
+  }
+
+  @Override
+  public Object evaluate(DeferredObject[] arguments) throws HiveException {
+    return SessionState.get().getCurrentCatalog();
+  }
+
+  @Override
+  public String getDisplayString(String[] children) {
+    return "current_catalog()";
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentDatabase.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentDatabase.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentDatabase.java
new file mode 100644
index 0000000..29d3629
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentDatabase.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.udf.generic;
+
+import org.apache.hadoop.hive.ql.exec.Description;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.udf.UDFType;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
+import org.apache.hadoop.io.Text;
+
+// This function is not a deterministic function, but a runtime constant.
+// The return value is constant within a query but can be different between queries.
+@UDFType(deterministic = false, runtimeConstant = true)
+@Description(name = "current_database",
+    value = "_FUNC_() - returns currently using database name")
+@NDV(maxNdv = 1)
+public class GenericUDFCurrentDatabase extends GenericUDF {
+  @Override
+  public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {
+    return PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+        TypeInfoFactory.stringTypeInfo, new Text(SessionState.get().getCurrentDatabase()));
+  }
+
+  @Override
+  public Object evaluate(DeferredObject[] arguments) throws HiveException {
+    return SessionState.get().getCurrentDatabase();
+  }
+
+  @Override
+  public String getDisplayString(String[] children) {
+    return "current_database()";
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentSchema.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentSchema.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentSchema.java
new file mode 100644
index 0000000..9e7895b
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentSchema.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.udf.generic;
+
+import org.apache.hadoop.hive.ql.exec.Description;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.session.SessionState;
+import org.apache.hadoop.hive.ql.udf.UDFType;
+
+// This function is not a deterministic function, but a runtime constant.
+// The return value is constant within a query but can be different between queries.
+@UDFType(deterministic = false, runtimeConstant = true)
+@Description(name = "current_schema", value = "_FUNC_() - returns currently used schema(database) name")
+@NDV(maxNdv = 1)
+public class GenericUDFCurrentSchema extends GenericUDFCurrentDatabase {
+  @Override
+  public String getDisplayString(String[] children) {
+    return "current_schema()";
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
deleted file mode 100644
index 1eacc25..0000000
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.ql.udf.generic;
-
-import org.apache.hadoop.hive.ql.exec.Description;
-import org.apache.hadoop.hive.ql.exec.MapredContext;
-import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
-import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.session.SessionState;
-import org.apache.hadoop.hive.ql.udf.UDFType;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
-import org.apache.hadoop.io.Text;
-
-// This function is not a deterministic function, but a runtime constant.
-// The return value is constant within a query but can be different between queries.
-@UDFType(deterministic = false, runtimeConstant = true)
-@Description(name = "current_database",
-    value = "_FUNC_() - returns currently using database name")
-@NDV(maxNdv = 1)
-public class UDFCurrentDB extends GenericUDF {
-
-  private MapredContext context;
-
-  @Override
-  public void configure(MapredContext context) {
-    this.context = context;
-  }
-
-  @Override
-  public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {
-    String database;
-    if (context != null) {
-      database = context.getJobConf().get("hive.current.database");
-    } else {
-      database = SessionState.get().getCurrentDatabase();
-    }
-    return PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
-        TypeInfoFactory.stringTypeInfo, new Text(database));
-  }
-
-  @Override
-  public Object evaluate(DeferredObject[] arguments) throws HiveException {
-    return SessionState.get().getCurrentDatabase();
-  }
-
-  @Override
-  public String getDisplayString(String[] children) {
-    return "current_database()";
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/test/queries/clientpositive/current_catalog_and_schema.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/current_catalog_and_schema.q b/ql/src/test/queries/clientpositive/current_catalog_and_schema.q
new file mode 100644
index 0000000..b4e4855
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/current_catalog_and_schema.q
@@ -0,0 +1,10 @@
+use default;
+
+select current_catalog();
+select current_schema();
+
+create database test_current_database;
+use test_current_database;
+
+select current_catalog();
+select current_schema();
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/test/results/clientpositive/current_catalog_and_schema.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/current_catalog_and_schema.q.out b/ql/src/test/results/clientpositive/current_catalog_and_schema.q.out
new file mode 100644
index 0000000..145845c
--- /dev/null
+++ b/ql/src/test/results/clientpositive/current_catalog_and_schema.q.out
@@ -0,0 +1,54 @@
+PREHOOK: query: use default
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:default
+POSTHOOK: query: use default
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:default
+PREHOOK: query: select current_catalog()
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+POSTHOOK: query: select current_catalog()
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+hive
+PREHOOK: query: select current_schema()
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+POSTHOOK: query: select current_schema()
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+default
+PREHOOK: query: create database test_current_database
+PREHOOK: type: CREATEDATABASE
+PREHOOK: Output: database:test_current_database
+POSTHOOK: query: create database test_current_database
+POSTHOOK: type: CREATEDATABASE
+POSTHOOK: Output: database:test_current_database
+PREHOOK: query: use test_current_database
+PREHOOK: type: SWITCHDATABASE
+PREHOOK: Input: database:test_current_database
+POSTHOOK: query: use test_current_database
+POSTHOOK: type: SWITCHDATABASE
+POSTHOOK: Input: database:test_current_database
+PREHOOK: query: select current_catalog()
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+POSTHOOK: query: select current_catalog()
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+hive
+PREHOOK: query: select current_schema()
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+POSTHOOK: query: select current_schema()
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+test_current_database

http://git-wip-us.apache.org/repos/asf/hive/blob/1f2419dd/ql/src/test/results/clientpositive/show_functions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/show_functions.q.out b/ql/src/test/results/clientpositive/show_functions.q.out
index 91d3660..e91cffd 100644
--- a/ql/src/test/results/clientpositive/show_functions.q.out
+++ b/ql/src/test/results/clientpositive/show_functions.q.out
@@ -64,9 +64,11 @@ crc32
 create_union
 cume_dist
 current_authorizer
+current_catalog
 current_database
 current_date
 current_groups
+current_schema
 current_timestamp
 current_user
 date_add
@@ -321,9 +323,11 @@ crc32
 create_union
 cume_dist
 current_authorizer
+current_catalog
 current_database
 current_date
 current_groups
+current_schema
 current_timestamp
 current_user
 PREHOOK: query: SHOW FUNCTIONS '.*e$'


[50/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
----------------------------------------------------------------------
diff --git a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out b/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
index 4a46786..6db7f5a 100644
--- a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
+++ b/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
@@ -384,6 +384,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: accumulo_pushdown
+            filterExpr: (not NVL((key < '90'),false)) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (not NVL((key < '90'),false)) (type: boolean)
@@ -423,6 +424,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: accumulo_pushdown
+            filterExpr: ((key <= '80') or (value like '%90%')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((key <= '80') or (value like '%90%')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 3691786..5eb0435 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -2115,7 +2115,7 @@ public class HiveConf extends Configuration {
         "Whether to provide the row offset virtual column"),
 
     // Optimizer
-    HIVEOPTINDEXFILTER("hive.optimize.index.filter", false, "Whether to enable automatic use of indexes"),
+    HIVEOPTINDEXFILTER("hive.optimize.index.filter", true, "Whether to enable automatic use of indexes"),
 
     HIVEOPTPPD("hive.optimize.ppd", true,
         "Whether to enable predicate pushdown"),

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/contrib/src/test/results/clientpositive/dboutput.q.out
----------------------------------------------------------------------
diff --git a/contrib/src/test/results/clientpositive/dboutput.q.out b/contrib/src/test/results/clientpositive/dboutput.q.out
index 5660097..3039af3 100644
--- a/contrib/src/test/results/clientpositive/dboutput.q.out
+++ b/contrib/src/test/results/clientpositive/dboutput.q.out
@@ -136,6 +136,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 10.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/contrib/src/test/results/clientpositive/serde_typedbytes4.q.out
----------------------------------------------------------------------
diff --git a/contrib/src/test/results/clientpositive/serde_typedbytes4.q.out b/contrib/src/test/results/clientpositive/serde_typedbytes4.q.out
index 45a2092..38e80c6 100644
--- a/contrib/src/test/results/clientpositive/serde_typedbytes4.q.out
+++ b/contrib/src/test/results/clientpositive/serde_typedbytes4.q.out
@@ -45,6 +45,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key < 100) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 100) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/hbase-handler/src/test/results/positive/hbase_custom_key3.q.out
----------------------------------------------------------------------
diff --git a/hbase-handler/src/test/results/positive/hbase_custom_key3.q.out b/hbase-handler/src/test/results/positive/hbase_custom_key3.q.out
index 1b042fd..60721cb 100644
--- a/hbase-handler/src/test/results/positive/hbase_custom_key3.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_custom_key3.q.out
@@ -65,6 +65,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: hbase_ck_5
+          filterExpr: ((key.col1 = '238') and (key.col2 = '1238')) (type: boolean)
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
             predicate: ((key.col1 = '238') and (key.col2 = '1238')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/hbase-handler/src/test/results/positive/hbase_ddl.q.out
----------------------------------------------------------------------
diff --git a/hbase-handler/src/test/results/positive/hbase_ddl.q.out b/hbase-handler/src/test/results/positive/hbase_ddl.q.out
index 9d16034..31baba3 100644
--- a/hbase-handler/src/test/results/positive/hbase_ddl.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_ddl.q.out
@@ -61,6 +61,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/hbase-handler/src/test/results/positive/hbase_queries.q.out
----------------------------------------------------------------------
diff --git a/hbase-handler/src/test/results/positive/hbase_queries.q.out b/hbase-handler/src/test/results/positive/hbase_queries.q.out
index eb91bf9..9fe9cab 100644
--- a/hbase-handler/src/test/results/positive/hbase_queries.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_queries.q.out
@@ -61,6 +61,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) % 2.0D) = 0.0D) (type: boolean)
@@ -149,6 +150,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -523,6 +525,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java
index 89121e3..538aa5e 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java
@@ -57,6 +57,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -128,7 +129,7 @@ public class ParseContext {
   private Set<FileSinkDesc> acidFileSinks = Collections.emptySet();
 
   private Map<ReduceSinkOperator, RuntimeValuesInfo> rsToRuntimeValuesInfo =
-          new HashMap<ReduceSinkOperator, RuntimeValuesInfo>();
+          new LinkedHashMap<ReduceSinkOperator, RuntimeValuesInfo>();
   private Map<ReduceSinkOperator, SemiJoinBranchInfo> rsToSemiJoinBranchInfo =
           new HashMap<>();
   private Map<ExprNodeDesc, GroupByOperator> colExprToGBMap =

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
index 87d06ae..59cfcd7 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/plan/mapping/TestOperatorCmp.java
@@ -135,7 +135,8 @@ public class TestOperatorCmp {
     PlanMapper pm0 = getMapperForQuery(driver, "select u from tu where id_uv = 1 group by u");
     PlanMapper pm1 = getMapperForQuery(driver, "select u from tu where id_uv = 2 group by u");
 
-    assertHelper(AssertHelperOp.SAME, pm0, pm1, TableScanOperator.class);
+    //Since we have hive.optimize.index.filter=true we will have different table scan operator
+    assertHelper(AssertHelperOp.NOT_SAME, pm0, pm1, TableScanOperator.class);
     assertHelper(AssertHelperOp.NOT_SAME, pm0, pm1, FilterOperator.class);
 
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out b/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
index eaa3be9..13028d7 100644
--- a/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
+++ b/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
@@ -94,6 +94,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 108 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -110,6 +111,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 70 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -177,6 +179,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 92 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -191,6 +194,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 140 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientnegative/sortmerge_mapjoin_mismatch_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/sortmerge_mapjoin_mismatch_1.q.out b/ql/src/test/results/clientnegative/sortmerge_mapjoin_mismatch_1.q.out
index 5614cec..ac8bb3e 100644
--- a/ql/src/test/results/clientnegative/sortmerge_mapjoin_mismatch_1.q.out
+++ b/ql/src/test/results/clientnegative/sortmerge_mapjoin_mismatch_1.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/acid_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_mapjoin.q.out b/ql/src/test/results/clientpositive/acid_mapjoin.q.out
index 5569a03..40ea74b 100644
--- a/ql/src/test/results/clientpositive/acid_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/acid_mapjoin.q.out
@@ -80,6 +80,7 @@ STAGE PLANS:
         $hdt$_1:acid2 
           TableScan
             alias: acid2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 210 Data size: 840 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -98,6 +99,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acid1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 316 Data size: 1265 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/acid_table_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_table_stats.q.out b/ql/src/test/results/clientpositive/acid_table_stats.q.out
index c028842..acda186 100644
--- a/ql/src/test/results/clientpositive/acid_table_stats.q.out
+++ b/ql/src/test/results/clientpositive/acid_table_stats.q.out
@@ -132,6 +132,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acid
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 83 Data size: 40630 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               Statistics: Num rows: 83 Data size: 40630 Basic stats: COMPLETE Column stats: NONE
@@ -299,6 +300,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acid
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 208000 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               Statistics: Num rows: 1000 Data size: 208000 Basic stats: COMPLETE Column stats: NONE
@@ -459,6 +461,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acid
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
@@ -531,6 +534,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: acid
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 2000 Data size: 416000 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/allcolref_in_udf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/allcolref_in_udf.q.out b/ql/src/test/results/clientpositive/allcolref_in_udf.q.out
index 000a782..dbd1715 100644
--- a/ql/src/test/results/clientpositive/allcolref_in_udf.q.out
+++ b/ql/src/test/results/clientpositive/allcolref_in_udf.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -78,6 +79,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -94,6 +96,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out b/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
index d5975e1..b474019 100644
--- a/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
+++ b/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
@@ -119,6 +119,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p
+            filterExpr: (c = 1) (type: boolean)
             Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: a (type: int)
@@ -253,6 +254,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p
+            filterExpr: (c = 4) (type: boolean)
             Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: a (type: int)
@@ -346,6 +348,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p
+            filterExpr: (c = 100) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: a (type: int)
@@ -409,6 +412,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p
+            filterExpr: (c = 100) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: a (type: int)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_partition_coltype.q.out b/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
index 186c303..8e2a745 100644
--- a/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
+++ b/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
@@ -321,6 +321,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter_coltype
+          filterExpr: dt is not null (type: boolean)
           Statistics: Num rows: 50 Data size: 382 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator
@@ -510,6 +511,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alterdynamic_part_table
+          filterExpr: ((partcol1 = 1) and (partcol2 = '1')) (type: boolean)
           Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator
@@ -580,6 +582,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alterdynamic_part_table
+          filterExpr: (((partcol1 = 2) and (partcol2 = '1')) or ((partcol1 = 1) and (partcol2 = '__HIVE_DEFAULT_PARTITION__'))) (type: boolean)
           Statistics: Num rows: 1 Data size: 1 Basic stats: COMPLETE Column stats: NONE
           GatherStats: false
           Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/ambiguous_col.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/ambiguous_col.q.out b/ql/src/test/results/clientpositive/ambiguous_col.q.out
index a7682fb..a1b4c96 100644
--- a/ql/src/test/results/clientpositive/ambiguous_col.q.out
+++ b/ql/src/test/results/clientpositive/ambiguous_col.q.out
@@ -12,6 +12,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -28,6 +29,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -129,6 +131,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -144,6 +147,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -245,6 +249,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -260,6 +265,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/analyze_tbl_date.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/analyze_tbl_date.q.out b/ql/src/test/results/clientpositive/analyze_tbl_date.q.out
index c2294ab..e9400b2 100644
--- a/ql/src/test/results/clientpositive/analyze_tbl_date.q.out
+++ b/ql/src/test/results/clientpositive/analyze_tbl_date.q.out
@@ -73,6 +73,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: test_table_n7
+            filterExpr: d is not null (type: boolean)
             Statistics: Num rows: 3 Data size: 6 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: d is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out b/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
index 5f68009..83bb65e 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
@@ -120,6 +120,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: over1k_n4
+            filterExpr: (((t = 1Y) and (si = 2S)) or ((t = 2Y) and (si = 3S)) or ((t = 3Y) and (si = 4S)) or ((t = 4Y) and (si = 5S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S)) or ((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 27Y) and (si = 28S)) or ((t = 37Y) and (si = 38S)) or ((t = 47Y) and (si = 48S)) or ((t = 52Y) and (si = 53S))) (type: boolean)
             Statistics: Num rows: 2098 Data size: 16744 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 1Y) and (si = 2S)) or ((t = 27Y) and (si = 28S)) or ((t = 2Y) and (si = 3S)) or ((t = 37Y) and (si = 38S)) or ((t = 3Y) and (si = 4S)) or ((t = 47Y) and (si = 48S)) or ((t = 4Y) and (si = 5S)) or ((t = 52Y) and (si = 53S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S))) (type: boolean)
@@ -210,6 +211,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: over1k_n4
+            filterExpr: (((t = 1Y) and (si = 2S)) or ((t = 2Y) and (si = 3S)) or ((t = 3Y) and (si = 4S)) or ((t = 4Y) and (si = 5S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S)) or ((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 27Y) and (si = 28S)) or ((t = 37Y) and (si = 38S)) or ((t = 47Y) and (si = 48S)) or ((t = 52Y) and (si = 53S))) (type: boolean)
             Statistics: Num rows: 2098 Data size: 211174 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 1Y) and (si = 2S)) or ((t = 27Y) and (si = 28S)) or ((t = 2Y) and (si = 3S)) or ((t = 37Y) and (si = 38S)) or ((t = 3Y) and (si = 4S)) or ((t = 47Y) and (si = 48S)) or ((t = 4Y) and (si = 5S)) or ((t = 52Y) and (si = 53S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S))) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/annotate_stats_filter.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/annotate_stats_filter.q.out b/ql/src/test/results/clientpositive/annotate_stats_filter.q.out
index 59df9b2..5439588 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_filter.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_filter.q.out
@@ -87,6 +87,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (state = 'OH') (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (state = 'OH') (type: boolean)
@@ -134,6 +135,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (state = 'OH') (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (state = 'OH') (type: boolean)
@@ -171,6 +173,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (state <> 'OH') (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (state <> 'OH') (type: boolean)
@@ -208,6 +211,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (state <> 'OH') (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (state <> 'OH') (type: boolean)
@@ -245,6 +249,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: zip is null (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: zip is null (type: boolean)
@@ -282,6 +287,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: zip is null (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: zip is null (type: boolean)
@@ -319,6 +325,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: zip is not null (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: zip is not null (type: boolean)
@@ -356,6 +363,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: zip is not null (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: zip is not null (type: boolean)
@@ -641,6 +649,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: ((state = 'OH') or (state = 'CA')) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((state = 'CA') or (state = 'OH')) (type: boolean)
@@ -752,6 +761,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (((year = 2001) and year is null) or (state = 'CA')) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (((year = 2001) and year is null) or (state = 'CA')) (type: boolean)
@@ -789,6 +799,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (((year = 2001) or year is null) and (state = 'CA')) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (((year = 2001) or year is null) and (state = 'CA')) (type: boolean)
@@ -826,6 +837,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid < 30) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid < 30) (type: boolean)
@@ -863,6 +875,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid > 30) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid > 30) (type: boolean)
@@ -900,6 +913,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid <= 30) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid <= 30) (type: boolean)
@@ -937,6 +951,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid >= 30) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid >= 30) (type: boolean)
@@ -974,6 +989,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid < 3) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid < 3) (type: boolean)
@@ -1011,6 +1027,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid > 3) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid > 3) (type: boolean)
@@ -1048,6 +1065,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid <= 3) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid <= 3) (type: boolean)
@@ -1085,6 +1103,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: loc_orc
+            filterExpr: (locid >= 3) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid >= 3) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/annotate_stats_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/annotate_stats_join.q.out b/ql/src/test/results/clientpositive/annotate_stats_join.q.out
index b7b429c..b0d2b05 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_join.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_join.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -154,6 +155,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col2 (type: int)
           TableScan
             alias: d
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -205,6 +207,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: emp_n2
+            filterExpr: (deptid is not null and lastname is not null) (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and lastname is not null) (type: boolean)
@@ -221,6 +224,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: int)
           TableScan
             alias: dept_n1
+            filterExpr: (deptid is not null and deptname is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and deptname is not null) (type: boolean)
@@ -271,6 +275,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e
+            filterExpr: (deptid is not null and lastname is not null) (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and lastname is not null) (type: boolean)
@@ -287,6 +292,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: int)
           TableScan
             alias: d
+            filterExpr: (deptid is not null and deptname is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and deptname is not null) (type: boolean)
@@ -337,6 +343,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: emp_n2
+            filterExpr: (deptid is not null and lastname is not null) (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and lastname is not null) (type: boolean)
@@ -353,6 +360,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: int)
           TableScan
             alias: dept_n1
+            filterExpr: (deptid is not null and deptname is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and deptname is not null) (type: boolean)
@@ -403,6 +411,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -419,6 +428,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col2 (type: int)
           TableScan
             alias: d
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -435,6 +445,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: e1
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -488,6 +499,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -504,6 +516,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col2 (type: int)
           TableScan
             alias: d
+            filterExpr: deptid is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: deptid is not null (type: boolean)
@@ -520,6 +533,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: l
+            filterExpr: locid is not null (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: locid is not null (type: boolean)
@@ -573,6 +587,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: e
+            filterExpr: (deptid is not null and lastname is not null) (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and lastname is not null) (type: boolean)
@@ -589,6 +604,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: int)
           TableScan
             alias: d
+            filterExpr: (deptid is not null and deptname is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and deptname is not null) (type: boolean)
@@ -604,6 +620,7 @@ STAGE PLANS:
                   Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: l
+            filterExpr: (locid is not null and state is not null) (type: boolean)
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (locid is not null and state is not null) (type: boolean)
@@ -717,6 +734,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: emp_n2
+            filterExpr: (deptid is not null and lastname is not null) (type: boolean)
             Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and lastname is not null) (type: boolean)
@@ -733,6 +751,7 @@ STAGE PLANS:
                   value expressions: _col2 (type: int)
           TableScan
             alias: dept_n1
+            filterExpr: (deptid is not null and deptname is not null) (type: boolean)
             Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (deptid is not null and deptname is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
index d9f6bad..6c74b23 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
@@ -372,6 +372,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -387,6 +388,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: ss
+            filterExpr: ss_store_sk is not null (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ss_store_sk is not null (type: boolean)
@@ -437,6 +439,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -452,6 +455,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: ss
+            filterExpr: ss_store_sk is not null (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ss_store_sk is not null (type: boolean)
@@ -502,6 +506,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: (s_store_sk > 0) (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (s_store_sk > 0) (type: boolean)
@@ -517,6 +522,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: ss
+            filterExpr: (ss_store_sk > 0) (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ss_store_sk > 0) (type: boolean)
@@ -567,6 +573,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: ((s_company_id > 0) and s_store_sk is not null) (type: boolean)
             Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: PARTIAL
             Filter Operator
               predicate: ((s_company_id > 0) and s_store_sk is not null) (type: boolean)
@@ -582,6 +589,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: PARTIAL
           TableScan
             alias: ss
+            filterExpr: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 7676 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean)
@@ -632,6 +640,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: ((s_floor_space > 0) and s_store_sk is not null) (type: boolean)
             Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((s_floor_space > 0) and s_store_sk is not null) (type: boolean)
@@ -647,6 +656,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: ss
+            filterExpr: ss_store_sk is not null (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ss_store_sk is not null (type: boolean)
@@ -697,6 +707,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -712,6 +723,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: ss
+            filterExpr: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 7676 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean)
@@ -762,6 +774,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: ss
+            filterExpr: ss_store_sk is not null (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ss_store_sk is not null (type: boolean)
@@ -777,6 +790,7 @@ STAGE PLANS:
                   Statistics: Num rows: 964 Data size: 3720 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -792,6 +806,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s1
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -848,6 +863,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: ss
+            filterExpr: (ss_store_sk > 1000) (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ss_store_sk > 1000) (type: boolean)
@@ -863,6 +879,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s
+            filterExpr: (s_store_sk > 1000) (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (s_store_sk > 1000) (type: boolean)
@@ -878,6 +895,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s1
+            filterExpr: (s_store_sk > 1000) (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (s_store_sk > 1000) (type: boolean)
@@ -934,6 +952,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: ss
+            filterExpr: ss_store_sk is not null (type: boolean)
             Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ss_store_sk is not null (type: boolean)
@@ -949,6 +968,7 @@ STAGE PLANS:
                   Statistics: Num rows: 964 Data size: 3720 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s
+            filterExpr: ((s_floor_space > 1000) and s_store_sk is not null) (type: boolean)
             Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((s_floor_space > 1000) and s_store_sk is not null) (type: boolean)
@@ -964,6 +984,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s1
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -1020,6 +1041,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: ss
+            filterExpr: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 7676 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean)
@@ -1035,6 +1057,7 @@ STAGE PLANS:
                   Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -1050,6 +1073,7 @@ STAGE PLANS:
                   Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: s1
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -1107,6 +1131,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: ss
+            filterExpr: (ss_store_sk is not null and ss_addr_sk is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 7664 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ss_addr_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -1123,6 +1148,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: s
+            filterExpr: s_store_sk is not null (type: boolean)
             Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: s_store_sk is not null (type: boolean)
@@ -1164,6 +1190,7 @@ STAGE PLANS:
               value expressions: _col2 (type: int)
           TableScan
             alias: ca
+            filterExpr: ca_address_sk is not null (type: boolean)
             Statistics: Num rows: 20 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: ca_address_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/annotate_stats_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/annotate_stats_part.q.out b/ql/src/test/results/clientpositive/annotate_stats_part.q.out
index 18e8161..2bd4d17 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_part.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_part.q.out
@@ -121,6 +121,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: (year = '__HIVE_DEFAULT_PARTITION__') (type: boolean)
           Statistics: Num rows: 9 Data size: 5364 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: state (type: string), locid (type: int), zip (type: bigint), '__HIVE_DEFAULT_PARTITION__' (type: string)
@@ -163,6 +164,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: (year = '2001') (type: boolean)
           Statistics: Num rows: 7 Data size: 2050 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: state (type: string), locid (type: int), zip (type: bigint), '2001' (type: string)
@@ -196,6 +198,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: (year = '__HIVE_DEFAULT_PARTITION__') (type: boolean)
           Statistics: Num rows: 1 Data size: 292 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: state (type: string), locid (type: int), zip (type: bigint), '__HIVE_DEFAULT_PARTITION__' (type: string)
@@ -238,6 +241,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: ((year = '2001') or (year = '__HIVE_DEFAULT_PARTITION__')) (type: boolean)
           Statistics: Num rows: 8 Data size: 3814 Basic stats: COMPLETE Column stats: PARTIAL
           Select Operator
             expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string)
@@ -381,6 +385,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: (year = '2001') (type: boolean)
           Statistics: Num rows: 7 Data size: 630 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
             expressions: state (type: string), locid (type: int)
@@ -402,6 +407,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: (year <> '2001') (type: boolean)
           Statistics: Num rows: 1 Data size: 284 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: state (type: string), locid (type: int)
@@ -444,6 +450,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: ((locid > 0) and (year = '2001')) (type: boolean)
           Statistics: Num rows: 7 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (locid > 0) (type: boolean)
@@ -468,6 +475,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: ((locid > 0) and (year = '2001')) (type: boolean)
           Statistics: Num rows: 7 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (locid > 0) (type: boolean)
@@ -492,6 +500,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: loc_orc_n4
+          filterExpr: ((locid > 0) and (year = '2001')) (type: boolean)
           Statistics: Num rows: 7 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (locid > 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/annotate_stats_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/annotate_stats_select.q.out b/ql/src/test/results/clientpositive/annotate_stats_select.q.out
index b740f99..b022af1 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_select.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_select.q.out
@@ -975,6 +975,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypes_orc
+            filterExpr: (not bo1) (type: boolean)
             Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (not bo1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/autoColumnStats_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_1.q.out b/ql/src/test/results/clientpositive/autoColumnStats_1.q.out
index 2cf8717..1756019 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_1.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_1.q.out
@@ -660,6 +660,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter5_n0
+          filterExpr: (dt = 'a') (type: boolean)
           Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
             expressions: col1 (type: string), 'a' (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_2.q.out b/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
index 854c779..8e76396 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
@@ -664,6 +664,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter5
+          filterExpr: (dt = 'a') (type: boolean)
           Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
             expressions: col1 (type: string), 'a' (type: string)
@@ -783,6 +784,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: alter5
+          filterExpr: (dt = 'a') (type: boolean)
           Statistics: Num rows: 49 Data size: 4263 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
             expressions: col1 (type: string), 'a' (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_4.q.out b/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
index def65ff..a16ec07 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_4.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: alltypesorc
+            filterExpr: cint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: cint is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/autoColumnStats_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_9.q.out b/ql/src/test/results/clientpositive/autoColumnStats_9.q.out
index f2a8cdc..8a94108 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_9.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_9.q.out
@@ -29,6 +29,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -44,6 +45,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join0.q.out b/ql/src/test/results/clientpositive/auto_join0.q.out
index 17fc2fd..5f7a6cc 100644
--- a/ql/src/test/results/clientpositive/auto_join0.q.out
+++ b/ql/src/test/results/clientpositive/auto_join0.q.out
@@ -41,6 +41,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -213,6 +214,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join1.q.out b/ql/src/test/results/clientpositive/auto_join1.q.out
index 2a11bc0..6bda885 100644
--- a/ql/src/test/results/clientpositive/auto_join1.q.out
+++ b/ql/src/test/results/clientpositive/auto_join1.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join10.q.out b/ql/src/test/results/clientpositive/auto_join10.q.out
index d6c9c35..7c7f4c8 100644
--- a/ql/src/test/results/clientpositive/auto_join10.q.out
+++ b/ql/src/test/results/clientpositive/auto_join10.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -48,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join11.q.out b/ql/src/test/results/clientpositive/auto_join11.q.out
index ce91122..4a0a2ea 100644
--- a/ql/src/test/results/clientpositive/auto_join11.q.out
+++ b/ql/src/test/results/clientpositive/auto_join11.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -48,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join12.q.out b/ql/src/test/results/clientpositive/auto_join12.q.out
index 8dae2ec..7b384b6 100644
--- a/ql/src/test/results/clientpositive/auto_join12.q.out
+++ b/ql/src/test/results/clientpositive/auto_join12.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 80.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 80.0D) (type: boolean)
@@ -55,6 +56,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_2:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 80.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 80.0D) (type: boolean)
@@ -74,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 80.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 80.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join13.q.out b/ql/src/test/results/clientpositive/auto_join13.q.out
index ab1e100..15558a2 100644
--- a/ql/src/test/results/clientpositive/auto_join13.q.out
+++ b/ql/src/test/results/clientpositive/auto_join13.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 200.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 200.0D) (type: boolean)
@@ -54,6 +55,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -72,6 +74,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join14.q.out b/ql/src/test/results/clientpositive/auto_join14.q.out
index 1d8a2da..6317590 100644
--- a/ql/src/test/results/clientpositive/auto_join14.q.out
+++ b/ql/src/test/results/clientpositive/auto_join14.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join15.q.out b/ql/src/test/results/clientpositive/auto_join15.q.out
index fd0dfd3..960940e 100644
--- a/ql/src/test/results/clientpositive/auto_join15.q.out
+++ b/ql/src/test/results/clientpositive/auto_join15.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
         a:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -44,6 +45,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join16.q.out b/ql/src/test/results/clientpositive/auto_join16.q.out
index eb124c2..2782376 100644
--- a/ql/src/test/results/clientpositive/auto_join16.q.out
+++ b/ql/src/test/results/clientpositive/auto_join16.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)
@@ -48,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: tab
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(value) < 200.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join17.q.out b/ql/src/test/results/clientpositive/auto_join17.q.out
index f2a1615..300cbb6 100644
--- a/ql/src/test/results/clientpositive/auto_join17.q.out
+++ b/ql/src/test/results/clientpositive/auto_join17.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join19.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join19.q.out b/ql/src/test/results/clientpositive/auto_join19.q.out
index 3d32ae4..3e07ec0 100644
--- a/ql/src/test/results/clientpositive/auto_join19.q.out
+++ b/ql/src/test/results/clientpositive/auto_join19.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
         $hdt$_1:src2 
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (((ds = '2008-04-08') or (ds = '2008-04-09')) and ((hr = '12') or (hr = '11')) and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join19_inclause.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join19_inclause.q.out b/ql/src/test/results/clientpositive/auto_join19_inclause.q.out
index 3f0a32f..7e0ab61 100644
--- a/ql/src/test/results/clientpositive/auto_join19_inclause.q.out
+++ b/ql/src/test/results/clientpositive/auto_join19_inclause.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
         $hdt$_1:src2 
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((ds) IN ('2008-04-08', '2008-04-09') and (hr) IN ('12', '11') and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join2.q.out b/ql/src/test/results/clientpositive/auto_join2.q.out
index a7dd6a2..8e51fa6 100644
--- a/ql/src/test/results/clientpositive/auto_join2.q.out
+++ b/ql/src/test/results/clientpositive/auto_join2.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
         $hdt$_2:src3 
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -68,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join20.q.out b/ql/src/test/results/clientpositive/auto_join20.q.out
index f512c7f..8f015b3 100644
--- a/ql/src/test/results/clientpositive/auto_join20.q.out
+++ b/ql/src/test/results/clientpositive/auto_join20.q.out
@@ -33,6 +33,7 @@ STAGE PLANS:
         a:src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -49,6 +50,7 @@ STAGE PLANS:
         a:src2 
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -173,6 +175,7 @@ STAGE PLANS:
         a:src1 
           TableScan
             alias: src1
+            filterExpr: ((key < 15) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 15)) (type: boolean)
@@ -189,6 +192,7 @@ STAGE PLANS:
         a:src2 
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key < 15)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 15)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join21.q.out b/ql/src/test/results/clientpositive/auto_join21.q.out
index 84a4627..0dccbcb 100644
--- a/ql/src/test/results/clientpositive/auto_join21.q.out
+++ b/ql/src/test/results/clientpositive/auto_join21.q.out
@@ -36,6 +36,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key > 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join22.q.out b/ql/src/test/results/clientpositive/auto_join22.q.out
index 7b35422..81e5fb8 100644
--- a/ql/src/test/results/clientpositive/auto_join22.q.out
+++ b/ql/src/test/results/clientpositive/auto_join22.q.out
@@ -23,6 +23,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_0:$hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -38,6 +39,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_1:src4 
           TableScan
             alias: src4
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -56,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join23.q.out b/ql/src/test/results/clientpositive/auto_join23.q.out
index 8fa5787..e31941d 100644
--- a/ql/src/test/results/clientpositive/auto_join23.q.out
+++ b/ql/src/test/results/clientpositive/auto_join23.q.out
@@ -21,6 +21,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -35,6 +36,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join24.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join24.q.out b/ql/src/test/results/clientpositive/auto_join24.q.out
index 2e6d8c2..7322a78 100644
--- a/ql/src/test/results/clientpositive/auto_join24.q.out
+++ b/ql/src/test/results/clientpositive/auto_join24.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 309 Data size: 1482 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 309 Data size: 1482 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join26.q.out b/ql/src/test/results/clientpositive/auto_join26.q.out
index 931c154..8d3e016 100644
--- a/ql/src/test/results/clientpositive/auto_join26.q.out
+++ b/ql/src/test/results/clientpositive/auto_join26.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join27.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join27.q.out b/ql/src/test/results/clientpositive/auto_join27.q.out
index eeb1f73..292d6d2 100644
--- a/ql/src/test/results/clientpositive/auto_join27.q.out
+++ b/ql/src/test/results/clientpositive/auto_join27.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 200.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 200.0D) (type: boolean)
@@ -77,6 +78,7 @@ STAGE PLANS:
         $hdt$_1:src 
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 200.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 200.0D) (type: boolean)
@@ -95,6 +97,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 200.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 200.0D) (type: boolean)


[06/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query48.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query48.q.out b/ql/src/test/results/clientpositive/perf/tez/query48.q.out
index 56eb93f..1cf8d5c 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query48.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query48.q.out
@@ -131,19 +131,24 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 10 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Map 8 <- Reducer 10 (BROADCAST_EDGE), Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 1 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_73]
-        Group By Operator [GBY_72] (rows=1 width=8)
+      File Output Operator [FS_133]
+        Group By Operator [GBY_132] (rows=1 width=8)
           Output:["_col0"],aggregations:["sum(VALUE._col0)"]
         <-Reducer 5 [CUSTOM_SIMPLE_EDGE]
           PARTITION_ONLY_SHUFFLE [RS_30]
@@ -153,66 +158,110 @@ Stage-0
                 Output:["_col5"]
                 Filter Operator [FIL_27] (rows=15616947 width=88)
                   predicate:(((_col14) IN ('KY', 'GA', 'NM') and _col7 BETWEEN 0 AND 2000) or ((_col14) IN ('MT', 'OR', 'IN') and _col7 BETWEEN 150 AND 3000) or ((_col14) IN ('WI', 'MO', 'WV') and _col7 BETWEEN 50 AND 25000))
-                  Merge Join Operator [MERGEJOIN_56] (rows=93701693 width=88)
-                    Conds:RS_24._col3=RS_71._col0(Inner),Output:["_col5","_col7","_col14"]
-                  <-Map 10 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_71]
+                  Merge Join Operator [MERGEJOIN_96] (rows=93701693 width=88)
+                    Conds:RS_24._col3=RS_123._col0(Inner),Output:["_col5","_col7","_col14"]
+                  <-Map 13 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_123]
                       PartitionCols:_col0
-                      Select Operator [SEL_70] (rows=10000000 width=1014)
+                      Select Operator [SEL_122] (rows=10000000 width=1014)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_69] (rows=10000000 width=1014)
+                        Filter Operator [FIL_121] (rows=10000000 width=1014)
                           predicate:((ca_country = 'United States') and (ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and ca_address_sk is not null)
                           TableScan [TS_12] (rows=40000000 width=1014)
                             default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_country"]
                   <-Reducer 4 [SIMPLE_EDGE]
                     SHUFFLE [RS_24]
                       PartitionCols:_col3
-                      Merge Join Operator [MERGEJOIN_55] (rows=85183356 width=88)
-                        Conds:RS_21._col2=RS_68._col0(Inner),Output:["_col3","_col5","_col7"]
-                      <-Map 9 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_68]
+                      Merge Join Operator [MERGEJOIN_95] (rows=85183356 width=88)
+                        Conds:RS_21._col2=RS_115._col0(Inner),Output:["_col3","_col5","_col7"]
+                      <-Map 11 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_115]
                           PartitionCols:_col0
-                          Select Operator [SEL_67] (rows=465450 width=385)
+                          Select Operator [SEL_114] (rows=465450 width=385)
                             Output:["_col0"]
-                            Filter Operator [FIL_66] (rows=465450 width=385)
+                            Filter Operator [FIL_113] (rows=465450 width=385)
                               predicate:((cd_education_status = '4 yr Degree') and (cd_marital_status = 'M') and cd_demo_sk is not null)
                               TableScan [TS_9] (rows=1861800 width=385)
                                 default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_21]
                           PartitionCols:_col2
-                          Merge Join Operator [MERGEJOIN_54] (rows=77439413 width=88)
-                            Conds:RS_18._col1=RS_65._col0(Inner),Output:["_col2","_col3","_col5","_col7"]
-                          <-Map 8 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_65]
+                          Merge Join Operator [MERGEJOIN_94] (rows=77439413 width=88)
+                            Conds:RS_18._col1=RS_107._col0(Inner),Output:["_col2","_col3","_col5","_col7"]
+                          <-Map 9 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_107]
                               PartitionCols:_col0
-                              Select Operator [SEL_64] (rows=36524 width=1119)
+                              Select Operator [SEL_106] (rows=36524 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_63] (rows=36524 width=1119)
+                                Filter Operator [FIL_105] (rows=36524 width=1119)
                                   predicate:((d_year = 1998) and d_date_sk is not null)
                                   TableScan [TS_6] (rows=73049 width=1119)
                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                           <-Reducer 2 [SIMPLE_EDGE]
                             SHUFFLE [RS_18]
                               PartitionCols:_col1
-                              Merge Join Operator [MERGEJOIN_53] (rows=70399465 width=88)
-                                Conds:RS_59._col0=RS_62._col3(Inner),Output:["_col1","_col2","_col3","_col5","_col7"]
+                              Merge Join Operator [MERGEJOIN_93] (rows=70399465 width=88)
+                                Conds:RS_99._col0=RS_131._col3(Inner),Output:["_col1","_col2","_col3","_col5","_col7"]
                               <-Map 1 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_59]
+                                PARTITION_ONLY_SHUFFLE [RS_99]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_58] (rows=1704 width=1910)
+                                  Select Operator [SEL_98] (rows=1704 width=1910)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_57] (rows=1704 width=1910)
+                                    Filter Operator [FIL_97] (rows=1704 width=1910)
                                       predicate:s_store_sk is not null
                                       TableScan [TS_0] (rows=1704 width=1910)
                                         default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk"]
-                              <-Map 7 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_62]
+                              <-Map 8 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_131]
                                   PartitionCols:_col3
-                                  Select Operator [SEL_61] (rows=63999513 width=88)
+                                  Select Operator [SEL_130] (rows=63999513 width=88)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col6"]
-                                    Filter Operator [FIL_60] (rows=63999513 width=88)
-                                      predicate:((ss_net_profit BETWEEN 0 AND 2000 or ss_net_profit BETWEEN 150 AND 3000 or ss_net_profit BETWEEN 50 AND 25000) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                    Filter Operator [FIL_129] (rows=63999513 width=88)
+                                      predicate:((ss_addr_sk BETWEEN DynamicValue(RS_25_customer_address_ca_address_sk_min) AND DynamicValue(RS_25_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_25_customer_address_ca_address_sk_bloom_filter))) and (ss_cdemo_sk BETWEEN DynamicValue(RS_22_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_22_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_22_customer_demographics_cd_demo_sk_bloom_filter))) and (ss_net_profit BETWEEN 0 AND 2000 or ss_net_profit BETWEEN 150 AND 3000 or ss_net_profit BETWEEN 50 AND 25000) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN Dynami
 cValue(RS_15_store_s_store_sk_min) AND DynamicValue(RS_15_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_15_store_s_store_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                       TableScan [TS_3] (rows=575995635 width=88)
                                         default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_net_profit"]
+                                      <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_112]
+                                          Group By Operator [GBY_111] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_110]
+                                              Group By Operator [GBY_109] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_108] (rows=36524 width=1119)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_106]
+                                      <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_120]
+                                          Group By Operator [GBY_119] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_118]
+                                              Group By Operator [GBY_117] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_116] (rows=465450 width=385)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_114]
+                                      <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_128]
+                                          Group By Operator [GBY_127] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=10000000)"]
+                                          <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_126]
+                                              Group By Operator [GBY_125] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=10000000)"]
+                                                Select Operator [SEL_124] (rows=10000000 width=1014)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_122]
+                                      <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_104]
+                                          Group By Operator [GBY_103] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_102]
+                                              Group By Operator [GBY_101] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_100] (rows=1704 width=1910)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_98]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query49.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query49.q.out b/ql/src/test/results/clientpositive/perf/tez/query49.q.out
index 47f37a2..434ed16 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query49.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query49.q.out
@@ -253,20 +253,26 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 13 (BROADCAST_EDGE)
+Map 27 <- Reducer 19 (BROADCAST_EDGE)
+Map 29 <- Reducer 25 (BROADCAST_EDGE)
 Reducer 10 <- Union 9 (SIMPLE_EDGE)
 Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
-Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 14 <- Map 25 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
-Reducer 15 <- Reducer 14 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 12 (SIMPLE_EDGE), Map 27 (SIMPLE_EDGE)
+Reducer 15 <- Map 28 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
 Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
-Reducer 17 <- Reducer 16 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Reducer 18 <- Map 12 (SIMPLE_EDGE), Map 26 (SIMPLE_EDGE)
-Reducer 19 <- Map 27 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 17 <- Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Union 7 (CONTAINS)
+Reducer 19 <- Map 12 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
-Reducer 21 <- Reducer 20 (SIMPLE_EDGE)
-Reducer 22 <- Reducer 21 (SIMPLE_EDGE), Union 9 (CONTAINS)
-Reducer 3 <- Map 23 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 20 <- Map 12 (SIMPLE_EDGE), Map 29 (SIMPLE_EDGE)
+Reducer 21 <- Map 30 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
+Reducer 22 <- Reducer 21 (SIMPLE_EDGE)
+Reducer 23 <- Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Reducer 23 (SIMPLE_EDGE), Union 9 (CONTAINS)
+Reducer 25 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 26 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
@@ -277,185 +283,207 @@ Stage-0
     limit:100
     Stage-1
       Reducer 11 vectorized
-      File Output Operator [FS_205]
-        Limit [LIM_204] (rows=100 width=101)
+      File Output Operator [FS_306]
+        Limit [LIM_305] (rows=100 width=101)
           Number of rows:100
-          Select Operator [SEL_203] (rows=5915494 width=101)
+          Select Operator [SEL_304] (rows=5915494 width=101)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 10 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_202]
-              Select Operator [SEL_201] (rows=5915494 width=101)
+            SHUFFLE [RS_303]
+              Select Operator [SEL_302] (rows=5915494 width=101)
                 Output:["_col0","_col1","_col2","_col3","_col4"]
-                Group By Operator [GBY_200] (rows=5915494 width=101)
+                Group By Operator [GBY_301] (rows=5915494 width=101)
                   Output:["_col0","_col1","_col2","_col3","_col4"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                 <-Union 9 [SIMPLE_EDGE]
-                  <-Reducer 22 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_241]
+                  <-Reducer 24 [CONTAINS] vectorized
+                    Reduce Output Operator [RS_346]
                       PartitionCols:_col0, _col1, _col2, _col3, _col4
-                      Group By Operator [GBY_240] (rows=11830988 width=101)
+                      Group By Operator [GBY_345] (rows=11830988 width=101)
                         Output:["_col0","_col1","_col2","_col3","_col4"],keys:_col0, _col3, _col4, _col1, _col2
-                        Select Operator [SEL_239] (rows=8604378 width=88)
+                        Select Operator [SEL_344] (rows=8604378 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                          Filter Operator [FIL_238] (rows=8604378 width=88)
+                          Filter Operator [FIL_343] (rows=8604378 width=88)
                             predicate:((_col0 <= 10) or (rank_window_1 <= 10))
-                            PTF Operator [PTF_237] (rows=12906568 width=88)
+                            PTF Operator [PTF_342] (rows=12906568 width=88)
                               Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(CAST( _col4 AS decimal(15,4)) / CAST( _col5 AS decimal(15,4))) ASC NULLS FIRST","partition by:":"0"}]
-                              Select Operator [SEL_236] (rows=12906568 width=88)
+                              Select Operator [SEL_341] (rows=12906568 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                              <-Reducer 21 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_235]
+                              <-Reducer 23 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_340]
                                   PartitionCols:0
-                                  Select Operator [SEL_234] (rows=12906568 width=88)
+                                  Select Operator [SEL_339] (rows=12906568 width=88)
                                     Output:["rank_window_0","_col0","_col1","_col2","_col3","_col4"]
-                                    PTF Operator [PTF_233] (rows=12906568 width=88)
+                                    PTF Operator [PTF_338] (rows=12906568 width=88)
                                       Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(CAST( _col1 AS decimal(15,4)) / CAST( _col2 AS decimal(15,4))) ASC NULLS FIRST","partition by:":"0"}]
-                                      Select Operator [SEL_232] (rows=12906568 width=88)
+                                      Select Operator [SEL_337] (rows=12906568 width=88)
                                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                                      <-Reducer 20 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_231]
+                                      <-Reducer 22 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_336]
                                           PartitionCols:0
-                                          Group By Operator [GBY_230] (rows=12906568 width=88)
+                                          Group By Operator [GBY_335] (rows=12906568 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0
-                                          <-Reducer 19 [SIMPLE_EDGE]
+                                          <-Reducer 21 [SIMPLE_EDGE]
                                             SHUFFLE [RS_89]
                                               PartitionCols:_col0
                                               Group By Operator [GBY_88] (rows=25813137 width=88)
                                                 Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0
                                                 Select Operator [SEL_86] (rows=25813137 width=88)
                                                   Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                  Merge Join Operator [MERGEJOIN_146] (rows=25813137 width=88)
-                                                    Conds:RS_83._col1, _col2=RS_229._col0, _col1(Inner),Output:["_col1","_col3","_col4","_col11","_col12"]
-                                                  <-Map 27 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_229]
+                                                  Merge Join Operator [MERGEJOIN_236] (rows=25813137 width=88)
+                                                    Conds:RS_83._col1, _col2=RS_334._col0, _col1(Inner),Output:["_col1","_col3","_col4","_col11","_col12"]
+                                                  <-Map 30 [SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_334]
                                                       PartitionCols:_col0, _col1
-                                                      Select Operator [SEL_228] (rows=19197050 width=77)
+                                                      Select Operator [SEL_333] (rows=19197050 width=77)
                                                         Output:["_col0","_col1","_col2","_col3"]
-                                                        Filter Operator [FIL_227] (rows=19197050 width=77)
+                                                        Filter Operator [FIL_332] (rows=19197050 width=77)
                                                           predicate:((sr_return_amt > 10000) and sr_item_sk is not null and sr_ticket_number is not null)
                                                           TableScan [TS_77] (rows=57591150 width=77)
                                                             default@store_returns,sr,Tbl:COMPLETE,Col:NONE,Output:["sr_item_sk","sr_ticket_number","sr_return_quantity","sr_return_amt"]
-                                                  <-Reducer 18 [SIMPLE_EDGE]
+                                                  <-Reducer 20 [SIMPLE_EDGE]
                                                     SHUFFLE [RS_83]
                                                       PartitionCols:_col1, _col2
-                                                      Merge Join Operator [MERGEJOIN_145] (rows=23466488 width=88)
-                                                        Conds:RS_226._col0=RS_180._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                      Merge Join Operator [MERGEJOIN_235] (rows=23466488 width=88)
+                                                        Conds:RS_331._col0=RS_269._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                                       <-Map 12 [SIMPLE_EDGE] vectorized
-                                                        SHUFFLE [RS_180]
+                                                        PARTITION_ONLY_SHUFFLE [RS_269]
                                                           PartitionCols:_col0
-                                                          Select Operator [SEL_177] (rows=18262 width=1119)
+                                                          Select Operator [SEL_264] (rows=18262 width=1119)
                                                             Output:["_col0"]
-                                                            Filter Operator [FIL_176] (rows=18262 width=1119)
+                                                            Filter Operator [FIL_263] (rows=18262 width=1119)
                                                               predicate:((d_moy = 12) and (d_year = 2000) and d_date_sk is not null)
                                                               TableScan [TS_3] (rows=73049 width=1119)
                                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                                      <-Map 26 [SIMPLE_EDGE] vectorized
-                                                        SHUFFLE [RS_226]
+                                                      <-Map 29 [SIMPLE_EDGE] vectorized
+                                                        SHUFFLE [RS_331]
                                                           PartitionCols:_col0
-                                                          Select Operator [SEL_225] (rows=21333171 width=88)
+                                                          Select Operator [SEL_330] (rows=21333171 width=88)
                                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                            Filter Operator [FIL_224] (rows=21333171 width=88)
-                                                              predicate:((ss_net_paid > 0) and (ss_net_profit > 1) and (ss_quantity > 0) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_ticket_number is not null)
+                                                            Filter Operator [FIL_329] (rows=21333171 width=88)
+                                                              predicate:((ss_net_paid > 0) and (ss_net_profit > 1) and (ss_quantity > 0) and (ss_sold_date_sk BETWEEN DynamicValue(RS_81_date_dim_d_date_sk_min) AND DynamicValue(RS_81_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_81_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_ticket_number is not null)
                                                               TableScan [TS_71] (rows=575995635 width=88)
                                                                 default@store_sales,sts,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ticket_number","ss_quantity","ss_net_paid","ss_net_profit"]
+                                                              <-Reducer 25 [BROADCAST_EDGE] vectorized
+                                                                BROADCAST [RS_328]
+                                                                  Group By Operator [GBY_327] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                    PARTITION_ONLY_SHUFFLE [RS_276]
+                                                                      Group By Operator [GBY_273] (rows=1 width=12)
+                                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                        Select Operator [SEL_270] (rows=18262 width=1119)
+                                                                          Output:["_col0"]
+                                                                           Please refer to the previous Select Operator [SEL_264]
                   <-Reducer 8 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_199]
+                    Reduce Output Operator [RS_300]
                       PartitionCols:_col0, _col1, _col2, _col3, _col4
-                      Group By Operator [GBY_198] (rows=11830988 width=101)
+                      Group By Operator [GBY_299] (rows=11830988 width=101)
                         Output:["_col0","_col1","_col2","_col3","_col4"],keys:_col0, _col3, _col4, _col1, _col2
-                        Select Operator [SEL_197] (rows=3226610 width=135)
+                        Select Operator [SEL_298] (rows=3226610 width=135)
                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                          Group By Operator [GBY_196] (rows=3226610 width=135)
+                          Group By Operator [GBY_297] (rows=3226610 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                           <-Union 7 [SIMPLE_EDGE]
-                            <-Reducer 17 [CONTAINS] vectorized
-                              Reduce Output Operator [RS_223]
+                            <-Reducer 18 [CONTAINS] vectorized
+                              Reduce Output Operator [RS_326]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4
-                                Group By Operator [GBY_222] (rows=6453220 width=135)
+                                Group By Operator [GBY_325] (rows=6453220 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4"],keys:_col0, _col3, _col4, _col1, _col2
-                                  Select Operator [SEL_221] (rows=4302070 width=135)
+                                  Select Operator [SEL_324] (rows=4302070 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4"]
-                                    Filter Operator [FIL_220] (rows=4302070 width=135)
+                                    Filter Operator [FIL_323] (rows=4302070 width=135)
                                       predicate:((_col0 <= 10) or (rank_window_1 <= 10))
-                                      PTF Operator [PTF_219] (rows=6453105 width=135)
+                                      PTF Operator [PTF_322] (rows=6453105 width=135)
                                         Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(CAST( _col4 AS decimal(15,4)) / CAST( _col5 AS decimal(15,4))) ASC NULLS FIRST","partition by:":"0"}]
-                                        Select Operator [SEL_218] (rows=6453105 width=135)
+                                        Select Operator [SEL_321] (rows=6453105 width=135)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                        <-Reducer 16 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_217]
+                                        <-Reducer 17 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_320]
                                             PartitionCols:0
-                                            Select Operator [SEL_216] (rows=6453105 width=135)
+                                            Select Operator [SEL_319] (rows=6453105 width=135)
                                               Output:["rank_window_0","_col0","_col1","_col2","_col3","_col4"]
-                                              PTF Operator [PTF_215] (rows=6453105 width=135)
+                                              PTF Operator [PTF_318] (rows=6453105 width=135)
                                                 Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(CAST( _col1 AS decimal(15,4)) / CAST( _col2 AS decimal(15,4))) ASC NULLS FIRST","partition by:":"0"}]
-                                                Select Operator [SEL_214] (rows=6453105 width=135)
+                                                Select Operator [SEL_317] (rows=6453105 width=135)
                                                   Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                <-Reducer 15 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_213]
+                                                <-Reducer 16 [SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_316]
                                                     PartitionCols:0
-                                                    Group By Operator [GBY_212] (rows=6453105 width=135)
+                                                    Group By Operator [GBY_315] (rows=6453105 width=135)
                                                       Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0
-                                                    <-Reducer 14 [SIMPLE_EDGE]
+                                                    <-Reducer 15 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_50]
                                                         PartitionCols:_col0
                                                         Group By Operator [GBY_49] (rows=12906211 width=135)
                                                           Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0
                                                           Select Operator [SEL_47] (rows=12906211 width=135)
                                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                            Merge Join Operator [MERGEJOIN_144] (rows=12906211 width=135)
-                                                              Conds:RS_44._col1, _col2=RS_211._col0, _col1(Inner),Output:["_col1","_col3","_col4","_col11","_col12"]
-                                                            <-Map 25 [SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_211]
+                                                            Merge Join Operator [MERGEJOIN_234] (rows=12906211 width=135)
+                                                              Conds:RS_44._col1, _col2=RS_314._col0, _col1(Inner),Output:["_col1","_col3","_col4","_col11","_col12"]
+                                                            <-Map 28 [SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_314]
                                                                 PartitionCols:_col0, _col1
-                                                                Select Operator [SEL_210] (rows=9599627 width=106)
+                                                                Select Operator [SEL_313] (rows=9599627 width=106)
                                                                   Output:["_col0","_col1","_col2","_col3"]
-                                                                  Filter Operator [FIL_209] (rows=9599627 width=106)
+                                                                  Filter Operator [FIL_312] (rows=9599627 width=106)
                                                                     predicate:((cr_return_amount > 10000) and cr_item_sk is not null and cr_order_number is not null)
                                                                     TableScan [TS_38] (rows=28798881 width=106)
                                                                       default@catalog_returns,cr,Tbl:COMPLETE,Col:NONE,Output:["cr_item_sk","cr_order_number","cr_return_quantity","cr_return_amount"]
-                                                            <-Reducer 13 [SIMPLE_EDGE]
+                                                            <-Reducer 14 [SIMPLE_EDGE]
                                                               SHUFFLE [RS_44]
                                                                 PartitionCols:_col1, _col2
-                                                                Merge Join Operator [MERGEJOIN_143] (rows=11732919 width=135)
-                                                                  Conds:RS_208._col0=RS_179._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                                Merge Join Operator [MERGEJOIN_233] (rows=11732919 width=135)
+                                                                  Conds:RS_311._col0=RS_267._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                                                 <-Map 12 [SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_179]
+                                                                  PARTITION_ONLY_SHUFFLE [RS_267]
                                                                     PartitionCols:_col0
-                                                                     Please refer to the previous Select Operator [SEL_177]
-                                                                <-Map 24 [SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_208]
+                                                                     Please refer to the previous Select Operator [SEL_264]
+                                                                <-Map 27 [SIMPLE_EDGE] vectorized
+                                                                  SHUFFLE [RS_311]
                                                                     PartitionCols:_col0
-                                                                    Select Operator [SEL_207] (rows=10666290 width=135)
+                                                                    Select Operator [SEL_310] (rows=10666290 width=135)
                                                                       Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                                      Filter Operator [FIL_206] (rows=10666290 width=135)
-                                                                        predicate:((cs_net_paid > 0) and (cs_net_profit > 1) and (cs_quantity > 0) and cs_item_sk is not null and cs_order_number is not null and cs_sold_date_sk is not null)
+                                                                      Filter Operator [FIL_309] (rows=10666290 width=135)
+                                                                        predicate:((cs_net_paid > 0) and (cs_net_profit > 1) and (cs_quantity > 0) and (cs_sold_date_sk BETWEEN DynamicValue(RS_42_date_dim_d_date_sk_min) AND DynamicValue(RS_42_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_date_dim_d_date_sk_bloom_filter))) and cs_item_sk is not null and cs_order_number is not null and cs_sold_date_sk is not null)
                                                                         TableScan [TS_32] (rows=287989836 width=135)
                                                                           default@catalog_sales,cs,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_item_sk","cs_order_number","cs_quantity","cs_net_paid","cs_net_profit"]
+                                                                        <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                                          BROADCAST [RS_308]
+                                                                            Group By Operator [GBY_307] (rows=1 width=12)
+                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                            <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                              PARTITION_ONLY_SHUFFLE [RS_275]
+                                                                                Group By Operator [GBY_272] (rows=1 width=12)
+                                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                  Select Operator [SEL_268] (rows=18262 width=1119)
+                                                                                    Output:["_col0"]
+                                                                                     Please refer to the previous Select Operator [SEL_264]
                             <-Reducer 6 [CONTAINS] vectorized
-                              Reduce Output Operator [RS_195]
+                              Reduce Output Operator [RS_296]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4
-                                Group By Operator [GBY_194] (rows=6453220 width=135)
+                                Group By Operator [GBY_295] (rows=6453220 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4"],keys:_col0, _col3, _col4, _col1, _col2
-                                  Select Operator [SEL_193] (rows=2151150 width=135)
+                                  Select Operator [SEL_294] (rows=2151150 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4"]
-                                    Filter Operator [FIL_192] (rows=2151150 width=135)
+                                    Filter Operator [FIL_293] (rows=2151150 width=135)
                                       predicate:((_col0 <= 10) or (rank_window_1 <= 10))
-                                      PTF Operator [PTF_191] (rows=3226726 width=135)
+                                      PTF Operator [PTF_292] (rows=3226726 width=135)
                                         Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(CAST( _col4 AS decimal(15,4)) / CAST( _col5 AS decimal(15,4))) ASC NULLS FIRST","partition by:":"0"}]
-                                        Select Operator [SEL_190] (rows=3226726 width=135)
+                                        Select Operator [SEL_291] (rows=3226726 width=135)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                                         <-Reducer 5 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_189]
+                                          SHUFFLE [RS_290]
                                             PartitionCols:0
-                                            Select Operator [SEL_188] (rows=3226726 width=135)
+                                            Select Operator [SEL_289] (rows=3226726 width=135)
                                               Output:["rank_window_0","_col0","_col1","_col2","_col3","_col4"]
-                                              PTF Operator [PTF_187] (rows=3226726 width=135)
+                                              PTF Operator [PTF_288] (rows=3226726 width=135)
                                                 Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(CAST( _col1 AS decimal(15,4)) / CAST( _col2 AS decimal(15,4))) ASC NULLS FIRST","partition by:":"0"}]
-                                                Select Operator [SEL_186] (rows=3226726 width=135)
+                                                Select Operator [SEL_287] (rows=3226726 width=135)
                                                   Output:["_col0","_col1","_col2","_col3","_col4"]
                                                 <-Reducer 4 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_185]
+                                                  SHUFFLE [RS_286]
                                                     PartitionCols:0
-                                                    Group By Operator [GBY_184] (rows=3226726 width=135)
+                                                    Group By Operator [GBY_285] (rows=3226726 width=135)
                                                       Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)"],keys:KEY._col0
                                                     <-Reducer 3 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_18]
@@ -464,33 +492,44 @@ Stage-0
                                                           Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0
                                                           Select Operator [SEL_15] (rows=6453452 width=135)
                                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                            Merge Join Operator [MERGEJOIN_142] (rows=6453452 width=135)
-                                                              Conds:RS_12._col1, _col2=RS_183._col0, _col1(Inner),Output:["_col1","_col3","_col4","_col11","_col12"]
-                                                            <-Map 23 [SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_183]
+                                                            Merge Join Operator [MERGEJOIN_232] (rows=6453452 width=135)
+                                                              Conds:RS_12._col1, _col2=RS_284._col0, _col1(Inner),Output:["_col1","_col3","_col4","_col11","_col12"]
+                                                            <-Map 26 [SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_284]
                                                                 PartitionCols:_col0, _col1
-                                                                Select Operator [SEL_182] (rows=4799489 width=92)
+                                                                Select Operator [SEL_283] (rows=4799489 width=92)
                                                                   Output:["_col0","_col1","_col2","_col3"]
-                                                                  Filter Operator [FIL_181] (rows=4799489 width=92)
+                                                                  Filter Operator [FIL_282] (rows=4799489 width=92)
                                                                     predicate:((wr_return_amt > 10000) and wr_item_sk is not null and wr_order_number is not null)
                                                                     TableScan [TS_6] (rows=14398467 width=92)
                                                                       default@web_returns,wr,Tbl:COMPLETE,Col:NONE,Output:["wr_item_sk","wr_order_number","wr_return_quantity","wr_return_amt"]
                                                             <-Reducer 2 [SIMPLE_EDGE]
                                                               SHUFFLE [RS_12]
                                                                 PartitionCols:_col1, _col2
-                                                                Merge Join Operator [MERGEJOIN_141] (rows=5866775 width=135)
-                                                                  Conds:RS_175._col0=RS_178._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                                                Merge Join Operator [MERGEJOIN_231] (rows=5866775 width=135)
+                                                                  Conds:RS_281._col0=RS_265._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                                                 <-Map 12 [SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_178]
+                                                                  PARTITION_ONLY_SHUFFLE [RS_265]
                                                                     PartitionCols:_col0
-                                                                     Please refer to the previous Select Operator [SEL_177]
+                                                                     Please refer to the previous Select Operator [SEL_264]
                                                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_175]
+                                                                  SHUFFLE [RS_281]
                                                                     PartitionCols:_col0
-                                                                    Select Operator [SEL_174] (rows=5333432 width=135)
+                                                                    Select Operator [SEL_280] (rows=5333432 width=135)
                                                                       Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                                      Filter Operator [FIL_173] (rows=5333432 width=135)
-                                                                        predicate:((ws_net_paid > 0) and (ws_net_profit > 1) and (ws_quantity > 0) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null)
+                                                                      Filter Operator [FIL_279] (rows=5333432 width=135)
+                                                                        predicate:((ws_net_paid > 0) and (ws_net_profit > 1) and (ws_quantity > 0) and (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_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null)
                                                                         TableScan [TS_0] (rows=144002668 width=135)
                                                                           default@web_sales,ws,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_order_number","ws_quantity","ws_net_paid","ws_net_profit"]
+                                                                        <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                                          BROADCAST [RS_278]
+                                                                            Group By Operator [GBY_277] (rows=1 width=12)
+                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                            <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                              PARTITION_ONLY_SHUFFLE [RS_274]
+                                                                                Group By Operator [GBY_271] (rows=1 width=12)
+                                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                  Select Operator [SEL_266] (rows=18262 width=1119)
+                                                                                    Output:["_col0"]
+                                                                                     Please refer to the previous Select Operator [SEL_264]
 


[44/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join6.q.out b/ql/src/test/results/clientpositive/join6.q.out
index 2d73af2..055eee2 100644
--- a/ql/src/test/results/clientpositive/join6.q.out
+++ b/ql/src/test/results/clientpositive/join6.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join7.q.out b/ql/src/test/results/clientpositive/join7.q.out
index 490ab1b..0339c90 100644
--- a/ql/src/test/results/clientpositive/join7.q.out
+++ b/ql/src/test/results/clientpositive/join7.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -90,6 +92,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src3
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join8.q.out b/ql/src/test/results/clientpositive/join8.q.out
index d27098e..c9c8833 100644
--- a/ql/src/test/results/clientpositive/join8.q.out
+++ b/ql/src/test/results/clientpositive/join8.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join9.q.out b/ql/src/test/results/clientpositive/join9.q.out
index 343df28..291b072 100644
--- a/ql/src/test/results/clientpositive/join9.q.out
+++ b/ql/src/test/results/clientpositive/join9.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((ds = '2008-04-08') and (hr = '12') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -46,6 +47,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_alt_syntax.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_alt_syntax.q.out b/ql/src/test/results/clientpositive/join_alt_syntax.q.out
index 5f9a7ce..57a9109 100644
--- a/ql/src/test/results/clientpositive/join_alt_syntax.q.out
+++ b/ql/src/test/results/clientpositive/join_alt_syntax.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -106,6 +108,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -162,6 +165,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -177,6 +181,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: part
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -192,6 +197,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -250,6 +256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -266,6 +273,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -366,6 +374,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -382,6 +391,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)
@@ -455,6 +465,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -471,6 +482,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -528,6 +540,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -544,6 +557,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)
@@ -617,6 +631,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -633,6 +648,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
index 831d84f..dc2de9f 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -30,6 +31,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -46,6 +48,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -101,6 +104,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -117,6 +121,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -133,6 +138,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -190,6 +196,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -206,6 +213,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -303,6 +311,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -319,6 +328,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p_partkey = 1) and p_name is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((p_partkey = 1) and p_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
index 374aefb..741b11f 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -31,6 +32,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -66,6 +68,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -82,6 +85,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -152,6 +156,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -168,6 +173,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -241,6 +247,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -257,6 +264,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
index 560b8e0..c157212 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
@@ -16,6 +16,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -32,6 +33,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -48,6 +50,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -105,6 +108,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -121,6 +125,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -137,6 +142,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -196,6 +202,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -212,6 +219,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -311,6 +319,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -327,6 +336,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p_partkey = 1) and p_name is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((p_partkey = 1) and p_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
index 0270744..f35d397 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -33,6 +34,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -68,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -84,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -156,6 +160,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -172,6 +177,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -245,6 +251,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -261,6 +268,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
index 9f273dc..5c2dee3 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -86,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -102,6 +104,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -161,6 +164,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -177,6 +181,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -193,6 +198,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -254,6 +260,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -270,6 +277,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -367,6 +375,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -383,6 +392,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p2_partkey = 1) and p2_name is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((p2_partkey = 1) and p2_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
index bd37fc7..3d6af2d 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -86,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -102,6 +104,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -118,6 +121,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -183,6 +187,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p2_name is not null and p2_partkey is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (p2_name is not null and p2_partkey is not null) (type: boolean)
@@ -199,6 +204,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -241,6 +247,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -283,6 +290,7 @@ STAGE PLANS:
               value 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), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
index 1e27c28..0ce23ae 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -181,6 +185,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -197,6 +202,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -260,6 +266,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -276,6 +283,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -375,6 +383,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -391,6 +400,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p2_partkey = 1) and p2_name is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((p2_partkey = 1) and p2_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
index 68c6b81..a7dfc2c 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -187,6 +191,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p2_name is not null and p2_partkey is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (p2_name is not null and p2_partkey is not null) (type: boolean)
@@ -203,6 +208,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -245,6 +251,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -287,6 +294,7 @@ STAGE PLANS:
               value 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), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_filters_overlap.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_filters_overlap.q.out b/ql/src/test/results/clientpositive/join_filters_overlap.q.out
index cc34704..bc70a84 100644
--- a/ql/src/test/results/clientpositive/join_filters_overlap.q.out
+++ b/ql/src/test/results/clientpositive/join_filters_overlap.q.out
@@ -41,6 +41,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: b
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -62,6 +63,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -217,6 +219,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n4
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -255,6 +258,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -410,6 +414,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n4
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -448,6 +453,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -637,6 +643,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -658,6 +665,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: d
+            filterExpr: (value = 40) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -825,6 +833,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: b
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -846,6 +855,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -867,6 +877,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: d
+            filterExpr: (value = 40) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out b/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
index 9242238..0633923 100644
--- a/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
+++ b/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: foo
+            filterExpr: ((orders <> 'blah') and id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((orders <> 'blah') and id is not null and line_id is not null) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: bar
+            filterExpr: (id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (id is not null and line_id is not null) (type: boolean)
@@ -87,6 +89,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: split
+            filterExpr: (id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (id is not null and line_id is not null) (type: boolean)
@@ -102,6 +105,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: forecast
+            filterExpr: (id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (id is not null and line_id is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_hive_626.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_hive_626.q.out b/ql/src/test/results/clientpositive/join_hive_626.q.out
index 4309be4..81e48bc 100644
--- a/ql/src/test/results/clientpositive/join_hive_626.q.out
+++ b/ql/src/test/results/clientpositive/join_hive_626.q.out
@@ -75,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: hive_bar
+            filterExpr: (foo_id is not null and bar_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 230 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (bar_id is not null and foo_id is not null) (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string)
           TableScan
             alias: hive_foo
+            filterExpr: foo_id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 150 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: foo_id is not null (type: boolean)
@@ -133,6 +135,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string), _col4 (type: string)
           TableScan
             alias: hive_count
+            filterExpr: bar_id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 50 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: bar_id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_map_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_map_ppr.q.out b/ql/src/test/results/clientpositive/join_map_ppr.q.out
index 8712d81..585f6c3 100644
--- a/ql/src/test/results/clientpositive/join_map_ppr.q.out
+++ b/ql/src/test/results/clientpositive/join_map_ppr.q.out
@@ -45,6 +45,7 @@ STAGE PLANS:
         x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -60,6 +61,7 @@ STAGE PLANS:
         y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -78,6 +80,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: z
+            filterExpr: (key is not null and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -683,6 +686,7 @@ STAGE PLANS:
         x 
           TableScan
             alias: x
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -698,6 +702,7 @@ STAGE PLANS:
         y 
           TableScan
             alias: y
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -716,6 +721,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: z
+            filterExpr: (UDFToDouble(key) is not null and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out b/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
index fba4083..75cf433 100644
--- a/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
+++ b/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -30,6 +31,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: b
+            filterExpr: (key is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -45,6 +47,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: c
+            filterExpr: (hr is not null and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_merging.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_merging.q.out b/ql/src/test/results/clientpositive/join_merging.q.out
index 609cc83..0e46d6c 100644
--- a/ql/src/test/results/clientpositive/join_merging.q.out
+++ b/ql/src/test/results/clientpositive/join_merging.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_size > 10) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_size > 10) (type: boolean)
@@ -106,6 +107,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: ((p_size > 10) and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((p_size > 10) and p_partkey is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: p2
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_on_varchar.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_on_varchar.q.out b/ql/src/test/results/clientpositive/join_on_varchar.q.out
index fb207a0..becd16a 100644
--- a/ql/src/test/results/clientpositive/join_on_varchar.q.out
+++ b/ql/src/test/results/clientpositive/join_on_varchar.q.out
@@ -74,6 +74,7 @@ STAGE PLANS:
         $hdt$_1:tbl2_n2 
           TableScan
             alias: tbl2_n2
+            filterExpr: c2 is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 23 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c2 is not null (type: boolean)
@@ -92,6 +93,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: tbl1_n3
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 26 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_parse.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_parse.q.out b/ql/src/test/results/clientpositive/join_parse.q.out
index 37d0220..77ae41d 100644
--- a/ql/src/test/results/clientpositive/join_parse.q.out
+++ b/ql/src/test/results/clientpositive/join_parse.q.out
@@ -19,6 +19,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -35,6 +36,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -76,6 +78,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src1
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -137,6 +140,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -153,6 +157,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -194,6 +199,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src1
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -255,6 +261,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -271,6 +278,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -312,6 +320,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src1
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -376,6 +385,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -392,6 +402,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -463,6 +474,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (value is not null and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -479,6 +491,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_rc.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_rc.q.out b/ql/src/test/results/clientpositive/join_rc.q.out
index a15231b..84644df 100644
--- a/ql/src/test/results/clientpositive/join_rc.q.out
+++ b/ql/src/test/results/clientpositive/join_rc.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: join_rc1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -67,6 +68,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: join_rc2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder.q.out b/ql/src/test/results/clientpositive/join_reorder.q.out
index e7e82fd..95cbe87 100644
--- a/ql/src/test/results/clientpositive/join_reorder.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
                 value expressions: key (type: string), val (type: string)
           TableScan
             alias: c
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)
@@ -127,6 +129,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -139,6 +142,7 @@ STAGE PLANS:
                 value expressions: key (type: string), val (type: string)
           TableScan
             alias: c
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder2.q.out b/ql/src/test/results/clientpositive/join_reorder2.q.out
index d76d7fc..34b5f55 100644
--- a/ql/src/test/results/clientpositive/join_reorder2.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder2.q.out
@@ -84,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -108,6 +110,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: c
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: d
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -206,6 +210,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
@@ -218,6 +223,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: (key is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null) (type: boolean)
@@ -256,6 +262,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col5 (type: string), _col6 (type: string)
           TableScan
             alias: c
+            filterExpr: val is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: val is not null (type: boolean)
@@ -294,6 +301,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string), _col10 (type: string), _col11 (type: string)
           TableScan
             alias: d
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder3.q.out b/ql/src/test/results/clientpositive/join_reorder3.q.out
index c7e2668..e1c1068 100644
--- a/ql/src/test/results/clientpositive/join_reorder3.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder3.q.out
@@ -84,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -108,6 +110,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: c
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: d
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -206,6 +210,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
@@ -218,6 +223,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: (key is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null) (type: boolean)
@@ -256,6 +262,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col5 (type: string), _col6 (type: string)
           TableScan
             alias: c
+            filterExpr: val is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: val is not null (type: boolean)
@@ -294,6 +301,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string), _col10 (type: string), _col11 (type: string)
           TableScan
             alias: d
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder4.q.out b/ql/src/test/results/clientpositive/join_reorder4.q.out
index a3923d6..963f4f0 100644
--- a/ql/src/test/results/clientpositive/join_reorder4.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder4.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key1 is not null (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
                 value expressions: val1 (type: string)
           TableScan
             alias: b
+            filterExpr: key2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key2 is not null (type: boolean)
@@ -84,6 +86,7 @@ STAGE PLANS:
                 value expressions: val2 (type: string)
           TableScan
             alias: c
+            filterExpr: key3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key3 is not null (type: boolean)
@@ -150,6 +153,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key1 is not null (type: boolean)
@@ -162,6 +166,7 @@ STAGE PLANS:
                 value expressions: val1 (type: string)
           TableScan
             alias: b
+            filterExpr: key2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key2 is not null (type: boolean)
@@ -174,6 +179,7 @@ STAGE PLANS:
                 value expressions: val2 (type: string)
           TableScan
             alias: c
+            filterExpr: key3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key3 is not null (type: boolean)
@@ -240,6 +246,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key1 is not null (type: boolean)
@@ -252,6 +259,7 @@ STAGE PLANS:
                 value expressions: val1 (type: string)
           TableScan
             alias: b
+            filterExpr: key2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key2 is not null (type: boolean)
@@ -264,6 +272,7 @@ STAGE PLANS:
                 value expressions: val2 (type: string)
           TableScan
             alias: c
+            filterExpr: key3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key3 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_star.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_star.q.out b/ql/src/test/results/clientpositive/join_star.q.out
index e3640a3..df97d43 100644
--- a/ql/src/test/results/clientpositive/join_star.q.out
+++ b/ql/src/test/results/clientpositive/join_star.q.out
@@ -146,6 +146,7 @@ STAGE PLANS:
         $hdt$_1:dim1 
           TableScan
             alias: dim1
+            filterExpr: f1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f1 is not null (type: boolean)
@@ -164,6 +165,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: fact
+            filterExpr: d1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 980 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: d1 is not null (type: boolean)
@@ -244,6 +246,7 @@ STAGE PLANS:
         $hdt$_1:dim1 
           TableScan
             alias: dim1
+            filterExpr: f1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f1 is not null (type: boolean)
@@ -259,6 +262,7 @@ STAGE PLANS:
         $hdt$_2:dim2 
           TableScan
             alias: dim2
+            filterExpr: f3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f3 is not null (type: boolean)
@@ -277,6 +281,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: fact
+            filterExpr: (d1 is not null and d2 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 980 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (d1 is not null and d2 is not null) (type: boolean)
@@ -367,6 +372,7 @@ STAGE PLANS:
         $hdt$_0:dim1 
           TableScan
             alias: dim1
+            filterExpr: (f1 is not null and f2 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (f1 is not null and f2 is not null) (type: boolean)
@@ -382,6 +388,7 @@ STAGE PLANS:
         $hdt$_2:fact 
           TableScan
             alias: fact
+            filterExpr: d1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 980 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: d1 is not null (type: boolean)
@@ -400,6 +407,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: dim2
+            filterExpr: f3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f3 is not null (type: boolean)


[21/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query65.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query65.q.out b/ql/src/test/results/clientpositive/perf/spark/query65.q.out
index c587e9a..4afa1a6 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query65.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query65.q.out
@@ -69,6 +69,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -93,6 +94,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -123,6 +125,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -160,6 +163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -179,6 +183,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -198,6 +203,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query66.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query66.q.out b/ql/src/test/results/clientpositive/perf/spark/query66.q.out
index b779dfc..1533d45 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query66.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query66.q.out
@@ -457,6 +457,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ship_mode
+                  filterExpr: ((sm_carrier) IN ('DIAMOND', 'AIRBORNE') and sm_ship_mode_sk is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
                   Filter Operator
                     predicate: ((sm_carrier) IN ('DIAMOND', 'AIRBORNE') and sm_ship_mode_sk is not null) (type: boolean)
@@ -476,6 +477,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -500,6 +502,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: (t_time BETWEEN 49530 AND 78330 and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (t_time BETWEEN 49530 AND 78330 and t_time_sk is not null) (type: boolean)
@@ -524,6 +527,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ship_mode
+                  filterExpr: ((sm_carrier) IN ('DIAMOND', 'AIRBORNE') and sm_ship_mode_sk is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
                   Filter Operator
                     predicate: ((sm_carrier) IN ('DIAMOND', 'AIRBORNE') and sm_ship_mode_sk is not null) (type: boolean)
@@ -543,6 +547,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -567,6 +572,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: (t_time BETWEEN 49530 AND 78330 and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (t_time BETWEEN 49530 AND 78330 and t_time_sk is not null) (type: boolean)
@@ -598,6 +604,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_warehouse_sk is not null and ws_sold_date_sk is not null and ws_sold_time_sk is not null and ws_ship_mode_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_ship_mode_sk is not null and ws_sold_date_sk is not null and ws_sold_time_sk is not null and ws_warehouse_sk is not null) (type: boolean)
@@ -629,6 +636,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_warehouse_sk is not null and cs_sold_date_sk is not null and cs_sold_time_sk is not null and cs_ship_mode_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_ship_mode_sk is not null and cs_sold_date_sk is not null and cs_sold_time_sk is not null and cs_warehouse_sk is not null) (type: boolean)
@@ -660,6 +668,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -679,6 +688,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query67.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query67.q.out b/ql/src/test/results/clientpositive/perf/spark/query67.q.out
index f8c5313..db91e67 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query67.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query67.q.out
@@ -98,6 +98,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -128,6 +129,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -147,6 +149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -166,6 +169,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query68.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query68.q.out b/ql/src/test/results/clientpositive/perf/spark/query68.q.out
index 01aa5e0..faf5d99 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query68.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query68.q.out
@@ -94,6 +94,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_city) IN ('Cedar Grove', 'Wildwood') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_city) IN ('Cedar Grove', 'Wildwood') and s_store_sk is not null) (type: boolean)
@@ -113,6 +114,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (((hd_dep_count = 2) or (hd_vehicle_count = 1)) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((hd_dep_count = 2) or (hd_vehicle_count = 1)) and hd_demo_sk is not null) (type: boolean)
@@ -132,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1998, 1999, 2000) and d_dom BETWEEN 1 AND 2 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1998, 1999, 2000) and d_date_sk is not null and d_dom BETWEEN 1 AND 2) (type: boolean)
@@ -162,6 +165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -181,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -200,6 +205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: current_addr
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -219,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query69.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query69.q.out b/ql/src/test/results/clientpositive/perf/spark/query69.q.out
index 42acbbc..83b55df 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query69.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query69.q.out
@@ -106,6 +106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and d_moy BETWEEN 1 AND 3 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1999) and d_date_sk is not null and d_moy BETWEEN 1 AND 3) (type: boolean)
@@ -130,6 +131,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and d_moy BETWEEN 1 AND 3 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1999) and d_date_sk is not null and d_moy BETWEEN 1 AND 3) (type: boolean)
@@ -154,6 +156,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and d_moy BETWEEN 1 AND 3 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1999) and d_date_sk is not null and d_moy BETWEEN 1 AND 3) (type: boolean)
@@ -187,6 +190,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -206,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -245,6 +250,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -280,6 +286,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_ship_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_ship_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -315,6 +322,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ca
+                  filterExpr: ((ca_state) IN ('CO', 'IL', 'MN') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state) IN ('CO', 'IL', 'MN') and ca_address_sk is not null) (type: boolean)
@@ -333,6 +341,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: cd_demo_sk is not null (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cd_demo_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query7.q.out b/ql/src/test/results/clientpositive/perf/spark/query7.q.out
index 89cb5c3..2ae847b 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query7.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query7.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: promotion
+                  filterExpr: (((p_channel_email = 'N') or (p_channel_event = 'N')) and p_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 2300 Data size: 2713420 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((p_channel_email = 'N') or (p_channel_event = 'N')) and p_promo_sk is not null) (type: boolean)
@@ -82,6 +83,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_item_sk is not null and ss_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_cdemo_sk is not null and ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -101,6 +103,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: ((cd_gender = 'F') and (cd_marital_status = 'W') and (cd_education_status = 'Primary') and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cd_education_status = 'Primary') and (cd_gender = 'F') and (cd_marital_status = 'W') and cd_demo_sk is not null) (type: boolean)
@@ -138,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query70.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query70.q.out b/ql/src/test/results/clientpositive/perf/spark/query70.q.out
index 9adcf7e..2f94f94 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query70.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query70.q.out
@@ -87,6 +87,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_state is not null and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_state is not null and s_store_sk is not null) (type: boolean)
@@ -111,6 +112,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and s_state is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_state is not null and s_store_sk is not null) (type: boolean)
@@ -144,6 +146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -163,6 +166,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -181,6 +185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -199,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_store_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query71.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query71.q.out b/ql/src/test/results/clientpositive/perf/spark/query71.q.out
index 2392414..bf9c06d 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query71.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query71.q.out
@@ -95,6 +95,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_item_sk is not null and ws_sold_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null and ws_sold_time_sk is not null) (type: boolean)
@@ -114,6 +115,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_moy = 12) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -132,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null and ss_sold_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_sold_time_sk is not null) (type: boolean)
@@ -151,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_moy = 12) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -169,6 +173,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manager_id = 1) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manager_id = 1) and i_item_sk is not null) (type: boolean)
@@ -188,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: (((t_meal_time = 'breakfast') or (t_meal_time = 'dinner')) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((t_meal_time = 'breakfast') or (t_meal_time = 'dinner')) and t_time_sk is not null) (type: boolean)
@@ -207,6 +213,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_item_sk is not null and cs_sold_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_sold_time_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query72.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query72.q.out b/ql/src/test/results/clientpositive/perf/spark/query72.q.out
index 9a582e6..37cf704 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query72.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query72.q.out
@@ -73,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -97,6 +98,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((hd_buy_potential = '1001-5000') and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((hd_buy_potential = '1001-5000') and hd_demo_sk is not null) (type: boolean)
@@ -147,6 +149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean)
@@ -178,6 +181,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null and d_week_seq is not null) (type: boolean)
@@ -197,6 +201,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: ((cd_marital_status = 'M') and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cd_marital_status = 'M') and cd_demo_sk is not null) (type: boolean)
@@ -215,6 +220,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -234,6 +240,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d3
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)
@@ -253,6 +260,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
@@ -271,6 +279,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: cr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_item_sk is not null (type: boolean)
@@ -289,6 +298,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_sold_date_sk is not null and cs_ship_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_item_sk is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query73.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query73.q.out b/ql/src/test/results/clientpositive/perf/spark/query73.q.out
index 570199d..20ec874 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query73.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query73.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (2000, 2001, 2002) and d_dom BETWEEN 1 AND 2 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (2000, 2001, 2002) and d_date_sk is not null and d_dom BETWEEN 1 AND 2) (type: boolean)
@@ -85,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (((hd_buy_potential = '>10000') or (hd_buy_potential = 'unknown')) and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((hd_buy_potential = '>10000') or (hd_buy_potential = 'unknown')) and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
@@ -103,6 +105,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_county) IN ('Mobile County', 'Maverick County', 'Huron County', 'Kittitas County') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_county) IN ('Mobile County', 'Maverick County', 'Huron County', 'Kittitas County') and s_store_sk is not null) (type: boolean)
@@ -131,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -150,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_hdemo_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query74.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query74.q.out b/ql/src/test/results/clientpositive/perf/spark/query74.q.out
index ce4ff7d..c9083ac 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query74.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query74.q.out
@@ -146,6 +146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -165,6 +166,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (2001, 2002) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and (d_year) IN (2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -184,6 +186,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -203,6 +206,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -222,6 +226,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (2001, 2002) and (d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and (d_year) IN (2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -241,6 +246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -260,6 +266,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -279,6 +286,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (2001, 2002) and (d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and (d_year) IN (2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -298,6 +306,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -317,6 +326,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (2001, 2002) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and (d_year) IN (2001, 2002) and d_date_sk is not null) (type: boolean)
@@ -336,6 +346,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -355,6 +366,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query75.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query75.q.out b/ql/src/test/results/clientpositive/perf/spark/query75.q.out
index b05ad43..54c3c69 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query75.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query75.q.out
@@ -174,6 +174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -193,6 +194,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Sports') and i_item_sk is not null and i_brand_id is not null and i_class_id is not null and i_category_id is not null and i_manufact_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Sports') and i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null and i_manufact_id is not null) (type: boolean)
@@ -212,6 +214,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: cr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_item_sk is not null (type: boolean)
@@ -231,6 +234,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -250,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -268,6 +273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: sr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: sr_item_sk is not null (type: boolean)
@@ -287,6 +293,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -306,6 +313,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: wr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wr_item_sk is not null (type: boolean)
@@ -325,6 +333,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -344,6 +353,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -362,6 +372,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Sports') and i_item_sk is not null and i_brand_id is not null and i_class_id is not null and i_category_id is not null and i_manufact_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Sports') and i_brand_id is not null and i_category_id is not null and i_class_id is not null and i_item_sk is not null and i_manufact_id is not null) (type: boolean)
@@ -381,6 +392,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: cr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_item_sk is not null (type: boolean)
@@ -400,6 +412,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -419,6 +432,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: sr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: sr_item_sk is not null (type: boolean)
@@ -438,6 +452,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -457,6 +472,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: wr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wr_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query76.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query76.q.out b/ql/src/test/results/clientpositive/perf/spark/query76.q.out
index d3f4295..05ec505 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query76.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query76.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -85,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)
@@ -123,6 +126,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_warehouse_sk is null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_warehouse_sk is null) (type: boolean)
@@ -142,6 +146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -161,6 +166,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)
@@ -180,6 +186,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_addr_sk is null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -199,6 +206,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)
@@ -218,6 +226,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_web_page_sk is null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null and ws_web_page_sk is null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query77.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query77.q.out b/ql/src/test/results/clientpositive/perf/spark/query77.q.out
index e4362a6..5f33d96 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query77.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query77.q.out
@@ -231,6 +231,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -255,6 +256,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -279,6 +281,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -305,6 +308,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: cr_returned_date_sk is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_returned_date_sk is not null (type: boolean)
@@ -358,6 +362,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -382,6 +387,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_page
+                  filterExpr: wp_web_page_sk is not null (type: boolean)
                   Statistics: Num rows: 4602 Data size: 2696178 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wp_web_page_sk is not null (type: boolean)
@@ -406,6 +412,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_page
+                  filterExpr: wp_web_page_sk is not null (type: boolean)
                   Statistics: Num rows: 4602 Data size: 2696178 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wp_web_page_sk is not null (type: boolean)
@@ -444,6 +451,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -463,6 +471,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -481,6 +490,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: cs_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cs_sold_date_sk is not null (type: boolean)
@@ -518,6 +528,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_web_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_sold_date_sk is not null and ws_web_page_sk is not null) (type: boolean)
@@ -537,6 +548,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: (wr_returned_date_sk is not null and wr_web_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wr_returned_date_sk is not null and wr_web_page_sk is not null) (type: boolean)
@@ -556,6 +568,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -574,6 +587,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-09-03 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -592,6 +606,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query78.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query78.q.out b/ql/src/test/results/clientpositive/perf/spark/query78.q.out
index 766ca96..15c7f04 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query78.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query78.q.out
@@ -138,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -156,6 +157,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -174,6 +176,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: ws_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_sold_date_sk is not null (type: boolean)
@@ -208,6 +211,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: ((cs_item_sk = cs_item_sk) and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cs_item_sk = cs_item_sk) and cs_sold_date_sk is not null) (type: boolean)
@@ -242,6 +246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_sold_date_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query79.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query79.q.out b/ql/src/test/results/clientpositive/perf/spark/query79.q.out
index b6e8e1f..9355239 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query79.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query79.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_number_employees BETWEEN 200 AND 295 and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_number_employees BETWEEN 200 AND 295 and s_store_sk is not null) (type: boolean)
@@ -75,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (((hd_dep_count = 8) or (hd_vehicle_count > 0)) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((hd_dep_count = 8) or (hd_vehicle_count > 0)) and hd_demo_sk is not null) (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -123,6 +126,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_hdemo_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -142,6 +146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (1998, 1999, 2000) and (d_dow = 1) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_dow = 1) and (d_year) IN (1998, 1999, 2000) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query8.q.out b/ql/src/test/results/clientpositive/perf/spark/query8.q.out
index 1086d62..6b14eb9 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query8.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query8.q.out
@@ -233,6 +233,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: ((c_preferred_cust_flag = 'Y') and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((c_preferred_cust_flag = 'Y') and c_current_addr_sk is not null) (type: boolean)
@@ -251,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((substr(ca_zip, 1, 5)) IN ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', '48649', '39050', '41793', '25002', '27413', '39736', '47208', '16515', '94808', '57
 648', '15009', '80015', '42961', '63982', '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', '88376', '45539', '35901', '19506', '65690', '73957', '71850', '49231', '
 14276', '20005', '18384', '76615', '11635', '38177', '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', '94167', '82564', '21156', '15799', '86709', '37931', '74703',
  '83103', '23054', '70470', '72008', '49247', '91911', '69998', '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') and substr(substr(ca_zip, 1, 5), 1, 2) is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((substr(ca_zip, 1, 5)) IN ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', '48649', '39050', '41793', '25002', '27413', '39736', '47208', '16515', '94808', '5
 7648', '15009', '80015', '42961', '63982', '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', '88376', '45539', '35901', '19506', '65690', '73957', '71850', '49231', 
 '14276', '20005', '18384', '76615', '11635', '38177', '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', '94167', '82564', '21156', '15799', '86709', '37931', '74703'
 , '83103', '23054', '70470', '72008', '49247', '91911', '69998', '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') and substr(substr(ca_zip, 1, 5), 1, 2) is not null) (type: boolean)
@@ -276,6 +278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and substr(substr(ca_zip, 1, 5), 1, 2) is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and substr(substr(ca_zip, 1, 5), 1, 2) is not null) (type: boolean)
@@ -414,6 +417,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and substr(s_zip, 1, 2) is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_store_sk is not null and substr(s_zip, 1, 2) is not null) (type: boolean)
@@ -452,6 +456,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -471,6 +476,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 1) and (d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 1) and (d_year = 2002) and d_date_sk is not null) (type: boolean)


[48/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin5.q.out b/ql/src/test/results/clientpositive/bucketmapjoin5.q.out
index 33fac45..be35ade 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin5.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin5.q.out
@@ -196,6 +196,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -220,6 +221,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 298 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -798,6 +800,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -822,6 +825,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 156 Data size: 61240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin8.q.out b/ql/src/test/results/clientpositive/bucketmapjoin8.q.out
index 86495df..7a1949b 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin8.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin8.q.out
@@ -134,6 +134,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -158,6 +159,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -378,6 +380,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -402,6 +405,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin9.q.out b/ql/src/test/results/clientpositive/bucketmapjoin9.q.out
index b6ad96a..11bcc59 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin9.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin9.q.out
@@ -142,6 +142,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 145 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -159,6 +160,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -411,6 +413,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -428,6 +431,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out b/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
index 8695e25..1062c53 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
@@ -145,6 +145,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
             Statistics: Num rows: 140 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -162,6 +163,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out b/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
index 4398379..8172e76 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
@@ -201,6 +201,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 156 Data size: 61240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -225,6 +226,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out b/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out
index 7d3db6a..500a516 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out
@@ -162,6 +162,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -186,6 +187,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -313,6 +315,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -337,6 +340,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -464,6 +468,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -481,6 +486,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key + key) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -607,6 +613,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -624,6 +631,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -750,6 +758,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -767,6 +776,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -893,6 +903,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -910,6 +921,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1036,6 +1048,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1053,6 +1066,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1179,6 +1193,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1196,6 +1211,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1322,6 +1338,7 @@ STAGE PLANS:
         r 
           TableScan
             alias: r
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -1339,6 +1356,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: l
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 42000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketsortoptimize_insert_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_1.q.out b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_1.q.out
index fe2c7c2..910ba1f 100644
--- a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_1.q.out
+++ b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_1.q.out
@@ -55,6 +55,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: int), value (type: string)
@@ -165,6 +166,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: int), value (type: string)
@@ -275,6 +277,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: int), concat(value, value) (type: string)
@@ -335,6 +338,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: (key + key) (type: int), value (type: string)
@@ -450,6 +454,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: int), concat(value, value) (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketsortoptimize_insert_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_3.q.out b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_3.q.out
index 085f8f4..b798fa2 100644
--- a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_3.q.out
+++ b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_3.q.out
@@ -51,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: value (type: string), key (type: int)
@@ -164,6 +165,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: int), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketsortoptimize_insert_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_4.q.out b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_4.q.out
index cbcac68..6c45fcb 100644
--- a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_4.q.out
+++ b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_4.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and (ds = '1')) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -273,6 +274,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketsortoptimize_insert_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_5.q.out b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_5.q.out
index 97c4d96..aa3d451 100644
--- a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_5.q.out
+++ b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_5.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -264,6 +265,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: test_table1_n8
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketsortoptimize_insert_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_8.q.out b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_8.q.out
index 0b9485a..1d3a8ad 100644
--- a/ql/src/test/results/clientpositive/bucketsortoptimize_insert_8.q.out
+++ b/ql/src/test/results/clientpositive/bucketsortoptimize_insert_8.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -259,6 +260,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/case_sensitivity.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/case_sensitivity.q.out b/ql/src/test/results/clientpositive/case_sensitivity.q.out
index a8d5d50..6382115 100644
--- a/ql/src/test/results/clientpositive/case_sensitivity.q.out
+++ b/ql/src/test/results/clientpositive/case_sensitivity.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src_thrift
+            filterExpr: (lint[0] > 0) (type: boolean)
             Statistics: Num rows: 11 Data size: 30700 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (lint[0] > 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cast1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cast1.q.out b/ql/src/test/results/clientpositive/cast1.q.out
index e4e8dd6..d349132 100644
--- a/ql/src/test/results/clientpositive/cast1.q.out
+++ b/ql/src/test/results/clientpositive/cast1.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) = 86.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 86.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cast_on_constant.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cast_on_constant.q.out b/ql/src/test/results/clientpositive/cast_on_constant.q.out
index 5923209..465bd15 100644
--- a/ql/src/test/results/clientpositive/cast_on_constant.q.out
+++ b/ql/src/test/results/clientpositive/cast_on_constant.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n138
+            filterExpr: (ts_field = TIMESTAMP'2016-01-23 00:00:00.0') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (ts_field = TIMESTAMP'2016-01-23 00:00:00.0') (type: boolean)
@@ -57,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n138
+            filterExpr: (date_field = DATE'2016-01-23') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (date_field = DATE'2016-01-23') (type: boolean)
@@ -94,6 +96,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n138
+            filterExpr: (ts_field = TIMESTAMP'2016-01-23 00:00:00.0') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (ts_field = TIMESTAMP'2016-01-23 00:00:00.0') (type: boolean)
@@ -131,6 +134,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n138
+            filterExpr: (date_field = DATE'2016-01-23') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (date_field = DATE'2016-01-23') (type: boolean)
@@ -168,6 +172,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n138
+            filterExpr: (CAST( date_field AS TIMESTAMP) = ts_field) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (CAST( date_field AS TIMESTAMP) = ts_field) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_const.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_const.q.out b/ql/src/test/results/clientpositive/cbo_const.q.out
index 090fd1b..302c60d 100644
--- a/ql/src/test/results/clientpositive/cbo_const.q.out
+++ b/ql/src/test/results/clientpositive/cbo_const.q.out
@@ -157,6 +157,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) = 4.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 4.0D) (type: boolean)
@@ -235,6 +236,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: (UDFToDouble(key) = 3.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 3.0D) (type: boolean)
@@ -251,6 +253,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: x
+            filterExpr: ((UDFToDouble(key) = 3.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) = 3.0D) and value is not null) (type: boolean)
@@ -293,6 +296,7 @@ STAGE PLANS:
               value expressions: _col1 (type: string), _col2 (type: string)
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (UDFToDouble(hr) = 14.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(hr) = 14.0D) and (ds = '2008-04-08') and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_input26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_input26.q.out b/ql/src/test/results/clientpositive/cbo_input26.q.out
index 26a2310..9431cd8 100644
--- a/ql/src/test/results/clientpositive/cbo_input26.q.out
+++ b/ql/src/test/results/clientpositive/cbo_input26.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
@@ -92,6 +93,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
@@ -183,6 +185,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string)
@@ -250,6 +253,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
@@ -341,6 +345,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string)
@@ -408,6 +413,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
@@ -499,6 +505,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
@@ -565,6 +572,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_ppd_non_deterministic.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_ppd_non_deterministic.q.out b/ql/src/test/results/clientpositive/cbo_ppd_non_deterministic.q.out
index 8f00aa8..bdcd208 100644
--- a/ql/src/test/results/clientpositive/cbo_ppd_non_deterministic.q.out
+++ b/ql/src/test/results/clientpositive/cbo_ppd_non_deterministic.q.out
@@ -114,6 +114,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: testa
+            filterExpr: ((part1 = 'CA') and (part2 = 'ABC')) (type: boolean)
             Statistics: Num rows: 2 Data size: 4580 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: rand() (type: double)
@@ -163,6 +164,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: testa
+            filterExpr: ((part1 = 'CA') and (part2 = 'ABC')) (type: boolean)
             Statistics: Num rows: 2 Data size: 4580 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: rand() (type: double)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_auto_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_auto_join0.q.out b/ql/src/test/results/clientpositive/cbo_rp_auto_join0.q.out
index df19463..5d3fd9f 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_auto_join0.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_auto_join0.q.out
@@ -37,6 +37,7 @@ STAGE PLANS:
         a:cbo_t1:cbo_t3 
           TableScan
             alias: cbo_t3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 20 Data size: 3230 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -55,6 +56,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cbo_t3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 20 Data size: 3230 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -150,6 +152,7 @@ STAGE PLANS:
         a:cbo_t1:cbo_t3 
           TableScan
             alias: cbo_t3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 20 Data size: 3230 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -168,6 +171,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cbo_t3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 20 Data size: 3230 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_auto_join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_auto_join1.q.out b/ql/src/test/results/clientpositive/cbo_rp_auto_join1.q.out
index 3016c26..f937834 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_auto_join1.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_auto_join1.q.out
@@ -95,6 +95,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq1:a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -121,6 +122,7 @@ STAGE PLANS:
                       value expressions: $f1 (type: bigint)
           TableScan
             alias: subq1:b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -245,6 +247,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq2:subq1:a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -269,6 +272,7 @@ STAGE PLANS:
                       Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: subq2:subq1:b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -401,6 +405,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1:subq1:a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -427,6 +432,7 @@ STAGE PLANS:
                       value expressions: $f1 (type: bigint)
           TableScan
             alias: src1:subq1:b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -472,6 +478,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2:subq2:a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -498,6 +505,7 @@ STAGE PLANS:
                       value expressions: $f1 (type: bigint)
           TableScan
             alias: src2:subq2:b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -626,6 +634,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq1:a
+            filterExpr: (key < 6) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 6) (type: boolean)
@@ -719,6 +728,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq2:subq1:a
+            filterExpr: (key < 6) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 6) (type: boolean)
@@ -836,6 +846,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq2:subq1:a
+            filterExpr: (key < 6) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 6) (type: boolean)
@@ -941,6 +952,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq1:a
+            filterExpr: (key < 8) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 8) (type: boolean)
@@ -1027,6 +1039,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq1:a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1132,6 +1145,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq2:a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1212,6 +1226,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq1:a
+            filterExpr: (key < 6) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 6) (type: boolean)
@@ -1297,6 +1312,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: subq1:a
+            filterExpr: (key < 6) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 6) (type: boolean)
@@ -1400,6 +1416,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a:subq2:subq1:a
+            filterExpr: (key < 6) (type: boolean)
             Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (key < 6) (type: boolean)
@@ -1485,6 +1502,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1562,6 +1580,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_auto_join17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_auto_join17.q.out b/ql/src/test/results/clientpositive/cbo_rp_auto_join17.q.out
index df1e4d4..74022ae 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_auto_join17.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_auto_join17.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_cross_product_check_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_cross_product_check_2.q.out b/ql/src/test/results/clientpositive/cbo_rp_cross_product_check_2.q.out
index 10a8ae1..cbb1d05 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_cross_product_check_2.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_cross_product_check_2.q.out
@@ -130,6 +130,7 @@ STAGE PLANS:
         d1 
           TableScan
             alias: d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -148,6 +149,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -218,6 +220,7 @@ STAGE PLANS:
         od1:d1 
           TableScan
             alias: od1:d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -236,6 +239,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: od1:d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -635,6 +639,7 @@ STAGE PLANS:
         od1:d1 
           TableScan
             alias: od1:d1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -653,6 +658,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: od1:d2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 96 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_join0.q.out b/ql/src/test/results/clientpositive/cbo_rp_join0.q.out
index 29499a1..f8709d3 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_join0.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_join0.q.out
@@ -16,6 +16,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cbo_t1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 20 Data size: 1691 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -32,6 +33,7 @@ STAGE PLANS:
                   value expressions: c_int (type: int)
           TableScan
             alias: cbo_t2:cbo_t2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 20 Data size: 1691 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -663,6 +665,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cbo_t1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 20 Data size: 1691 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -679,6 +682,7 @@ STAGE PLANS:
                   value expressions: c_int (type: int)
           TableScan
             alias: cbo_t2:cbo_t2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 20 Data size: 1691 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out b/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
index f7123b9..cfc2dfc 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -47,6 +48,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -328,6 +330,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -349,6 +352,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out b/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
index 469fbaa..d12b5f6 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
@@ -755,6 +755,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = c_int) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = c_int) (type: boolean)
@@ -781,6 +782,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = (2 * c_int)) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = (2 * c_int)) (type: boolean)
@@ -807,6 +809,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = c_int) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = c_int) (type: boolean)
@@ -833,6 +836,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = null) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = null) (type: boolean)
@@ -859,6 +863,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int) IN (c_int, (2 * c_int)) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int) IN (c_int, (2 * c_int)) (type: boolean)
@@ -885,6 +890,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int) IN (c_int, 0) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int) IN (c_int, 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_simple_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_simple_select.q.out b/ql/src/test/results/clientpositive/cbo_simple_select.q.out
index a44388c..588d924 100644
--- a/ql/src/test/results/clientpositive/cbo_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/cbo_simple_select.q.out
@@ -755,6 +755,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = c_int) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = c_int) (type: boolean)
@@ -781,6 +782,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = (2 * c_int)) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = (2 * c_int)) (type: boolean)
@@ -807,6 +809,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = c_int) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = c_int) (type: boolean)
@@ -833,6 +836,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = null) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int = null) (type: boolean)
@@ -859,6 +863,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int) IN (c_int, (2 * c_int)) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int) IN (c_int, (2 * c_int)) (type: boolean)
@@ -885,6 +890,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int) IN (c_int, 0) (type: boolean)
           Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
           Filter Operator
             predicate: (c_int) IN (c_int, 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/cbo_union_view.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cbo_union_view.q.out b/ql/src/test/results/clientpositive/cbo_union_view.q.out
index 5552cfe..ecd4ec7 100644
--- a/ql/src/test/results/clientpositive/cbo_union_view.q.out
+++ b/ql/src/test/results/clientpositive/cbo_union_view.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src_union_1
+            filterExpr: (key = 86) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -91,6 +92,7 @@ STAGE PLANS:
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
           TableScan
             alias: src_union_2
+            filterExpr: (key = 86) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -116,6 +118,7 @@ STAGE PLANS:
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
           TableScan
             alias: src_union_3
+            filterExpr: (key = 86) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -160,6 +163,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src_union_1
+            filterExpr: ((key = 86) and (ds = '1')) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -185,6 +189,7 @@ STAGE PLANS:
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
           TableScan
             alias: src_union_2
+            filterExpr: ((key = 86) and (ds = '1')) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
@@ -210,6 +215,7 @@ STAGE PLANS:
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
           TableScan
             alias: src_union_3
+            filterExpr: ((key = 86) and (ds = '1')) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/columnstats_partlvl.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/columnstats_partlvl.q.out b/ql/src/test/results/clientpositive/columnstats_partlvl.q.out
index ca07f61..841eed5 100644
--- a/ql/src/test/results/clientpositive/columnstats_partlvl.q.out
+++ b/ql/src/test/results/clientpositive/columnstats_partlvl.q.out
@@ -46,6 +46,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part
+            filterExpr: (employeesalary = 2000.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 1050 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: employeeid (type: int)
@@ -106,6 +107,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part
+            filterExpr: (employeesalary = 2000.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 1050 Basic stats: COMPLETE Column stats: NONE
             Statistics Aggregation Key Prefix: default.employee_part/
             GatherStats: true
@@ -295,6 +297,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part
+            filterExpr: (employeesalary = 4000.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 1050 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: employeeid (type: int)
@@ -355,6 +358,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part
+            filterExpr: (employeesalary = 4000.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 1050 Basic stats: COMPLETE Column stats: NONE
             Statistics Aggregation Key Prefix: default.employee_part/
             GatherStats: true
@@ -506,6 +510,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part
+            filterExpr: (employeesalary = 2000.0D) (type: boolean)
             Statistics: Num rows: 13 Data size: 92 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: employeeid (type: int), employeename (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/columnstats_partlvl_dp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/columnstats_partlvl_dp.q.out b/ql/src/test/results/clientpositive/columnstats_partlvl_dp.q.out
index 25194d3..73fe460 100644
--- a/ql/src/test/results/clientpositive/columnstats_partlvl_dp.q.out
+++ b/ql/src/test/results/clientpositive/columnstats_partlvl_dp.q.out
@@ -82,6 +82,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part_n0
+            filterExpr: (employeesalary = 4000.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 640 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: employeeid (type: int), employeename (type: string), country (type: string)
@@ -213,6 +214,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: employee_part_n0
+            filterExpr: (employeesalary = 2000.0D) (type: boolean)
             Statistics: Num rows: 3 Data size: 1690 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: employeeid (type: int), country (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/combine2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/combine2.q.out b/ql/src/test/results/clientpositive/combine2.q.out
index 383ef25..0ea3a21 100644
--- a/ql/src/test/results/clientpositive/combine2.q.out
+++ b/ql/src/test/results/clientpositive/combine2.q.out
@@ -77,6 +77,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: combine2_n0
+          filterExpr: value is not null (type: boolean)
           Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string)
@@ -161,6 +162,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ds is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: ds (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/comments.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/comments.q.out b/ql/src/test/results/clientpositive/comments.q.out
index 34fd1f6..5fd4696 100644
--- a/ql/src/test/results/clientpositive/comments.q.out
+++ b/ql/src/test/results/clientpositive/comments.q.out
@@ -91,6 +91,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: (UDFToDouble(key) > 0.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -112,6 +113,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: (UDFToDouble(key) > 0.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/complex_alias.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/complex_alias.q.out b/ql/src/test/results/clientpositive/complex_alias.q.out
index e74132d..e81b3b5 100644
--- a/ql/src/test/results/clientpositive/complex_alias.q.out
+++ b/ql/src/test/results/clientpositive/complex_alias.q.out
@@ -143,6 +143,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: agg1
+            filterExpr: (col0 = col0) (type: boolean)
             Statistics: Num rows: 1 Data size: 17 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (col0 = col0) (type: boolean)
@@ -165,6 +166,7 @@ STAGE PLANS:
                       Statistics: Num rows: 2 Data size: 34 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: agg1
+            filterExpr: (col0 = col0) (type: boolean)
             Statistics: Num rows: 1 Data size: 17 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (col0 = col0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constantPropagateForSubQuery.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constantPropagateForSubQuery.q.out b/ql/src/test/results/clientpositive/constantPropagateForSubQuery.q.out
index 5619f19..cb8185d 100644
--- a/ql/src/test/results/clientpositive/constantPropagateForSubQuery.q.out
+++ b/ql/src/test/results/clientpositive/constantPropagateForSubQuery.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key = '429') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constant_prop_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constant_prop_1.q.out b/ql/src/test/results/clientpositive/constant_prop_1.q.out
index fc0453f..e1e7cf5 100644
--- a/ql/src/test/results/clientpositive/constant_prop_1.q.out
+++ b/ql/src/test/results/clientpositive/constant_prop_1.q.out
@@ -143,6 +143,7 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: b
+            filterExpr: (value = '12345') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (value = '12345') (type: boolean)
@@ -326,6 +327,7 @@ STAGE PLANS:
               value expressions: _col0 (type: int)
           TableScan
             alias: b
+            filterExpr: (value = '12345') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (value = '12345') (type: boolean)
@@ -378,6 +380,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -387,6 +390,7 @@ STAGE PLANS:
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: b
+            filterExpr: (value = '234') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (value = '234') (type: boolean)
@@ -436,6 +440,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -447,6 +452,7 @@ STAGE PLANS:
                 Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: b
+            filterExpr: (key is not null and (value = '234')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value = '234') and key is not null) (type: boolean)
@@ -523,6 +529,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t_n26
+            filterExpr: ((a = 1) and (b = 2) and (c = 3)) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((a = 1) and (b = 2) and (c = 3)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constant_prop_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constant_prop_2.q.out b/ql/src/test/results/clientpositive/constant_prop_2.q.out
index cdd3913..6fef7f9 100644
--- a/ql/src/test/results/clientpositive/constant_prop_2.q.out
+++ b/ql/src/test/results/clientpositive/constant_prop_2.q.out
@@ -37,6 +37,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constant_prop_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constant_prop_3.q.out b/ql/src/test/results/clientpositive/constant_prop_3.q.out
index 3ac1991..2fbd2d4 100644
--- a/ql/src/test/results/clientpositive/constant_prop_3.q.out
+++ b/ql/src/test/results/clientpositive/constant_prop_3.q.out
@@ -173,6 +173,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: partsupp_hive
+            filterExpr: ps_partkey is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ps_partkey is not null (type: boolean)
@@ -189,6 +190,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: part_hive
+            filterExpr: ((p_size) IN (22, 14, 27, 49, 21, 33, 35, 28) and (p_brand <> 'Brand#34') and p_partkey is not null and (not (p_type like 'ECONOMY BRUSHED%'))) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((not (p_type like 'ECONOMY BRUSHED%')) and (p_brand <> 'Brand#34') and (p_size) IN (22, 14, 27, 49, 21, 33, 35, 28) and p_partkey is not null) (type: boolean)
@@ -345,6 +347,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: supplier_hive
+            filterExpr: (s_comment like '%Customer%Complaints%') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (s_comment like '%Customer%Complaints%') (type: boolean)
@@ -381,6 +384,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: supplier_hive
+            filterExpr: (s_comment like '%Customer%Complaints%') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (s_comment like '%Customer%Complaints%') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constprog2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constprog2.q.out b/ql/src/test/results/clientpositive/constprog2.q.out
index c9e9d93..d5615d6 100644
--- a/ql/src/test/results/clientpositive/constprog2.q.out
+++ b/ql/src/test/results/clientpositive/constprog2.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (key = 86) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10603 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 86) (type: boolean)
@@ -28,6 +29,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5301 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: (key = 86) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10603 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 86) (type: boolean)
@@ -86,6 +88,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (UDFToDouble(key) = 86.0D) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10603 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 86.0D) (type: boolean)
@@ -97,6 +100,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5301 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: (key = 86) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10603 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 86) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constprog_dp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constprog_dp.q.out b/ql/src/test/results/clientpositive/constprog_dp.q.out
index b5143a7..67a9206 100644
--- a/ql/src/test/results/clientpositive/constprog_dp.q.out
+++ b/ql/src/test/results/clientpositive/constprog_dp.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), '2008-04-08' (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/constprog_partitioner.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/constprog_partitioner.q.out b/ql/src/test/results/clientpositive/constprog_partitioner.q.out
index f4f2e22..917382e 100644
--- a/ql/src/test/results/clientpositive/constprog_partitioner.q.out
+++ b/ql/src/test/results/clientpositive/constprog_partitioner.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (key = 100) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10603 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 100) (type: boolean)
@@ -28,6 +29,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5301 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: (key = 100) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10603 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 100) (type: boolean)
@@ -89,6 +91,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: li
+            filterExpr: ((l_linenumber = 1) and l_orderkey is not null) (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((l_linenumber = 1) and l_orderkey is not null) (type: boolean)
@@ -105,6 +108,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int), _col2 (type: int)
           TableScan
             alias: lineitem
+            filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlated_join_keys.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlated_join_keys.q.out b/ql/src/test/results/clientpositive/correlated_join_keys.q.out
index 3c0e6e8..1e4c67a 100644
--- a/ql/src/test/results/clientpositive/correlated_join_keys.q.out
+++ b/ql/src/test/results/clientpositive/correlated_join_keys.q.out
@@ -83,6 +83,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
@@ -98,6 +99,7 @@ STAGE PLANS:
                   Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: b
+            filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
@@ -175,6 +177,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
@@ -190,6 +193,7 @@ STAGE PLANS:
                   Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
           TableScan
             alias: b
+            filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (ca_state is not null and ca_zip is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer10.q.out b/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
index f8e07a6..4401220 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -39,6 +40,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -111,6 +113,7 @@ STAGE PLANS:
               value expressions: _col1 (type: bigint)
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -210,6 +213,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -225,6 +229,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -240,6 +245,7 @@ STAGE PLANS:
                   Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: yy
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -385,6 +391,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
@@ -400,6 +407,7 @@ STAGE PLANS:
                   Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 200.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
@@ -439,6 +447,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: xx
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
@@ -546,6 +555,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: xx
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
@@ -562,6 +572,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: x
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
@@ -577,6 +588,7 @@ STAGE PLANS:
                   Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 200.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
@@ -705,6 +717,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
@@ -720,6 +733,7 @@ STAGE PLANS:
                   Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
@@ -759,6 +773,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: xx
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
@@ -878,6 +893,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: xx
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
@@ -894,6 +910,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: x
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
@@ -909,6 +926,7 @@ STAGE PLANS:
                   Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: y
+            filterExpr: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 180.0D)) (type: boolean)


[26/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin47.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin47.q.out b/ql/src/test/results/clientpositive/mapjoin47.q.out
index cd61cee..cf29fa0 100644
--- a/ql/src/test/results/clientpositive/mapjoin47.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin47.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
@@ -48,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(value) BETWEEN 100.0D AND 102.0D and key is not null) (type: boolean)
@@ -132,6 +134,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -150,6 +153,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -245,6 +249,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
@@ -263,6 +268,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) BETWEEN 100.0D AND 102.0D (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin_distinct.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin_distinct.q.out b/ql/src/test/results/clientpositive/mapjoin_distinct.q.out
index 0436e4a..19ab4e5 100644
--- a/ql/src/test/results/clientpositive/mapjoin_distinct.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_distinct.q.out
@@ -27,6 +27,7 @@ STAGE PLANS:
         $hdt$_0:c 
           TableScan
             alias: c
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -45,6 +46,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -173,6 +175,7 @@ STAGE PLANS:
         $hdt$_0:c 
           TableScan
             alias: c
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -191,6 +194,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -297,6 +301,7 @@ STAGE PLANS:
         $hdt$_0:c 
           TableScan
             alias: c
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -315,6 +320,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -438,6 +444,7 @@ STAGE PLANS:
         $hdt$_0:c 
           TableScan
             alias: c
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -456,6 +463,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: d
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin_filter_on_outerjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin_filter_on_outerjoin.q.out b/ql/src/test/results/clientpositive/mapjoin_filter_on_outerjoin.q.out
index 89d8c86..9472b85 100644
--- a/ql/src/test/results/clientpositive/mapjoin_filter_on_outerjoin.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_filter_on_outerjoin.q.out
@@ -67,6 +67,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: ((key < 300) and (key < 10)) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 300)) (type: boolean)
@@ -83,6 +84,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key < 300) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 300) (type: boolean)
@@ -102,6 +104,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src3
+            filterExpr: (key < 300) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 300) (type: boolean)
@@ -220,6 +223,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: ((key < 300) and (key < 10)) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key < 300)) (type: boolean)
@@ -236,6 +240,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key < 300) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 300) (type: boolean)
@@ -255,6 +260,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src3
+            filterExpr: (key < 300) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 300) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out b/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
index ed92c17..a62c798 100644
--- a/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
@@ -21,6 +21,7 @@ STAGE PLANS:
         $hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -39,6 +40,7 @@ STAGE PLANS:
         $hdt$_2:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -60,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (value is not null and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -445,6 +448,7 @@ STAGE PLANS:
         $hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: (value > 'val_450') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (value > 'val_450') (type: boolean)
@@ -460,6 +464,7 @@ STAGE PLANS:
         $hdt$_2:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -478,6 +483,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: ((value > 'val_450') and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value > 'val_450') and key is not null) (type: boolean)
@@ -544,6 +550,7 @@ STAGE PLANS:
         $hdt$_1:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -559,6 +566,7 @@ STAGE PLANS:
         $hdt$_2:src 
           TableScan
             alias: src
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -577,6 +585,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (value is not null and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin_memcheck.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin_memcheck.q.out b/ql/src/test/results/clientpositive/mapjoin_memcheck.q.out
index 19a00e0..a805566 100644
--- a/ql/src/test/results/clientpositive/mapjoin_memcheck.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_memcheck.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin_subquery.q.out b/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
index 1f3f1bb..6116d38 100644
--- a/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
@@ -31,6 +31,7 @@ STAGE PLANS:
         $hdt$_0:z 
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -46,6 +47,7 @@ STAGE PLANS:
         $hdt$_1:$hdt$_2:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -64,6 +66,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -275,6 +278,7 @@ STAGE PLANS:
         $hdt$_0:z 
           TableScan
             alias: z
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -290,6 +294,7 @@ STAGE PLANS:
         $hdt$_1:$hdt$_2:x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -308,6 +313,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mapjoin_subquery2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mapjoin_subquery2.q.out b/ql/src/test/results/clientpositive/mapjoin_subquery2.q.out
index 89f367c..50e7ce0 100644
--- a/ql/src/test/results/clientpositive/mapjoin_subquery2.q.out
+++ b/ql/src/test/results/clientpositive/mapjoin_subquery2.q.out
@@ -97,6 +97,7 @@ STAGE PLANS:
         $hdt$_0:$hdt$_0:y 
           TableScan
             alias: y
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 60 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -112,6 +113,7 @@ STAGE PLANS:
         $hdt$_1:z 
           TableScan
             alias: z
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 60 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -130,6 +132,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 130 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_1.q.out b/ql/src/test/results/clientpositive/masking_1.q.out
index bc0a42a..19d1fcc 100644
--- a/ql/src/test/results/clientpositive/masking_1.q.out
+++ b/ql/src/test/results/clientpositive/masking_1.q.out
@@ -553,6 +553,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n8
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -1095,6 +1096,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n8
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -1637,6 +1639,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n8
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -2179,6 +2182,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n8
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -2195,6 +2199,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col1 (type: string)
           TableScan
             alias: srcpart
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -6376,6 +6381,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n8
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -6918,6 +6924,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n8
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -7460,6 +7467,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D) and ((UDFToDouble(key) % 2.0D) = 0.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) < 10.0D) and (UDFToDouble(key) > 0.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_10.q.out b/ql/src/test/results/clientpositive/masking_10.q.out
index 712f07b..5d5e1fe 100644
--- a/ql/src/test/results/clientpositive/masking_10.q.out
+++ b/ql/src/test/results/clientpositive/masking_10.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test
+            filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)
@@ -117,6 +118,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test
+            filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)
@@ -171,6 +173,7 @@ STAGE PLANS:
               value expressions: _col1 (type: string), _col2 (type: int), _col3 (type: string)
           TableScan
             alias: masking_test
+            filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_12.q.out b/ql/src/test/results/clientpositive/masking_12.q.out
index 32c420c..bd9e596 100644
--- a/ql/src/test/results/clientpositive/masking_12.q.out
+++ b/ql/src/test/results/clientpositive/masking_12.q.out
@@ -672,6 +672,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n5
+            filterExpr: (key > 6) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1217,6 +1218,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n5
+            filterExpr: key is not null (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1235,6 +1237,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: masking_test_n5
+            filterExpr: (key > 6) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_1_newdb.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_1_newdb.q.out b/ql/src/test/results/clientpositive/masking_1_newdb.q.out
index fa32212..4beefd9 100644
--- a/ql/src/test/results/clientpositive/masking_1_newdb.q.out
+++ b/ql/src/test/results/clientpositive/masking_1_newdb.q.out
@@ -571,6 +571,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n12
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_2.q.out b/ql/src/test/results/clientpositive/masking_2.q.out
index 2d2e696..9a42211 100644
--- a/ql/src/test/results/clientpositive/masking_2.q.out
+++ b/ql/src/test/results/clientpositive/masking_2.q.out
@@ -570,6 +570,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToInteger(key) > 0) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1116,6 +1117,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1132,6 +1134,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: ((UDFToInteger(key) > 0) and value is not null) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1185,6 +1188,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1203,6 +1207,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: ((UDFToInteger(key) > 0) and value is not null) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1277,6 +1282,7 @@ STAGE PLANS:
                     Statistics: Num rows: 666 Data size: 7075 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (UDFToInteger(key) > 0) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_3.q.out b/ql/src/test/results/clientpositive/masking_3.q.out
index 8553b08..20d9231 100644
--- a/ql/src/test/results/clientpositive/masking_3.q.out
+++ b/ql/src/test/results/clientpositive/masking_3.q.out
@@ -553,6 +553,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq_n3
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -1095,6 +1096,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq_n3
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -1637,6 +1639,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq_n3
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -2179,6 +2182,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq_n3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -2195,6 +2199,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col1 (type: string)
           TableScan
             alias: srcpart
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -6376,6 +6381,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq_n3
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -6918,6 +6924,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq_n3
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -7460,6 +7467,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D) and ((UDFToDouble(key) % 2.0D) = 0.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) < 10.0D) and (UDFToDouble(key) > 0.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_4.q.out b/ql/src/test/results/clientpositive/masking_4.q.out
index 068c484..5f90f3e 100644
--- a/ql/src/test/results/clientpositive/masking_4.q.out
+++ b/ql/src/test/results/clientpositive/masking_4.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -83,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n11
+            filterExpr: (key = 5) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 5) (type: boolean)
@@ -124,6 +126,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n11
+            filterExpr: (key = 5) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 5) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_6.q.out b/ql/src/test/results/clientpositive/masking_6.q.out
index bee347f..a8fab44 100644
--- a/ql/src/test/results/clientpositive/masking_6.q.out
+++ b/ql/src/test/results/clientpositive/masking_6.q.out
@@ -575,6 +575,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToInteger(key) > 0) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1701,6 +1702,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToInteger(key) > 0) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_7.q.out b/ql/src/test/results/clientpositive/masking_7.q.out
index 9fa62f9..9727f5e 100644
--- a/ql/src/test/results/clientpositive/masking_7.q.out
+++ b/ql/src/test/results/clientpositive/masking_7.q.out
@@ -576,6 +576,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToInteger(key) > 0) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
@@ -1703,6 +1704,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToInteger(key) > 0) (type: boolean)
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_9.q.out b/ql/src/test/results/clientpositive/masking_9.q.out
index ae1a82b..c9c0ad7 100644
--- a/ql/src/test/results/clientpositive/masking_9.q.out
+++ b/ql/src/test/results/clientpositive/masking_9.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test
+            filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_disablecbo_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_disablecbo_1.q.out b/ql/src/test/results/clientpositive/masking_disablecbo_1.q.out
index 0967fde..fa92660 100644
--- a/ql/src/test/results/clientpositive/masking_disablecbo_1.q.out
+++ b/ql/src/test/results/clientpositive/masking_disablecbo_1.q.out
@@ -553,6 +553,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n10
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -1095,6 +1096,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n10
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -1637,6 +1639,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n10
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -2179,6 +2182,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n10
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -2191,6 +2195,7 @@ STAGE PLANS:
                 value expressions: key (type: int), value (type: string)
           TableScan
             alias: srcpart
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -6372,6 +6377,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n10
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -6914,6 +6920,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n10
+            filterExpr: (key > 0) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 0) (type: boolean)
@@ -7456,6 +7463,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((key > 0) and (key < 10) and ((key % 2) = 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_disablecbo_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_disablecbo_2.q.out b/ql/src/test/results/clientpositive/masking_disablecbo_2.q.out
index bb58b08..dc53112 100644
--- a/ql/src/test/results/clientpositive/masking_disablecbo_2.q.out
+++ b/ql/src/test/results/clientpositive/masking_disablecbo_2.q.out
@@ -1099,6 +1099,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -1118,6 +1119,7 @@ STAGE PLANS:
                     value expressions: _col0 (type: int)
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1185,6 +1187,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(value) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(value) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_disablecbo_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_disablecbo_3.q.out b/ql/src/test/results/clientpositive/masking_disablecbo_3.q.out
index 9f4b149..df96b3d 100644
--- a/ql/src/test/results/clientpositive/masking_disablecbo_3.q.out
+++ b/ql/src/test/results/clientpositive/masking_disablecbo_3.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -36,6 +37,7 @@ STAGE PLANS:
                 value expressions: key (type: int), value (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -601,6 +603,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: (UDFToDouble(key) is not null and (key > 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
@@ -613,6 +616,7 @@ STAGE PLANS:
                 value expressions: key (type: int), value (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -1175,6 +1179,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: (UDFToDouble(key) is not null and (key > 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
@@ -1187,6 +1192,7 @@ STAGE PLANS:
                 value expressions: key (type: int)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -1749,6 +1755,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: (UDFToDouble(key) is not null and (key > 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
@@ -1761,6 +1768,7 @@ STAGE PLANS:
                 value expressions: value (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -2328,6 +2336,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -2340,6 +2349,7 @@ STAGE PLANS:
                 value expressions: key (type: int), value (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -2386,6 +2396,7 @@ STAGE PLANS:
               value expressions: _col0 (type: int), _col1 (type: string)
           TableScan
             alias: srcpart
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -6569,6 +6580,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: (UDFToDouble(key) is not null and (key > 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
@@ -6581,6 +6593,7 @@ STAGE PLANS:
                 value expressions: key (type: int), value (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -7143,6 +7156,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_subq
+            filterExpr: (UDFToDouble(key) is not null and (key > 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
@@ -7155,6 +7169,7 @@ STAGE PLANS:
                 value expressions: key (type: int), value (type: string)
           TableScan
             alias: src
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -7717,6 +7732,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((key > 0) and (key < 10) and ((key % 2) = 0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/masking_disablecbo_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_disablecbo_4.q.out b/ql/src/test/results/clientpositive/masking_disablecbo_4.q.out
index 087d093..55e2915 100644
--- a/ql/src/test/results/clientpositive/masking_disablecbo_4.q.out
+++ b/ql/src/test/results/clientpositive/masking_disablecbo_4.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '5') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '5') (type: boolean)
@@ -83,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n3
+            filterExpr: (key = 5) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 5) (type: boolean)
@@ -124,6 +126,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: masking_test_n3
+            filterExpr: (key = 5) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = 5) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge3.q.out b/ql/src/test/results/clientpositive/merge3.q.out
index aaa7702..961fae3 100644
--- a/ql/src/test/results/clientpositive/merge3.q.out
+++ b/ql/src/test/results/clientpositive/merge3.q.out
@@ -2390,6 +2390,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: merge_src_part
+            filterExpr: ds is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -4872,6 +4873,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: merge_src_part
+            filterExpr: ds is not null (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge4.q.out b/ql/src/test/results/clientpositive/merge4.q.out
index edaf416..1bbfd86 100644
--- a/ql/src/test/results/clientpositive/merge4.q.out
+++ b/ql/src/test/results/clientpositive/merge4.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), hr (type: string)
@@ -1187,6 +1188,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
@@ -2852,6 +2854,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out b/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out
index 45c3a93..068d589 100644
--- a/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out
+++ b/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_n1
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 99 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), hr (type: string)
@@ -694,6 +695,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_n1
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 99 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
@@ -1363,6 +1365,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_n1
+            filterExpr: ((ds = '2008-04-08') and (11.0D = 11.0D)) (type: boolean)
             Statistics: Num rows: 99 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge_dynamic_partition2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge_dynamic_partition2.q.out b/ql/src/test/results/clientpositive/merge_dynamic_partition2.q.out
index aa87e3b..551581b 100644
--- a/ql/src/test/results/clientpositive/merge_dynamic_partition2.q.out
+++ b/ql/src/test/results/clientpositive/merge_dynamic_partition2.q.out
@@ -86,6 +86,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_n0
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 297 Data size: 174150 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out b/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out
index 6ffcf4c..bd9beb8 100644
--- a/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out
+++ b/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out
@@ -146,6 +146,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_n2
+            filterExpr: (ds >= '2008-04-08') (type: boolean)
             Statistics: Num rows: 594 Data size: 348300 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), ds (type: string), hr (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge_dynamic_partition4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge_dynamic_partition4.q.out b/ql/src/test/results/clientpositive/merge_dynamic_partition4.q.out
index 4ede977..f5740cf 100644
--- a/ql/src/test/results/clientpositive/merge_dynamic_partition4.q.out
+++ b/ql/src/test/results/clientpositive/merge_dynamic_partition4.q.out
@@ -147,6 +147,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_rc_n1
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 9624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), if(((UDFToDouble(key) % 2.0D) = 0.0D), 'a1', 'b1') (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge_dynamic_partition5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge_dynamic_partition5.q.out b/ql/src/test/results/clientpositive/merge_dynamic_partition5.q.out
index bd151da..c3319b8 100644
--- a/ql/src/test/results/clientpositive/merge_dynamic_partition5.q.out
+++ b/ql/src/test/results/clientpositive/merge_dynamic_partition5.q.out
@@ -123,6 +123,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart_merge_dp_rc
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 618 Data size: 5934 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), if(((UDFToDouble(key) % 100.0D) = 0.0D), 'a1', 'b1') (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/merge_join_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/merge_join_1.q.out b/ql/src/test/results/clientpositive/merge_join_1.q.out
index 8a2dd1d..ccbae94 100644
--- a/ql/src/test/results/clientpositive/merge_join_1.q.out
+++ b/ql/src/test/results/clientpositive/merge_join_1.q.out
@@ -77,6 +77,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: test_join_1
+            filterExpr: a is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: a is not null (type: boolean)
@@ -93,6 +94,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: test_join_2
+            filterExpr: a is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: a is not null (type: boolean)
@@ -134,6 +136,7 @@ STAGE PLANS:
               value expressions: _col1 (type: string), _col2 (type: string)
           TableScan
             alias: test_join_1
+            filterExpr: (a is not null and b is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (a is not null and b is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mergejoins.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mergejoins.q.out b/ql/src/test/results/clientpositive/mergejoins.q.out
index b34b388..58d1c1d 100644
--- a/ql/src/test/results/clientpositive/mergejoins.q.out
+++ b/ql/src/test/results/clientpositive/mergejoins.q.out
@@ -53,6 +53,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n0
+            filterExpr: (val1 is not null and val2 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (val1 is not null and val2 is not null) (type: boolean)
@@ -69,6 +70,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: b_n0
+            filterExpr: val1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: val1 is not null (type: boolean)
@@ -85,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: c_n0
+            filterExpr: val1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: val1 is not null (type: boolean)
@@ -101,6 +104,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: d_n0
+            filterExpr: val1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: val1 is not null (type: boolean)
@@ -147,6 +151,7 @@ STAGE PLANS:
               value expressions: _col0 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int), _col6 (type: int), _col7 (type: int)
           TableScan
             alias: e_n0
+            filterExpr: val2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: val2 is not null (type: boolean)
@@ -198,6 +203,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n0
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -214,6 +220,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b_n0
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -230,6 +237,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: c_n0
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/mergejoins_mixed.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/mergejoins_mixed.q.out b/ql/src/test/results/clientpositive/mergejoins_mixed.q.out
index ee3fa11..9ac6d59 100644
--- a/ql/src/test/results/clientpositive/mergejoins_mixed.q.out
+++ b/ql/src/test/results/clientpositive/mergejoins_mixed.q.out
@@ -22,6 +22,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -38,6 +39,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -54,6 +56,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: c
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -70,6 +73,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: d
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -127,6 +131,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -143,6 +148,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -159,6 +165,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: c
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -229,6 +236,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -245,6 +253,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -328,6 +337,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -344,6 +354,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -429,6 +440,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -445,6 +457,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -526,6 +539,7 @@ STAGE PLANS:
               value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
           TableScan
             alias: d
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -581,6 +595,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -597,6 +612,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -730,6 +746,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -746,6 +763,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -879,6 +897,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -895,6 +914,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1028,6 +1048,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1044,6 +1065,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1177,6 +1199,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1193,6 +1216,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1326,6 +1350,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1342,6 +1367,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1474,6 +1500,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n5
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -1490,6 +1517,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/multi_insert_gby.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/multi_insert_gby.q.out b/ql/src/test/results/clientpositive/multi_insert_gby.q.out
index 514e4538..9c7b61e 100644
--- a/ql/src/test/results/clientpositive/multi_insert_gby.q.out
+++ b/ql/src/test/results/clientpositive/multi_insert_gby.q.out
@@ -41,6 +41,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((key > 500) or (key > 450)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key > 450) or (key > 500)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out b/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
index fa32ee4..7e720b6 100644
--- a/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
+++ b/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
@@ -1068,6 +1068,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -1311,6 +1312,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -1622,6 +1624,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -1865,6 +1868,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -3900,6 +3904,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -4015,6 +4020,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -4130,6 +4136,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
@@ -4245,6 +4252,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key > 10) and (key < 20)) or (key < 10)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/multi_insert_union_src.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/multi_insert_union_src.q.out b/ql/src/test/results/clientpositive/multi_insert_union_src.q.out
index e8dabfd..a35c1e4 100644
--- a/ql/src/test/results/clientpositive/multi_insert_union_src.q.out
+++ b/ql/src/test/results/clientpositive/multi_insert_union_src.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (UDFToDouble(key) < 10.0D) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 10.0D) (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
                           serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
           TableScan
             alias: src2_n4
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out b/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out
index 34b1d08..0e75384 100644
--- a/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out
+++ b/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out
@@ -79,6 +79,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (id = 'Id_1') (type: boolean)
             Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (id = 'Id_1') (type: boolean)
@@ -93,6 +94,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: ((id = 'Id_1') and (val = 'val_103')) (type: boolean)
             Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((id = 'Id_1') and (val = 'val_103')) (type: boolean)
@@ -205,6 +207,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((id = 'Id_2') and (val <> 'val_104')) (type: boolean)
             Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((id = 'Id_2') and (val <> 'val_104')) (type: boolean)
@@ -219,6 +222,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: ((val = 'val_104') and (id = 'Id_2')) (type: boolean)
             Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((id = 'Id_2') and (val = 'val_104')) (type: boolean)
@@ -741,6 +745,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -753,6 +758,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -948,6 +954,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -960,6 +967,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -1155,6 +1163,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -1171,6 +1180,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -1374,6 +1384,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -1390,6 +1401,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/multi_join_union.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/multi_join_union.q.out b/ql/src/test/results/clientpositive/multi_join_union.q.out
index 5030103..991ffd5 100644
--- a/ql/src/test/results/clientpositive/multi_join_union.q.out
+++ b/ql/src/test/results/clientpositive/multi_join_union.q.out
@@ -78,6 +78,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -93,6 +94,7 @@ STAGE PLANS:
         $hdt$_2:$hdt$_2-subquery1:src13 
           TableScan
             alias: src13
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -110,6 +112,7 @@ STAGE PLANS:
         $hdt$_2:$hdt$_2-subquery2:src14 
           TableScan
             alias: src14
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -130,6 +133,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/named_column_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/named_column_join.q.out b/ql/src/test/results/clientpositive/named_column_join.q.out
index b67b74a..362a6cb 100644
--- a/ql/src/test/results/clientpositive/named_column_join.q.out
+++ b/ql/src/test/results/clientpositive/named_column_join.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: a is not null (type: boolean)
             Statistics: Num rows: 8 Data size: 28 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: a is not null (type: boolean)
@@ -46,6 +47,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: t2
+            filterExpr: a is not null (type: boolean)
             Statistics: Num rows: 8 Data size: 28 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: a is not null (type: boolean)


[07/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query44.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/query44.q.out
index 1a360e7..0dbce70 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query44.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query44.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[131][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 9' is a cross product
+Warning: Shuffle Join MERGEJOIN[141][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 9' is a cross product
 PREHOOK: query: explain
 select  asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
 from(select *
@@ -87,126 +87,126 @@ Stage-0
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_178]
-        Limit [LIM_177] (rows=100 width=185)
+      File Output Operator [FS_188]
+        Limit [LIM_187] (rows=100 width=185)
           Number of rows:100
-          Select Operator [SEL_176] (rows=1393898919384048 width=185)
+          Select Operator [SEL_186] (rows=1393898919384048 width=185)
             Output:["_col0","_col1","_col2"]
           <-Reducer 3 [SIMPLE_EDGE]
             SHUFFLE [RS_101]
               Select Operator [SEL_100] (rows=1393898919384048 width=185)
                 Output:["_col0","_col1","_col2"]
-                Merge Join Operator [MERGEJOIN_135] (rows=1393898919384048 width=185)
+                Merge Join Operator [MERGEJOIN_145] (rows=1393898919384048 width=185)
                   Conds:RS_97._col3=RS_98._col3(Inner),Output:["_col1","_col3","_col5"]
                 <-Reducer 2 [SIMPLE_EDGE]
                   SHUFFLE [RS_97]
                     PartitionCols:_col3
-                    Merge Join Operator [MERGEJOIN_132] (rows=1267180808338276 width=185)
-                      Conds:RS_138._col0=RS_170._col0(Inner),Output:["_col1","_col3"]
+                    Merge Join Operator [MERGEJOIN_142] (rows=1267180808338276 width=185)
+                      Conds:RS_148._col0=RS_180._col0(Inner),Output:["_col1","_col3"]
                     <-Map 1 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_138]
+                      SHUFFLE [RS_148]
                         PartitionCols:_col0
-                        Select Operator [SEL_137] (rows=462000 width=1436)
+                        Select Operator [SEL_147] (rows=462000 width=1436)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_136] (rows=462000 width=1436)
+                          Filter Operator [FIL_146] (rows=462000 width=1436)
                             predicate:i_item_sk is not null
                             TableScan [TS_0] (rows=462000 width=1436)
                               default@item,i1,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_product_name"]
                     <-Reducer 10 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_170]
+                      SHUFFLE [RS_180]
                         PartitionCols:_col0
-                        Select Operator [SEL_169] (rows=1151982528066248 width=185)
+                        Select Operator [SEL_179] (rows=1151982528066248 width=185)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_168] (rows=1151982528066248 width=185)
+                          Filter Operator [FIL_178] (rows=1151982528066248 width=185)
                             predicate:((rank_window_0 < 11) and _col2 is not null)
-                            PTF Operator [PTF_167] (rows=3455947584198744 width=185)
+                            PTF Operator [PTF_177] (rows=3455947584198744 width=185)
                               Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST","partition by:":"0"}]
-                              Select Operator [SEL_166] (rows=3455947584198744 width=185)
+                              Select Operator [SEL_176] (rows=3455947584198744 width=185)
                                 Output:["_col2","_col3"]
                               <-Reducer 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_38]
                                   PartitionCols:0
                                   Filter Operator [FIL_37] (rows=3455947584198744 width=185)
                                     predicate:(_col3 > (0.9 * _col1))
-                                    Merge Join Operator [MERGEJOIN_131] (rows=10367842752596232 width=185)
+                                    Merge Join Operator [MERGEJOIN_141] (rows=10367842752596232 width=185)
                                       Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
                                     <-Reducer 13 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_158]
-                                        Select Operator [SEL_157] (rows=71999454 width=88)
+                                      PARTITION_ONLY_SHUFFLE [RS_168]
+                                        Select Operator [SEL_167] (rows=71999454 width=88)
                                           Output:["_col0"]
-                                          Group By Operator [GBY_156] (rows=71999454 width=88)
+                                          Group By Operator [GBY_166] (rows=71999454 width=88)
                                             Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
                                           <-Map 12 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_155]
+                                            SHUFFLE [RS_165]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_154] (rows=143998908 width=88)
+                                              Group By Operator [GBY_164] (rows=143998908 width=88)
                                                 Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:410
-                                                Select Operator [SEL_153] (rows=143998908 width=88)
+                                                Select Operator [SEL_163] (rows=143998908 width=88)
                                                   Output:["_col1"]
-                                                  Filter Operator [FIL_152] (rows=143998908 width=88)
+                                                  Filter Operator [FIL_162] (rows=143998908 width=88)
                                                     predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
                                                     TableScan [TS_18] (rows=575995635 width=88)
                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"]
                                     <-Reducer 15 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_165]
-                                        Select Operator [SEL_164] (rows=143998908 width=88)
+                                      PARTITION_ONLY_SHUFFLE [RS_175]
+                                        Select Operator [SEL_174] (rows=143998908 width=88)
                                           Output:["_col0","_col1"]
-                                          Group By Operator [GBY_163] (rows=143998908 width=88)
+                                          Group By Operator [GBY_173] (rows=143998908 width=88)
                                             Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
                                           <-Map 14 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_162]
+                                            SHUFFLE [RS_172]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_161] (rows=287997817 width=88)
+                                              Group By Operator [GBY_171] (rows=287997817 width=88)
                                                 Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk
-                                                Select Operator [SEL_160] (rows=287997817 width=88)
+                                                Select Operator [SEL_170] (rows=287997817 width=88)
                                                   Output:["ss_item_sk","ss_net_profit"]
-                                                  Filter Operator [FIL_159] (rows=287997817 width=88)
+                                                  Filter Operator [FIL_169] (rows=287997817 width=88)
                                                     predicate:(ss_store_sk = 410)
                                                     TableScan [TS_26] (rows=575995635 width=88)
                                                       default@store_sales,ss1,Tbl:COMPLETE,Col:NONE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"]
                                     <-Reducer 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_151]
-                                        Select Operator [SEL_150] (rows=1 width=8)
-                                          Filter Operator [FIL_149] (rows=1 width=8)
+                                      PARTITION_ONLY_SHUFFLE [RS_161]
+                                        Select Operator [SEL_160] (rows=1 width=8)
+                                          Filter Operator [FIL_159] (rows=1 width=8)
                                             predicate:(sq_count_check(_col0) <= 1)
-                                            Group By Operator [GBY_148] (rows=1 width=8)
+                                            Group By Operator [GBY_158] (rows=1 width=8)
                                               Output:["_col0"],aggregations:["count(VALUE._col0)"]
                                             <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
-                                              PARTITION_ONLY_SHUFFLE [RS_147]
-                                                Group By Operator [GBY_146] (rows=1 width=8)
+                                              PARTITION_ONLY_SHUFFLE [RS_157]
+                                                Group By Operator [GBY_156] (rows=1 width=8)
                                                   Output:["_col0"],aggregations:["count()"]
-                                                  Select Operator [SEL_145] (rows=71999454 width=88)
-                                                    Group By Operator [GBY_144] (rows=71999454 width=88)
+                                                  Select Operator [SEL_155] (rows=71999454 width=88)
+                                                    Group By Operator [GBY_154] (rows=71999454 width=88)
                                                       Output:["_col0"],keys:KEY._col0
                                                     <-Map 6 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_143]
+                                                      SHUFFLE [RS_153]
                                                         PartitionCols:_col0
-                                                        Group By Operator [GBY_142] (rows=143998908 width=88)
+                                                        Group By Operator [GBY_152] (rows=143998908 width=88)
                                                           Output:["_col0"],keys:410
-                                                          Select Operator [SEL_141] (rows=143998908 width=88)
-                                                            Filter Operator [FIL_140] (rows=143998908 width=88)
+                                                          Select Operator [SEL_151] (rows=143998908 width=88)
+                                                            Filter Operator [FIL_150] (rows=143998908 width=88)
                                                               predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
                                                               TableScan [TS_3] (rows=575995635 width=88)
                                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_hdemo_sk","ss_store_sk"]
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_98]
                     PartitionCols:_col3
-                    Merge Join Operator [MERGEJOIN_134] (rows=1267180808338276 width=185)
-                      Conds:RS_139._col0=RS_175._col0(Inner),Output:["_col1","_col3"]
+                    Merge Join Operator [MERGEJOIN_144] (rows=1267180808338276 width=185)
+                      Conds:RS_149._col0=RS_185._col0(Inner),Output:["_col1","_col3"]
                     <-Map 1 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_139]
+                      SHUFFLE [RS_149]
                         PartitionCols:_col0
-                         Please refer to the previous Select Operator [SEL_137]
+                         Please refer to the previous Select Operator [SEL_147]
                     <-Reducer 11 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_175]
+                      SHUFFLE [RS_185]
                         PartitionCols:_col0
-                        Select Operator [SEL_174] (rows=1151982528066248 width=185)
+                        Select Operator [SEL_184] (rows=1151982528066248 width=185)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_173] (rows=1151982528066248 width=185)
+                          Filter Operator [FIL_183] (rows=1151982528066248 width=185)
                             predicate:((rank_window_0 < 11) and _col2 is not null)
-                            PTF Operator [PTF_172] (rows=3455947584198744 width=185)
+                            PTF Operator [PTF_182] (rows=3455947584198744 width=185)
                               Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 DESC NULLS LAST","partition by:":"0"}]
-                              Select Operator [SEL_171] (rows=3455947584198744 width=185)
+                              Select Operator [SEL_181] (rows=3455947584198744 width=185)
                                 Output:["_col2","_col3"]
                               <-Reducer 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_83]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query45.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query45.q.out b/ql/src/test/results/clientpositive/perf/tez/query45.q.out
index 704af01..c9d820b 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query45.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query45.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[87][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[132][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain
 select  ca_zip, ca_county, sum(ws_sales_price)
  from web_sales, customer, customer_address, date_dim, item
@@ -40,30 +40,33 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 8 (SIMPLE_EDGE)
-Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Map 14 <- Reducer 11 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 8 (SIMPLE_EDGE)
+Reducer 13 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE), Reducer 11 (ONE_TO_ONE_EDGE)
+Reducer 9 <- Map 8 (SIMPLE_EDGE), Reducer 12 (ONE_TO_ONE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_120]
-        Limit [LIM_119] (rows=100 width=152)
+      File Output Operator [FS_172]
+        Limit [LIM_171] (rows=100 width=152)
           Number of rows:100
-          Select Operator [SEL_118] (rows=95833781 width=152)
+          Select Operator [SEL_170] (rows=95833781 width=152)
             Output:["_col0","_col1","_col2"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_117]
-              Group By Operator [GBY_116] (rows=95833781 width=152)
+            SHUFFLE [RS_169]
+              Group By Operator [GBY_168] (rows=95833781 width=152)
                 Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
               <-Reducer 4 [SIMPLE_EDGE]
                 SHUFFLE [RS_53]
@@ -76,104 +79,126 @@ Stage-0
                         predicate:((substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') or CASE WHEN ((_col14 = 0L)) THEN (false) WHEN (_col17 is not null) THEN (true) WHEN (_col13 is null) THEN (null) WHEN ((_col15 < _col14)) THEN (null) ELSE (false) END)
                         Select Operator [SEL_49] (rows=191667562 width=152)
                           Output:["_col3","_col7","_col8","_col13","_col14","_col15","_col17"]
-                          Merge Join Operator [MERGEJOIN_87] (rows=191667562 width=152)
+                          Merge Join Operator [MERGEJOIN_132] (rows=191667562 width=152)
                             Conds:(Inner),Output:["_col3","_col4","_col6","_col8","_col12","_col16","_col17"]
-                          <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized
-                            PARTITION_ONLY_SHUFFLE [RS_115]
-                              Group By Operator [GBY_114] (rows=1 width=16)
+                          <-Reducer 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                            PARTITION_ONLY_SHUFFLE [RS_167]
+                              Group By Operator [GBY_166] (rows=1 width=16)
                                 Output:["_col0","_col1"],aggregations:["count(VALUE._col0)","count(VALUE._col1)"]
                               <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_104]
-                                  Group By Operator [GBY_102] (rows=1 width=16)
+                                SHUFFLE [RS_149]
+                                  Group By Operator [GBY_147] (rows=1 width=16)
                                     Output:["_col0","_col1"],aggregations:["count()","count(i_item_id)"]
-                                    Select Operator [SEL_99] (rows=231000 width=1436)
+                                    Select Operator [SEL_144] (rows=231000 width=1436)
                                       Output:["i_item_id"]
-                                      Filter Operator [FIL_96] (rows=231000 width=1436)
+                                      Filter Operator [FIL_141] (rows=231000 width=1436)
                                         predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
                                         TableScan [TS_6] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
                           <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
                             PARTITION_ONLY_SHUFFLE [RS_46]
-                              Merge Join Operator [MERGEJOIN_86] (rows=191667562 width=135)
+                              Merge Join Operator [MERGEJOIN_131] (rows=191667562 width=135)
                                 Conds:RS_43._col0=RS_44._col6(Inner),Output:["_col3","_col4","_col6","_col8","_col12"]
                               <-Reducer 10 [SIMPLE_EDGE]
                                 SHUFFLE [RS_44]
                                   PartitionCols:_col6
-                                  Merge Join Operator [MERGEJOIN_85] (rows=174243235 width=135)
+                                  Merge Join Operator [MERGEJOIN_130] (rows=174243235 width=135)
                                     Conds:RS_29._col0=RS_30._col1(Inner),Output:["_col1","_col3","_col6","_col7"]
-                                  <-Reducer 14 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_30]
-                                      PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_84] (rows=158402938 width=135)
-                                        Conds:RS_110._col0=RS_113._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 13 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_110]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_109] (rows=144002668 width=135)
-                                            Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_108] (rows=144002668 width=135)
-                                              predicate:(ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_16] (rows=144002668 width=135)
-                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
-                                      <-Map 15 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_113]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_112] (rows=18262 width=1119)
-                                            Output:["_col0"]
-                                            Filter Operator [FIL_111] (rows=18262 width=1119)
-                                              predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
-                                              TableScan [TS_19] (rows=73049 width=1119)
-                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
                                   <-Reducer 9 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_29]
+                                    PARTITION_ONLY_SHUFFLE [RS_29]
                                       PartitionCols:_col0
-                                      Merge Join Operator [MERGEJOIN_83] (rows=508200 width=1436)
-                                        Conds:RS_100._col1=RS_107._col0(Left Outer),Output:["_col0","_col1","_col3"]
+                                      Merge Join Operator [MERGEJOIN_128] (rows=508200 width=1436)
+                                        Conds:RS_145._col1=RS_152._col0(Left Outer),Output:["_col0","_col1","_col3"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_100]
+                                        SHUFFLE [RS_145]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_97] (rows=462000 width=1436)
+                                          Select Operator [SEL_142] (rows=462000 width=1436)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_94] (rows=462000 width=1436)
+                                            Filter Operator [FIL_139] (rows=462000 width=1436)
                                               predicate:i_item_sk is not null
                                                Please refer to the previous TableScan [TS_6]
-                                      <-Reducer 11 [ONE_TO_ONE_EDGE] vectorized
-                                        FORWARD [RS_107]
+                                      <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
+                                        FORWARD [RS_152]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_106] (rows=115500 width=1436)
+                                          Select Operator [SEL_151] (rows=115500 width=1436)
                                             Output:["_col0","_col1"]
-                                            Group By Operator [GBY_105] (rows=115500 width=1436)
+                                            Group By Operator [GBY_150] (rows=115500 width=1436)
                                               Output:["_col0"],keys:KEY._col0
                                             <-Map 8 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_103]
+                                              SHUFFLE [RS_148]
                                                 PartitionCols:_col0
-                                                Group By Operator [GBY_101] (rows=231000 width=1436)
+                                                Group By Operator [GBY_146] (rows=231000 width=1436)
                                                   Output:["_col0"],keys:i_item_id
-                                                  Select Operator [SEL_98] (rows=231000 width=1436)
+                                                  Select Operator [SEL_143] (rows=231000 width=1436)
                                                     Output:["i_item_id"]
-                                                    Filter Operator [FIL_95] (rows=231000 width=1436)
+                                                    Filter Operator [FIL_140] (rows=231000 width=1436)
                                                       predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
                                                        Please refer to the previous TableScan [TS_6]
+                                  <-Reducer 15 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_30]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_129] (rows=158402938 width=135)
+                                        Conds:RS_165._col0=RS_155._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_155]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_154] (rows=18262 width=1119)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_153] (rows=18262 width=1119)
+                                              predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
+                                              TableScan [TS_19] (rows=73049 width=1119)
+                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
+                                      <-Map 14 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_165]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_164] (rows=144002668 width=135)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_163] (rows=144002668 width=135)
+                                              predicate:((ws_item_sk BETWEEN DynamicValue(RS_29_item_i_item_sk_min) AND DynamicValue(RS_29_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_29_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_23_date_dim_d_date_sk_min) AND DynamicValue(RS_23_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_23_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_16] (rows=144002668 width=135)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_162]
+                                                  Group By Operator [GBY_161] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_114]
+                                                      Group By Operator [GBY_113] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_112] (rows=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_128]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_160]
+                                                  Group By Operator [GBY_159] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_158]
+                                                      Group By Operator [GBY_157] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_156] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_154]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_43]
                                   PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_82] (rows=88000001 width=860)
-                                    Conds:RS_90._col1=RS_93._col0(Inner),Output:["_col0","_col3","_col4"]
+                                  Merge Join Operator [MERGEJOIN_127] (rows=88000001 width=860)
+                                    Conds:RS_135._col1=RS_138._col0(Inner),Output:["_col0","_col3","_col4"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_90]
+                                    SHUFFLE [RS_135]
                                       PartitionCols:_col1
-                                      Select Operator [SEL_89] (rows=80000000 width=860)
+                                      Select Operator [SEL_134] (rows=80000000 width=860)
                                         Output:["_col0","_col1"]
-                                        Filter Operator [FIL_88] (rows=80000000 width=860)
+                                        Filter Operator [FIL_133] (rows=80000000 width=860)
                                           predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                                           TableScan [TS_0] (rows=80000000 width=860)
                                             default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
                                   <-Map 7 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_93]
+                                    SHUFFLE [RS_138]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_92] (rows=40000000 width=1014)
+                                      Select Operator [SEL_137] (rows=40000000 width=1014)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_91] (rows=40000000 width=1014)
+                                        Filter Operator [FIL_136] (rows=40000000 width=1014)
                                           predicate:ca_address_sk is not null
                                           TableScan [TS_3] (rows=40000000 width=1014)
                                             default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_zip"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query46.q.out b/ql/src/test/results/clientpositive/perf/tez/query46.q.out
index 29795b2..708a852 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query46.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query46.q.out
@@ -69,24 +69,30 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 13 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 14 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Map 10 <- Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 5 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Reducer 12 <- Map 16 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 18 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 6 <- Map 5 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 6 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 6 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_110]
-        Limit [LIM_109] (rows=100 width=88)
+      File Output Operator [FS_192]
+        Limit [LIM_191] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_108] (rows=463823414 width=88)
+          Select Operator [SEL_190] (rows=463823414 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 3 [SIMPLE_EDGE]
             SHUFFLE [RS_46]
@@ -94,98 +100,153 @@ Stage-0
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                 Filter Operator [FIL_44] (rows=463823414 width=88)
                   predicate:(_col5 <> _col8)
-                  Merge Join Operator [MERGEJOIN_85] (rows=463823414 width=88)
-                    Conds:RS_41._col0=RS_107._col1(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9","_col10"]
+                  Merge Join Operator [MERGEJOIN_145] (rows=463823414 width=88)
+                    Conds:RS_41._col0=RS_189._col1(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9","_col10"]
                   <-Reducer 2 [SIMPLE_EDGE]
-                    SHUFFLE [RS_41]
+                    PARTITION_ONLY_SHUFFLE [RS_41]
                       PartitionCols:_col0
-                      Merge Join Operator [MERGEJOIN_80] (rows=88000001 width=860)
-                        Conds:RS_88._col1=RS_91._col0(Inner),Output:["_col0","_col2","_col3","_col5"]
-                      <-Map 5 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_91]
+                      Merge Join Operator [MERGEJOIN_140] (rows=88000001 width=860)
+                        Conds:RS_148._col1=RS_151._col0(Inner),Output:["_col0","_col2","_col3","_col5"]
+                      <-Map 6 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_151]
                           PartitionCols:_col0
-                          Select Operator [SEL_90] (rows=40000000 width=1014)
+                          Select Operator [SEL_150] (rows=40000000 width=1014)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_89] (rows=40000000 width=1014)
+                            Filter Operator [FIL_149] (rows=40000000 width=1014)
                               predicate:ca_address_sk is not null
                               TableScan [TS_3] (rows=40000000 width=1014)
                                 default@customer_address,current_addr,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_city"]
                       <-Map 1 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_88]
+                        SHUFFLE [RS_148]
                           PartitionCols:_col1
-                          Select Operator [SEL_87] (rows=80000000 width=860)
+                          Select Operator [SEL_147] (rows=80000000 width=860)
                             Output:["_col0","_col1","_col2","_col3"]
-                            Filter Operator [FIL_86] (rows=80000000 width=860)
+                            Filter Operator [FIL_146] (rows=80000000 width=860)
                               predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                               TableScan [TS_0] (rows=80000000 width=860)
                                 default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name"]
-                  <-Reducer 7 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_107]
+                  <-Reducer 8 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_189]
                       PartitionCols:_col1
-                      Select Operator [SEL_106] (rows=421657640 width=88)
+                      Select Operator [SEL_188] (rows=421657640 width=88)
                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                        Group By Operator [GBY_105] (rows=421657640 width=88)
+                        Group By Operator [GBY_187] (rows=421657640 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
-                        <-Reducer 6 [SIMPLE_EDGE]
+                        <-Reducer 7 [SIMPLE_EDGE]
                           SHUFFLE [RS_35]
                             PartitionCols:_col0, _col1, _col2, _col3
                             Group By Operator [GBY_34] (rows=843315281 width=88)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col6)","sum(_col7)"],keys:_col1, _col17, _col3, _col5
-                              Merge Join Operator [MERGEJOIN_84] (rows=843315281 width=88)
-                                Conds:RS_30._col3=RS_92._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col17"]
-                              <-Map 5 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_92]
+                              Merge Join Operator [MERGEJOIN_144] (rows=843315281 width=88)
+                                Conds:RS_30._col3=RS_152._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col17"]
+                              <-Map 6 [SIMPLE_EDGE] vectorized
+                                PARTITION_ONLY_SHUFFLE [RS_152]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_90]
-                              <-Reducer 11 [SIMPLE_EDGE]
+                                   Please refer to the previous Select Operator [SEL_150]
+                              <-Reducer 13 [SIMPLE_EDGE]
                                 SHUFFLE [RS_30]
                                   PartitionCols:_col3
-                                  Merge Join Operator [MERGEJOIN_83] (rows=766650239 width=88)
-                                    Conds:RS_27._col2=RS_104._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7"]
-                                  <-Map 14 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_104]
+                                  Merge Join Operator [MERGEJOIN_143] (rows=766650239 width=88)
+                                    Conds:RS_27._col2=RS_174._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7"]
+                                  <-Map 18 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_174]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_103] (rows=7200 width=107)
+                                      Select Operator [SEL_173] (rows=7200 width=107)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_102] (rows=7200 width=107)
+                                        Filter Operator [FIL_172] (rows=7200 width=107)
                                           predicate:(((hd_dep_count = 2) or (hd_vehicle_count = 1)) and hd_demo_sk is not null)
                                           TableScan [TS_15] (rows=7200 width=107)
                                             default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                                  <-Reducer 10 [SIMPLE_EDGE]
+                                  <-Reducer 12 [SIMPLE_EDGE]
                                     SHUFFLE [RS_27]
                                       PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_82] (rows=696954748 width=88)
-                                        Conds:RS_24._col4=RS_101._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7"]
-                                      <-Map 13 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_101]
+                                      Merge Join Operator [MERGEJOIN_142] (rows=696954748 width=88)
+                                        Conds:RS_24._col4=RS_166._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7"]
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_166]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_100] (rows=852 width=1910)
+                                          Select Operator [SEL_165] (rows=852 width=1910)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_99] (rows=852 width=1910)
+                                            Filter Operator [FIL_164] (rows=852 width=1910)
                                               predicate:((s_city) IN ('Cedar Grove', 'Wildwood', 'Union', 'Salem', 'Highland Park') and s_store_sk is not null)
                                               TableScan [TS_12] (rows=1704 width=1910)
                                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_city"]
-                                      <-Reducer 9 [SIMPLE_EDGE]
+                                      <-Reducer 11 [SIMPLE_EDGE]
                                         SHUFFLE [RS_24]
                                           PartitionCols:_col4
-                                          Merge Join Operator [MERGEJOIN_81] (rows=633595212 width=88)
-                                            Conds:RS_95._col0=RS_98._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                          <-Map 12 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_98]
+                                          Merge Join Operator [MERGEJOIN_141] (rows=633595212 width=88)
+                                            Conds:RS_186._col0=RS_158._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                          <-Map 14 [SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_158]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_97] (rows=18263 width=1119)
+                                              Select Operator [SEL_157] (rows=18263 width=1119)
                                                 Output:["_col0"]
-                                                Filter Operator [FIL_96] (rows=18263 width=1119)
+                                                Filter Operator [FIL_156] (rows=18263 width=1119)
                                                   predicate:((d_dow) IN (6, 0) and (d_year) IN (1998, 1999, 2000) and d_date_sk is not null)
                                                   TableScan [TS_9] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_dow"]
-                                          <-Map 8 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_95]
+                                          <-Map 10 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_186]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_94] (rows=575995635 width=88)
+                                              Select Operator [SEL_185] (rows=575995635 width=88)
                                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                                Filter Operator [FIL_93] (rows=575995635 width=88)
-                                                  predicate:(ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                Filter Operator [FIL_184] (rows=575995635 width=88)
+                                                  predicate:((ss_addr_sk BETWEEN DynamicValue(RS_31_customer_address_ca_address_sk_min) AND DynamicValue(RS_31_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_31_customer_address_ca_address_sk_bloom_filter))) and (ss_customer_sk BETWEEN DynamicValue(RS_41_customer_c_customer_sk_min) AND DynamicValue(RS_41_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_41_customer_c_customer_sk_bloom_filter))) and (ss_hdemo_sk BETWEEN DynamicValue(RS_28_household_demographics_hd_demo_sk_min) AND DynamicValue(RS_28_household_demographics_hd_demo_sk_max) and in_bloom_filter(ss_hdemo_sk, DynamicValue(RS_28_household_demographics_hd_demo_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_22_date_dim_d_date_sk_min) AND DynamicValue(RS_22_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_22_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN Dy
 namicValue(RS_25_store_s_store_sk_min) AND DynamicValue(RS_25_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_25_store_s_store_sk_bloom_filter))) and ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                                   TableScan [TS_6] (rows=575995635 width=88)
                                                     default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_ticket_number","ss_coupon_amt","ss_net_profit"]
+                                                  <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_163]
+                                                      Group By Operator [GBY_162] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                      <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_161]
+                                                          Group By Operator [GBY_160] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                            Select Operator [SEL_159] (rows=18263 width=1119)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_157]
+                                                  <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_171]
+                                                      Group By Operator [GBY_170] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                      <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_169]
+                                                          Group By Operator [GBY_168] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                            Select Operator [SEL_167] (rows=852 width=1910)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_165]
+                                                  <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_179]
+                                                      Group By Operator [GBY_178] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                      <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_177]
+                                                          Group By Operator [GBY_176] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                            Select Operator [SEL_175] (rows=7200 width=107)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_173]
+                                                  <-Reducer 5 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_183]
+                                                      Group By Operator [GBY_182] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=88000000)"]
+                                                      <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                        PARTITION_ONLY_SHUFFLE [RS_117]
+                                                          Group By Operator [GBY_116] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=88000000)"]
+                                                            Select Operator [SEL_115] (rows=88000001 width=860)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Merge Join Operator [MERGEJOIN_140]
+                                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_181]
+                                                      Group By Operator [GBY_180] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_155]
+                                                          Group By Operator [GBY_154] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                                            Select Operator [SEL_153] (rows=40000000 width=1014)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_150]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query47.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query47.q.out b/ql/src/test/results/clientpositive/perf/tez/query47.q.out
index 2989fce..d034ea9 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query47.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query47.q.out
@@ -101,11 +101,15 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 3 <- Map 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 11 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
@@ -117,16 +121,16 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 8 vectorized
-      File Output Operator [FS_215]
-        Limit [LIM_214] (rows=100 width=88)
+      File Output Operator [FS_320]
+        Limit [LIM_319] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_213] (rows=843315280 width=88)
+          Select Operator [SEL_318] (rows=843315280 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 7 [SIMPLE_EDGE]
             SHUFFLE [RS_108]
               Select Operator [SEL_107] (rows=843315280 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                Merge Join Operator [MERGEJOIN_189] (rows=843315280 width=88)
+                Merge Join Operator [MERGEJOIN_279] (rows=843315280 width=88)
                   Conds:RS_103._col0, _col1, _col2, _col3, (_col5 + 1)=RS_104._col0, _col1, _col2, _col3, _col8(Inner),RS_104._col0, _col1, _col2, _col3, _col8=RS_105._col0, _col1, _col2, _col3, (_col5 - 1)(Inner),Output:["_col4","_col6","_col10","_col11","_col12","_col13","_col19"]
                 <-Reducer 11 [SIMPLE_EDGE]
                   SHUFFLE [RS_104]
@@ -144,72 +148,105 @@ Stage-0
                               Select Operator [SEL_64] (rows=383325119 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                               <-Reducer 10 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_211]
+                                SHUFFLE [RS_316]
                                   PartitionCols:_col3, _col2, _col4, _col5
-                                  Select Operator [SEL_210] (rows=383325119 width=88)
+                                  Select Operator [SEL_315] (rows=383325119 width=88)
                                     Output:["avg_window_0","_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                    PTF Operator [PTF_209] (rows=383325119 width=88)
+                                    PTF Operator [PTF_314] (rows=383325119 width=88)
                                       Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST, _col2 ASC NULLS FIRST, _col4 ASC NULLS FIRST, _col5 ASC NULLS FIRST, _col0 ASC NULLS FIRST","partition by:":"_col3, _col2, _col4, _col5, _col0"}]
-                                      Select Operator [SEL_208] (rows=383325119 width=88)
+                                      Select Operator [SEL_313] (rows=383325119 width=88)
                                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                                       <-Reducer 5 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_205]
+                                        SHUFFLE [RS_310]
                                           PartitionCols:_col3, _col2, _col4, _col5, _col0
-                                          Group By Operator [GBY_202] (rows=383325119 width=88)
+                                          Group By Operator [GBY_307] (rows=383325119 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
                                           <-Reducer 4 [SIMPLE_EDGE]
                                             SHUFFLE [RS_93]
                                               PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
                                               Group By Operator [GBY_92] (rows=766650239 width=88)
                                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col3)"],keys:_col5, _col6, _col8, _col9, _col11, _col12
-                                                Merge Join Operator [MERGEJOIN_188] (rows=766650239 width=88)
-                                                  Conds:RS_88._col2=RS_201._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col9","_col11","_col12"]
-                                                <-Map 14 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_201]
+                                                Merge Join Operator [MERGEJOIN_278] (rows=766650239 width=88)
+                                                  Conds:RS_88._col2=RS_298._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col9","_col11","_col12"]
+                                                <-Map 16 [SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_298]
                                                     PartitionCols:_col0
-                                                    Select Operator [SEL_200] (rows=1704 width=1910)
+                                                    Select Operator [SEL_297] (rows=1704 width=1910)
                                                       Output:["_col0","_col1","_col2"]
-                                                      Filter Operator [FIL_199] (rows=1704 width=1910)
+                                                      Filter Operator [FIL_296] (rows=1704 width=1910)
                                                         predicate:(s_company_name is not null and s_store_name is not null and s_store_sk is not null)
                                                         TableScan [TS_79] (rows=1704 width=1910)
                                                           default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_company_name"]
                                                 <-Reducer 3 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_88]
                                                     PartitionCols:_col2
-                                                    Merge Join Operator [MERGEJOIN_187] (rows=696954748 width=88)
-                                                      Conds:RS_85._col1=RS_198._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9"]
-                                                    <-Map 13 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_198]
+                                                    Merge Join Operator [MERGEJOIN_277] (rows=696954748 width=88)
+                                                      Conds:RS_85._col1=RS_290._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9"]
+                                                    <-Map 14 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_290]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_197] (rows=462000 width=1436)
+                                                        Select Operator [SEL_289] (rows=462000 width=1436)
                                                           Output:["_col0","_col1","_col2"]
-                                                          Filter Operator [FIL_196] (rows=462000 width=1436)
+                                                          Filter Operator [FIL_288] (rows=462000 width=1436)
                                                             predicate:(i_brand is not null and i_category is not null and i_item_sk is not null)
                                                             TableScan [TS_76] (rows=462000 width=1436)
                                                               default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_category"]
                                                     <-Reducer 2 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_85]
                                                         PartitionCols:_col1
-                                                        Merge Join Operator [MERGEJOIN_186] (rows=633595212 width=88)
-                                                          Conds:RS_192._col0=RS_195._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
-                                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_192]
-                                                            PartitionCols:_col0
-                                                            Select Operator [SEL_191] (rows=575995635 width=88)
-                                                              Output:["_col0","_col1","_col2","_col3"]
-                                                              Filter Operator [FIL_190] (rows=575995635 width=88)
-                                                                predicate:(ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                                                TableScan [TS_70] (rows=575995635 width=88)
-                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                                        Merge Join Operator [MERGEJOIN_276] (rows=633595212 width=88)
+                                                          Conds:RS_306._col0=RS_282._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
                                                         <-Map 12 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_195]
+                                                          SHUFFLE [RS_282]
                                                             PartitionCols:_col0
-                                                            Select Operator [SEL_194] (rows=73048 width=1119)
+                                                            Select Operator [SEL_281] (rows=73048 width=1119)
                                                               Output:["_col0","_col1","_col2"]
-                                                              Filter Operator [FIL_193] (rows=73048 width=1119)
+                                                              Filter Operator [FIL_280] (rows=73048 width=1119)
                                                                 predicate:(((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null)
                                                                 TableScan [TS_73] (rows=73049 width=1119)
                                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                                                        <-Map 1 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_306]
+                                                            PartitionCols:_col0
+                                                            Select Operator [SEL_305] (rows=575995635 width=88)
+                                                              Output:["_col0","_col1","_col2","_col3"]
+                                                              Filter Operator [FIL_304] (rows=575995635 width=88)
+                                                                predicate:((ss_item_sk BETWEEN DynamicValue(RS_86_item_i_item_sk_min) AND DynamicValue(RS_86_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_86_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_83_date_dim_d_date_sk_min) AND DynamicValue(RS_83_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_83_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_89_store_s_store_sk_min) AND DynamicValue(RS_89_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_89_store_s_store_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                                TableScan [TS_70] (rows=575995635 width=88)
+                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                                                <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_287]
+                                                                    Group By Operator [GBY_286] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                    <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_285]
+                                                                        Group By Operator [GBY_284] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_283] (rows=73048 width=1119)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_281]
+                                                                <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_295]
+                                                                    Group By Operator [GBY_294] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                    <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_293]
+                                                                        Group By Operator [GBY_292] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_291] (rows=462000 width=1436)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_289]
+                                                                <-Reducer 17 [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 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_301]
+                                                                        Group By Operator [GBY_300] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_299] (rows=1704 width=1910)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_297]
                 <-Reducer 6 [SIMPLE_EDGE]
                   SHUFFLE [RS_105]
                     PartitionCols:_col0, _col1, _col2, _col3, (_col5 - 1)
@@ -222,9 +259,9 @@ Stage-0
                           Select Operator [SEL_97] (rows=383325119 width=88)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                           <-Reducer 5 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_203]
+                            SHUFFLE [RS_308]
                               PartitionCols:_col3, _col2, _col4, _col5
-                               Please refer to the previous Group By Operator [GBY_202]
+                               Please refer to the previous Group By Operator [GBY_307]
                 <-Reducer 9 [SIMPLE_EDGE]
                   SHUFFLE [RS_103]
                     PartitionCols:_col0, _col1, _col2, _col3, (_col5 + 1)
@@ -237,7 +274,7 @@ Stage-0
                           Select Operator [SEL_27] (rows=383325119 width=88)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                           <-Reducer 5 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_204]
+                            SHUFFLE [RS_309]
                               PartitionCols:_col3, _col2, _col4, _col5
-                               Please refer to the previous Group By Operator [GBY_202]
+                               Please refer to the previous Group By Operator [GBY_307]
 


[54/58] [abbrv] hive git commit: HIVE-19964: Apply resource plan fails if trigger expression has quotes (Sergey Shelukhin reviewed by Prasanth Jayachandran)

Posted by se...@apache.org.
HIVE-19964: Apply resource plan fails if trigger expression has quotes (Sergey Shelukhin reviewed by Prasanth Jayachandran)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/1a2e378f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/1a2e378f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/1a2e378f

Branch: refs/heads/master-txnstats
Commit: 1a2e378f36a1a02d68ff1647f856f1e223276da0
Parents: 1f2419d
Author: Prasanth Jayachandran <pr...@apache.org>
Authored: Mon Jun 25 13:47:45 2018 -0700
Committer: Prasanth Jayachandran <pr...@apache.org>
Committed: Mon Jun 25 13:47:45 2018 -0700

----------------------------------------------------------------------
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |  2 +-
 .../clientpositive/llap/resourceplan.q.out      | 74 ++++++++++----------
 2 files changed, 38 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/1a2e378f/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index 2dea254..f9d6d41 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -1097,7 +1097,7 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
     }
     StringBuilder builder = new StringBuilder();
     for (int i = 0; i < ast.getChildCount(); ++i) {
-      builder.append(stripQuotes(ast.getChild(i).getText()));
+      builder.append(ast.getChild(i).getText()); // Don't strip quotes.
       builder.append(' ');
     }
     builder.deleteCharAt(builder.length() - 1);

http://git-wip-us.apache.org/repos/asf/hive/blob/1a2e378f/ql/src/test/results/clientpositive/llap/resourceplan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index 143b710..3f59343 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -3672,7 +3672,7 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_1	BYTES_READ > 10kb	KILL
+plan_1	trigger_1	BYTES_READ > '10kb'	KILL
 PREHOOK: query: CREATE TRIGGER plan_1.trigger_1 WHEN ELAPSED_TIME > 300 DO KILL
 PREHOOK: type: CREATE TRIGGER
 PREHOOK: Output: dummyHostnameForTest
@@ -3696,8 +3696,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_1	BYTES_READ > 10kb	KILL
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
+plan_1	trigger_1	BYTES_READ > '10kb'	KILL
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
 PREHOOK: query: ALTER TRIGGER plan_1.trigger_1 WHEN BYTES_READ > '1min' DO KILL
 PREHOOK: type: ALTER TRIGGER
 PREHOOK: Output: dummyHostnameForTest
@@ -3711,8 +3711,8 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_1	BYTES_READ > 1min	KILL
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
+plan_1	trigger_1	BYTES_READ > '1min'	KILL
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
 PREHOOK: query: DROP TRIGGER plan_1.trigger_1
 PREHOOK: type: DROP TRIGGER
 PREHOOK: Output: dummyHostnameForTest
@@ -3726,7 +3726,7 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
 PREHOOK: query: CREATE TRIGGER plan_2.trigger_1 WHEN BYTES_READ > '100mb' DO MOVE TO null_pool
 PREHOOK: type: CREATE TRIGGER
 PREHOOK: Output: dummyHostnameForTest
@@ -3764,12 +3764,12 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
-table	database	BYTES_WRITTEN > 1GB	MOVE TO default
-table	table	BYTES_WRITTEN > 100KB	MOVE TO table
-table	trigger	BYTES_WRITTEN > 100MB	MOVE TO default
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
+table	database	BYTES_WRITTEN > "1GB"	MOVE TO default
+table	table	BYTES_WRITTEN > '100KB'	MOVE TO table
+table	trigger	BYTES_WRITTEN > '100MB'	MOVE TO default
 table	trigger1	ELAPSED_TIME > 10	KILL
-table	trigger2	ELAPSED_TIME > 1hour	KILL
+table	trigger2	ELAPSED_TIME > '1hour'	KILL
 PREHOOK: query: DROP TRIGGER `table`.`database`
 PREHOOK: type: DROP TRIGGER
 PREHOOK: Output: dummyHostnameForTest
@@ -3783,11 +3783,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
-table	table	BYTES_WRITTEN > 100KB	MOVE TO table
-table	trigger	BYTES_WRITTEN > 100MB	MOVE TO default
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
+table	table	BYTES_WRITTEN > '100KB'	MOVE TO table
+table	trigger	BYTES_WRITTEN > '100MB'	MOVE TO default
 table	trigger1	ELAPSED_TIME > 10	KILL
-table	trigger2	ELAPSED_TIME > 1hour	KILL
+table	trigger2	ELAPSED_TIME > '1hour'	KILL
 PREHOOK: query: ALTER RESOURCE PLAN plan_1 ENABLE
 PREHOOK: type: ALTER RESOURCEPLAN
 PREHOOK: Output: dummyHostnameForTest
@@ -3854,12 +3854,12 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
 plan_2	trigger_1	BYTES_READ > 0	MOVE TO null_pool
-table	table	BYTES_WRITTEN > 100KB	MOVE TO table
-table	trigger	BYTES_WRITTEN > 100MB	MOVE TO default
+table	table	BYTES_WRITTEN > '100KB'	MOVE TO table
+table	trigger	BYTES_WRITTEN > '100MB'	MOVE TO default
 table	trigger1	ELAPSED_TIME > 10	KILL
-table	trigger2	ELAPSED_TIME > 1hour	KILL
+table	trigger2	ELAPSED_TIME > '1hour'	KILL
 PREHOOK: query: CREATE POOL plan_1.default WITH
    ALLOC_FRACTION=1.0, QUERY_PARALLELISM=5, SCHEDULING_POLICY='default'
 PREHOOK: type: CREATE POOL
@@ -4239,18 +4239,18 @@ POSTHOOK: query: SHOW RESOURCE PLAN `table`
 POSTHOOK: type: SHOW RESOURCEPLAN
 table[status=DISABLED,parallelism=1,defaultPool=null]
  +  table[allocFraction=0.0,schedulingPolicy=fifo,parallelism=1]
-     |  trigger table: if (BYTES_WRITTEN > 100KB) { MOVE TO table }
+     |  trigger table: if (BYTES_WRITTEN > '100KB') { MOVE TO table }
      +  pool[allocFraction=0.9,schedulingPolicy=fair,parallelism=3]
          +  child2[allocFraction=0.7,schedulingPolicy=fair,parallelism=3]
              |  trigger trigger1: if (ELAPSED_TIME > 10) { KILL }
-             |  trigger trigger2: if (ELAPSED_TIME > 1hour) { KILL }
+             |  trigger trigger2: if (ELAPSED_TIME > '1hour') { KILL }
          +  child1[allocFraction=0.3,schedulingPolicy=fair,parallelism=1]
-             |  trigger table: if (BYTES_WRITTEN > 100KB) { MOVE TO table }
+             |  trigger table: if (BYTES_WRITTEN > '100KB') { MOVE TO table }
              |  trigger trigger1: if (ELAPSED_TIME > 10) { KILL }
  +  <unmanaged queries>
      |  trigger trigger1: if (ELAPSED_TIME > 10) { KILL }
  +  <unused triggers>
-     |  trigger trigger: if (BYTES_WRITTEN > 100MB) { MOVE TO default }
+     |  trigger trigger: if (BYTES_WRITTEN > '100MB') { MOVE TO default }
 PREHOOK: query: ALTER TRIGGER `table`.`trigger1` DROP FROM POOL `table`.pool.child2
 PREHOOK: type: ALTER POOL
 PREHOOK: Output: dummyHostnameForTest
@@ -4494,11 +4494,11 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
-table	table	BYTES_WRITTEN > 100KB	MOVE TO table
-table	trigger	BYTES_WRITTEN > 100MB	MOVE TO default
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
+table	table	BYTES_WRITTEN > '100KB'	MOVE TO table
+table	trigger	BYTES_WRITTEN > '100MB'	MOVE TO default
 table	trigger1	ELAPSED_TIME > 10	KILL
-table	trigger2	ELAPSED_TIME > 1hour	KILL
+table	trigger2	ELAPSED_TIME > '1hour'	KILL
 PREHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS
 PREHOOK: type: QUERY
 PREHOOK: Input: sys@wm_pools_to_triggers
@@ -4596,15 +4596,15 @@ POSTHOOK: query: SELECT * FROM SYS.WM_TRIGGERS
 POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@wm_triggers
 #### A masked pattern was here ####
-plan_1	trigger_2	ELAPSED_TIME > 30hour	MOVE TO slow_pool
-plan_4a	trigger_1	BYTES_READ > 10GB	KILL
-plan_4a	trigger_2	BYTES_READ > 11GB	KILL
-plan_4b	trigger_1	BYTES_READ > 10GB	KILL
-plan_4b	trigger_2	BYTES_READ > 11GB	KILL
-table	table	BYTES_WRITTEN > 100KB	MOVE TO table
-table	trigger	BYTES_WRITTEN > 100MB	MOVE TO default
+plan_1	trigger_2	ELAPSED_TIME > '30hour'	MOVE TO slow_pool
+plan_4a	trigger_1	BYTES_READ > '10GB'	KILL
+plan_4a	trigger_2	BYTES_READ > '11GB'	KILL
+plan_4b	trigger_1	BYTES_READ > '10GB'	KILL
+plan_4b	trigger_2	BYTES_READ > '11GB'	KILL
+table	table	BYTES_WRITTEN > '100KB'	MOVE TO table
+table	trigger	BYTES_WRITTEN > '100MB'	MOVE TO default
 table	trigger1	ELAPSED_TIME > 10	KILL
-table	trigger2	ELAPSED_TIME > 1hour	KILL
+table	trigger2	ELAPSED_TIME > '1hour'	KILL
 PREHOOK: query: SELECT * FROM SYS.WM_POOLS_TO_TRIGGERS
 PREHOOK: type: QUERY
 PREHOOK: Input: sys@wm_pools_to_triggers
@@ -4672,10 +4672,10 @@ plan_4a_old_0[status=DISABLED,parallelism=null,defaultPool=default]
  +  default[allocFraction=1.0,schedulingPolicy=null,parallelism=4]
      |  mapped for default
  +  pool1[allocFraction=0.0,schedulingPolicy=fair,parallelism=2]
-     |  trigger trigger_2: if (BYTES_READ > 11GB) { KILL }
+     |  trigger trigger_2: if (BYTES_READ > '11GB') { KILL }
      |  mapped for users: user1
  +  <unused triggers>
-     |  trigger trigger_1: if (BYTES_READ > 10GB) { KILL }
+     |  trigger trigger_1: if (BYTES_READ > '10GB') { KILL }
 PREHOOK: query: REPLACE ACTIVE RESOURCE PLAN WITH plan_4a
 PREHOOK: type: ALTER RESOURCEPLAN
 PREHOOK: Output: dummyHostnameForTest


[28/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
index 2b9fc34..d4151e8 100644
--- a/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
@@ -200,6 +200,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vectortab_a_1korc
+                  filterExpr: (dt is not null and ts is not null and s is not null) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 266280 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -266,6 +267,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: vectortab_b_1korc
+                  filterExpr: (dt is not null and ts is not null and s is not null) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 266280 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_join30.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_join30.q.out b/ql/src/test/results/clientpositive/llap/vector_join30.q.out
index 5187574..4b2f06f 100644
--- a/ql/src/test/results/clientpositive/llap/vector_join30.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_join30.q.out
@@ -47,6 +47,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orcsrc_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -89,6 +90,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orcsrc_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -623,6 +625,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orcsrc_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -665,6 +668,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orcsrc_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 175168 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -738,6 +742,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orcsrc_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 87584 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_leftsemi_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_leftsemi_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_leftsemi_mapjoin.q.out
index d739408..9c51b32 100644
--- a/ql/src/test/results/clientpositive/llap/vector_leftsemi_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_leftsemi_mapjoin.q.out
@@ -866,6 +866,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -890,6 +891,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -974,6 +976,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -998,6 +1001,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1084,6 +1088,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1108,6 +1113,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1186,6 +1192,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1214,6 +1221,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 15) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key < 15) (type: boolean)
@@ -1303,6 +1311,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1327,6 +1336,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value < 'val_10') and key is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((value < 'val_10') and key is not null) (type: boolean)
@@ -1408,6 +1418,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t3_n35
+                  filterExpr: (key > 5) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key > 5) (type: boolean)
@@ -1432,6 +1443,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1517,6 +1529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n87
+                  filterExpr: ((key > 5) and (value <= 'val_20')) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((key > 5) and (value <= 'val_20')) (type: boolean)
@@ -1541,6 +1554,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1623,6 +1637,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n148
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key > 2) (type: boolean)
@@ -1647,6 +1662,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1730,6 +1746,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1754,6 +1771,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1851,6 +1869,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1875,6 +1894,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (2 * key) is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (2 * key) is not null (type: boolean)
@@ -1957,6 +1977,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1989,6 +2010,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2005,6 +2027,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2099,6 +2122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2123,6 +2147,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2215,6 +2240,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2242,6 +2268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2266,6 +2293,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3102,6 +3130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3136,6 +3165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3262,6 +3292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > 100) and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((key > 100) and value is not null) (type: boolean)
@@ -3293,6 +3324,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2024 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: value is not null (type: boolean)
@@ -5929,6 +5961,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -5988,6 +6021,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6131,6 +6165,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6190,6 +6225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6335,6 +6371,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6394,6 +6431,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6531,6 +6569,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6598,6 +6637,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 15) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6746,6 +6786,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6805,6 +6846,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value < 'val_10') and key is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -6945,6 +6987,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t3_n35
+                  filterExpr: (key > 5) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7008,6 +7051,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7152,6 +7196,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n87
+                  filterExpr: ((key > 5) and (value <= 'val_20')) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7215,6 +7260,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7356,6 +7402,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n148
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7419,6 +7466,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7557,6 +7605,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7616,6 +7665,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7772,6 +7822,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7831,6 +7882,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (2 * key) is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -7973,6 +8025,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8044,6 +8097,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8088,6 +8142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8241,6 +8296,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8300,6 +8356,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8451,6 +8508,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8513,6 +8571,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -8576,6 +8635,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -9993,6 +10053,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10069,6 +10130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10278,6 +10340,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > 100) and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10345,6 +10408,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2024 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10448,6 +10512,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10508,6 +10573,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10651,6 +10717,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10711,6 +10778,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10856,6 +10924,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -10916,6 +10985,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11053,6 +11123,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11121,6 +11192,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 15) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11269,6 +11341,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11329,6 +11402,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value < 'val_10') and key is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11469,6 +11543,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t3_n35
+                  filterExpr: (key > 5) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11532,6 +11607,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11677,6 +11753,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n87
+                  filterExpr: ((key > 5) and (value <= 'val_20')) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11740,6 +11817,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11882,6 +11960,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n148
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -11945,6 +12024,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12084,6 +12164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12144,6 +12225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12300,6 +12382,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12360,6 +12443,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (2 * key) is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12502,6 +12586,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12573,6 +12658,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12617,6 +12703,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12770,6 +12857,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12830,6 +12918,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -12981,6 +13070,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -13043,6 +13133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -13106,6 +13197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -14523,6 +14615,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -14601,6 +14694,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -14810,6 +14904,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > 100) and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -14878,6 +14973,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2024 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -14981,6 +15077,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15041,6 +15138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15184,6 +15282,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15244,6 +15343,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15389,6 +15489,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15449,6 +15550,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15586,6 +15688,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15654,6 +15757,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key < 15) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15802,6 +15906,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -15862,6 +15967,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: ((value < 'val_10') and key is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16002,6 +16108,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t3_n35
+                  filterExpr: (key > 5) (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16065,6 +16172,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16210,6 +16318,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n87
+                  filterExpr: ((key > 5) and (value <= 'val_20')) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16273,6 +16382,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16415,6 +16525,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n148
+                  filterExpr: (key > 2) (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16478,6 +16589,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16617,6 +16729,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16677,6 +16790,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16833,6 +16947,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -16893,6 +17008,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (2 * key) is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17035,6 +17151,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17106,6 +17223,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17150,6 +17268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17303,6 +17422,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17363,6 +17483,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 11 Data size: 2068 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17514,6 +17635,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 88 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17576,6 +17698,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -17639,6 +17762,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -19056,6 +19180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -19134,6 +19259,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -19343,6 +19469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ((key > 100) and value is not null) (type: boolean)
                   Statistics: Num rows: 22 Data size: 4136 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -19411,6 +19538,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 11 Data size: 2024 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_llap_text_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_llap_text_1.q.out b/ql/src/test/results/clientpositive/llap/vector_llap_text_1.q.out
index abddf5a..79d7746 100644
--- a/ql/src/test/results/clientpositive/llap/vector_llap_text_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_llap_text_1.q.out
@@ -141,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -195,6 +196,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out b/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out
index e0c7dfa..c31b759 100644
--- a/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 400 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: li
+                  filterExpr: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: ((l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 9200 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -299,6 +302,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: l_partkey is not null (type: boolean)
                   Statistics: Num rows: 100 Data size: 400 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -345,6 +349,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: li
+                  filterExpr: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -389,6 +394,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: lineitem
+                  filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean)
                   Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_mr_diff_schema_alias.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_mr_diff_schema_alias.q.out b/ql/src/test/results/clientpositive/llap/vector_mr_diff_schema_alias.q.out
index 8d2ce82..fee5a5f 100644
--- a/ql/src/test/results/clientpositive/llap/vector_mr_diff_schema_alias.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_mr_diff_schema_alias.q.out
@@ -255,6 +255,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales_n2
+                  filterExpr: (ss_store_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -282,6 +283,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim_n0
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)
@@ -310,6 +312,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_n2
+                  filterExpr: ((s_state) IN ('KS', 'AL', 'MN', 'SC', 'VT') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_state) IN ('KS', 'AL', 'MN', 'SC', 'VT') and s_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_nullsafe_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_nullsafe_join.q.out b/ql/src/test/results/clientpositive/llap/vector_nullsafe_join.q.out
index 8a05290..473514f 100644
--- a/ql/src/test/results/clientpositive/llap/vector_nullsafe_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_nullsafe_join.q.out
@@ -178,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -241,6 +242,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -276,6 +278,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -525,6 +528,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -589,6 +593,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -623,6 +628,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1071,6 +1077,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1134,6 +1141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1169,6 +1177,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1418,6 +1427,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1482,6 +1492,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1516,6 +1527,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: value is not null (type: boolean)
                   Statistics: Num rows: 6 Data size: 48 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_nvl.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_nvl.q.out b/ql/src/test/results/clientpositive/llap/vector_nvl.q.out
index 13ebb17..bb3966e 100644
--- a/ql/src/test/results/clientpositive/llap/vector_nvl.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_nvl.q.out
@@ -25,6 +25,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: cdouble is null (type: boolean)
                   Statistics: Num rows: 12288 Data size: 73400 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out b/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
index 797d994..7bc7fb2 100644
--- a/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
@@ -571,6 +571,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: nested_tbl_1
+                  filterExpr: (s1.f1 = false) (type: boolean)
                   Pruned Column Paths: s1.f2, s1.f1
                   Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
@@ -651,6 +652,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: nested_tbl_1
+                  filterExpr: (s1.f3.f4 = 4) (type: boolean)
                   Pruned Column Paths: s1.f3.f5, s1.f3.f4
                   Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
@@ -731,6 +733,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: nested_tbl_1
+                  filterExpr: ((s1.f2 = 'foo') and (size(s2.f8.f10) > 1) and s2.f8.f11['key1']) (type: boolean)
                   Pruned Column Paths: s1.f2, s2.f8
                   Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
@@ -1381,6 +1384,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: s1.f3.f4 is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1425,6 +1429,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1543,6 +1548,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: s1.f3.f4 is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1587,6 +1593,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (s2.f8.f9 and s1.f6 is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s1.f6 is not null and s2.f8.f9) (type: boolean)
@@ -1683,6 +1690,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: s1.f3.f4 is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -1728,6 +1736,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: (s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null) (type: boolean)
                   Pruned Column Paths: s1.f6, s2.f8.f9
                   Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
@@ -1991,6 +2000,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1
+                  filterExpr: s1.f3.f4 is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true
@@ -2035,6 +2045,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2
+                  filterExpr: s1.f6 is not null (type: boolean)
                   Pruned Column Paths: s1.f6
                   Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_outer_reference_windowed.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_outer_reference_windowed.q.out b/ql/src/test/results/clientpositive/llap/vector_outer_reference_windowed.q.out
index 2b0a1e7..897c145 100644
--- a/ql/src/test/results/clientpositive/llap/vector_outer_reference_windowed.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_outer_reference_windowed.q.out
@@ -721,6 +721,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_01_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -773,6 +774,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_03_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 448 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1028,6 +1030,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_01_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 448 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1079,6 +1082,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_03_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1334,6 +1338,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_01_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1386,6 +1391,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_03_n0
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2013,6 +2019,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_01_small
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2065,6 +2072,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_03_small
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 448 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2320,6 +2328,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_01_small
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 448 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2371,6 +2380,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_03_small
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2626,6 +2636,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_01_small
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2678,6 +2689,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: e011_03_small
+                  filterExpr: c1 is not null (type: boolean)
                   Statistics: Num rows: 4 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_decimal.q.out b/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_decimal.q.out
index b241f30..983c71d 100644
--- a/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_decimal.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_decimal.q.out
@@ -49,6 +49,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: decimal_test_n2
+                  filterExpr: (cdecimal1 is not null and cdecimal2 is not null) (type: boolean)
                   Statistics: Num rows: 6102 Data size: 1368328 Basic stats: COMPLETE Column stats: NONE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_duplicate_cols.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_duplicate_cols.q.out b/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_duplicate_cols.q.out
index bda96da..038300e 100644
--- a/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_duplicate_cols.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_reduce_groupby_duplicate_cols.q.out
@@ -71,6 +71,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (one is not null and two is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out b/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out
index c95d08a..fc269b2 100644
--- a/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out
@@ -92,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint = 762L) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cstring1 = 'a') or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -299,6 +300,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: alltypesorc
+                  filterExpr: ((cbigint = 762L) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cstring1 = 'a') or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_string_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_string_decimal.q.out b/ql/src/test/results/clientpositive/llap/vector_string_decimal.q.out
index ff84fe8..54d9914 100644
--- a/ql/src/test/results/clientpositive/llap/vector_string_decimal.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_string_decimal.q.out
@@ -63,6 +63,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: orc_decimal
+                  filterExpr: (UDFToDouble(id)) IN (1.0E8D, 2.0E8D) (type: boolean)
                   Statistics: Num rows: 4 Data size: 448 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_struct_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_struct_in.q.out b/ql/src/test/results/clientpositive/llap/vector_struct_in.q.out
index 671d020..3756a2f 100644
--- a/ql/src/test/results/clientpositive/llap/vector_struct_in.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_struct_in.q.out
@@ -61,6 +61,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_1_n1
+                  filterExpr: (struct(id,lineid)) IN (const struct('two','3'), const struct('three','1'), const struct('one','1'), const struct('five','2'), const struct('six','1'), const struct('eight','1'), const struct('seven','1'), const struct('nine','1'), const struct('ten','1')) (type: boolean)
                   Statistics: Num rows: 2 Data size: 346 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -319,6 +320,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_2_n1
+                  filterExpr: (struct(id,lineid)) IN (const struct(2,3), const struct(3,1), const struct(1,1), const struct(5,2), const struct(6,1), const struct(8,1), const struct(7,1), const struct(9,1), const struct(10,1)) (type: boolean)
                   Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -577,6 +579,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_3
+                  filterExpr: (struct(id,lineid)) IN (const struct('two',3), const struct('three',1), const struct('one',1), const struct('five',2), const struct('six',1), const struct('eight',1), const struct('seven',1), const struct('nine',1), const struct('ten',1)) (type: boolean)
                   Statistics: Num rows: 2 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -838,6 +841,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_4
+                  filterExpr: (struct(my_bigint,my_string,my_double)) IN (const struct(1L,'a',1.5D), const struct(1L,'b',-0.5D), const struct(3L,'b',1.5D), const struct(1L,'d',1.5D), const struct(1L,'c',1.5D), const struct(1L,'b',2.5D), const struct(1L,'b',0.5D), const struct(5L,'b',1.5D), const struct(1L,'a',0.5D), const struct(3L,'b',1.5D)) (type: boolean)
                   Statistics: Num rows: 3 Data size: 303 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_udf2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_udf2.q.out b/ql/src/test/results/clientpositive/llap/vector_udf2.q.out
index 58c60d1..a33c6be 100644
--- a/ql/src/test/results/clientpositive/llap/vector_udf2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_udf2.q.out
@@ -178,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: hive_14349
+                  filterExpr: (a like 'XYZ%a%') (type: boolean)
                   Statistics: Num rows: 2 Data size: 180 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -265,6 +266,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: hive_14349
+                  filterExpr: (a like 'XYZ%a_') (type: boolean)
                   Statistics: Num rows: 6 Data size: 552 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out b/ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
index 90a0869..7270d75 100644
--- a/ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
@@ -149,6 +149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)
@@ -187,6 +188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)
@@ -275,6 +277,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)
@@ -304,6 +307,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 324 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)
@@ -403,6 +407,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 294 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)
@@ -432,6 +437,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: c2 is not null (type: boolean)
                   Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c2 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/vector_windowing.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_windowing.q.out b/ql/src/test/results/clientpositive/llap/vector_windowing.q.out
index a5d6167..2d49bca 100644
--- a/ql/src/test/results/clientpositive/llap/vector_windowing.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_windowing.q.out
@@ -421,6 +421,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size > 0) (type: boolean)
                   Statistics: Num rows: 26 Data size: 6006 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -1260,6 +1261,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: p1
+                  filterExpr: p_partkey is not null (type: boolean)
                   Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -2201,6 +2203,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_mfgr = 'Manufacturer#3') (type: boolean)
                   Statistics: Num rows: 26 Data size: 5798 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -6011,6 +6014,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_size > 0) (type: boolean)
                   Statistics: Num rows: 26 Data size: 6006 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -9490,6 +9494,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_mfgr = 'Manufacturer#6') (type: boolean)
                   Statistics: Num rows: 26 Data size: 2652 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -9629,6 +9634,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_mfgr = 'Manufacturer#1') (type: boolean)
                   Statistics: Num rows: 26 Data size: 5902 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true
@@ -9777,6 +9783,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: part
+                  filterExpr: (p_mfgr = 'm1') (type: boolean)
                   Statistics: Num rows: 26 Data size: 2652 Basic stats: COMPLETE Column stats: COMPLETE
                   TableScan Vectorization:
                       native: true


[14/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query23.q.out b/ql/src/test/results/clientpositive/perf/tez/query23.q.out
index 3743000..6725bec 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query23.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query23.q.out
@@ -1,5 +1,5 @@
-Warning: Shuffle Join MERGEJOIN[377][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 22' is a cross product
-Warning: Shuffle Join MERGEJOIN[379][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 25' is a cross product
+Warning: Shuffle Join MERGEJOIN[581][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 27' is a cross product
+Warning: Shuffle Join MERGEJOIN[583][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 35' is a cross product
 PREHOOK: query: explain
 with frequent_ss_items as 
  (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
@@ -105,307 +105,431 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 25 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
-Reducer 13 <- Map 16 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 27 (SIMPLE_EDGE)
-Reducer 19 <- Map 31 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Map 1 <- Reducer 17 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Map 13 <- Reducer 19 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE)
+Map 22 <- Reducer 30 (BROADCAST_EDGE)
+Map 42 <- Reducer 12 (BROADCAST_EDGE)
+Map 43 <- Reducer 37 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 16 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 12 <- Map 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE)
+Reducer 15 <- Map 20 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
+Reducer 17 <- Reducer 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
-Reducer 21 <- Reducer 20 (CUSTOM_SIMPLE_EDGE)
-Reducer 22 <- Reducer 21 (CUSTOM_SIMPLE_EDGE), Reducer 23 (CUSTOM_SIMPLE_EDGE), Reducer 30 (CUSTOM_SIMPLE_EDGE)
-Reducer 23 <- Reducer 20 (CUSTOM_SIMPLE_EDGE)
-Reducer 24 <- Reducer 20 (CUSTOM_SIMPLE_EDGE)
-Reducer 25 <- Reducer 24 (CUSTOM_SIMPLE_EDGE), Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 30 (CUSTOM_SIMPLE_EDGE)
-Reducer 26 <- Reducer 20 (CUSTOM_SIMPLE_EDGE)
-Reducer 29 <- Map 28 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 30 <- Reducer 29 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 22 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 23 <- Map 22 (SIMPLE_EDGE), Map 29 (SIMPLE_EDGE)
+Reducer 24 <- Map 41 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
+Reducer 25 <- Reducer 24 (SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 28 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Reducer 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 29 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE)
+Reducer 32 <- Map 41 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE)
+Reducer 33 <- Reducer 32 (SIMPLE_EDGE)
+Reducer 34 <- Reducer 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 35 <- Reducer 34 (CUSTOM_SIMPLE_EDGE), Reducer 36 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE)
+Reducer 36 <- Reducer 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 37 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 39 <- Map 38 (SIMPLE_EDGE), Map 41 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 27 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 40 <- Reducer 39 (SIMPLE_EDGE)
 Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE)
-Reducer 8 <- Map 32 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 14 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 42 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_453]
-        Limit [LIM_452] (rows=1 width=112)
+      File Output Operator [FS_684]
+        Limit [LIM_683] (rows=1 width=112)
           Number of rows:100
-          Group By Operator [GBY_451] (rows=1 width=112)
+          Group By Operator [GBY_682] (rows=1 width=112)
             Output:["_col0"],aggregations:["sum(VALUE._col0)"]
           <-Union 5 [CUSTOM_SIMPLE_EDGE]
-            <-Reducer 10 [CONTAINS]
-              Reduce Output Operator [RS_390]
-                Group By Operator [GBY_389] (rows=1 width=112)
+            <-Reducer 11 [CONTAINS]
+              Reduce Output Operator [RS_594]
+                Group By Operator [GBY_593] (rows=1 width=112)
                   Output:["_col0"],aggregations:["sum(_col0)"]
-                  Select Operator [SEL_387] (rows=191667562 width=135)
+                  Select Operator [SEL_591] (rows=191667562 width=135)
                     Output:["_col0"]
-                    Merge Join Operator [MERGEJOIN_386] (rows=191667562 width=135)
+                    Merge Join Operator [MERGEJOIN_590] (rows=191667562 width=135)
                       Conds:RS_244._col2=RS_245._col0(Inner),Output:["_col3","_col4"]
-                    <-Reducer 25 [SIMPLE_EDGE]
+                    <-Reducer 10 [SIMPLE_EDGE]
+                      SHUFFLE [RS_244]
+                        PartitionCols:_col2
+                        Merge Join Operator [MERGEJOIN_580] (rows=174243235 width=135)
+                          Conds:RS_241._col1=RS_633._col0(Inner),Output:["_col2","_col3","_col4"]
+                        <-Reducer 16 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_633]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_630] (rows=58079562 width=88)
+                              Output:["_col0"],keys:_col1
+                              Select Operator [SEL_629] (rows=116159124 width=88)
+                                Output:["_col1"]
+                                Filter Operator [FIL_628] (rows=116159124 width=88)
+                                  predicate:(_col3 > 4L)
+                                  Select Operator [SEL_627] (rows=348477374 width=88)
+                                    Output:["_col0","_col3"]
+                                    Group By Operator [GBY_626] (rows=348477374 width=88)
+                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
+                                    <-Reducer 15 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_24]
+                                        PartitionCols:_col0
+                                        Group By Operator [GBY_23] (rows=696954748 width=88)
+                                          Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
+                                          Select Operator [SEL_21] (rows=696954748 width=88)
+                                            Output:["_col0","_col1","_col2"]
+                                            Merge Join Operator [MERGEJOIN_565] (rows=696954748 width=88)
+                                              Conds:RS_18._col1=RS_617._col0(Inner),Output:["_col3","_col5","_col6"]
+                                            <-Map 20 [SIMPLE_EDGE] vectorized
+                                              PARTITION_ONLY_SHUFFLE [RS_617]
+                                                PartitionCols:_col0
+                                                Select Operator [SEL_616] (rows=462000 width=1436)
+                                                  Output:["_col0","_col1"]
+                                                  Filter Operator [FIL_615] (rows=462000 width=1436)
+                                                    predicate:i_item_sk is not null
+                                                    TableScan [TS_12] (rows=462000 width=1436)
+                                                      default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_desc"]
+                                            <-Reducer 14 [SIMPLE_EDGE]
+                                              SHUFFLE [RS_18]
+                                                PartitionCols:_col1
+                                                Merge Join Operator [MERGEJOIN_564] (rows=633595212 width=88)
+                                                  Conds:RS_625._col0=RS_609._col0(Inner),Output:["_col1","_col3"]
+                                                <-Map 18 [SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_609]
+                                                    PartitionCols:_col0
+                                                    Select Operator [SEL_608] (rows=36525 width=1119)
+                                                      Output:["_col0","_col1"]
+                                                      Filter Operator [FIL_607] (rows=36525 width=1119)
+                                                        predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
+                                                        TableScan [TS_9] (rows=73049 width=1119)
+                                                          default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_year"]
+                                                <-Map 13 [SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_625]
+                                                    PartitionCols:_col0
+                                                    Select Operator [SEL_624] (rows=575995635 width=88)
+                                                      Output:["_col0","_col1"]
+                                                      Filter Operator [FIL_623] (rows=575995635 width=88)
+                                                        predicate:((ss_item_sk BETWEEN DynamicValue(RS_19_item_i_item_sk_min) AND DynamicValue(RS_19_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                                        TableScan [TS_6] (rows=575995635 width=88)
+                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk"]
+                                                        <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_614]
+                                                            Group By Operator [GBY_613] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                            <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              PARTITION_ONLY_SHUFFLE [RS_612]
+                                                                Group By Operator [GBY_611] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                  Select Operator [SEL_610] (rows=36525 width=1119)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_608]
+                                                        <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                          BROADCAST [RS_622]
+                                                            Group By Operator [GBY_621] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                            <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                              PARTITION_ONLY_SHUFFLE [RS_620]
+                                                                Group By Operator [GBY_619] (rows=1 width=12)
+                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                  Select Operator [SEL_618] (rows=462000 width=1436)
+                                                                    Output:["_col0"]
+                                                                     Please refer to the previous Select Operator [SEL_616]
+                        <-Reducer 9 [SIMPLE_EDGE]
+                          SHUFFLE [RS_241]
+                            PartitionCols:_col1
+                            Merge Join Operator [MERGEJOIN_571] (rows=158402938 width=135)
+                              Conds:RS_689._col0=RS_599._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            <-Map 7 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_599]
+                                PartitionCols:_col0
+                                Select Operator [SEL_596] (rows=18262 width=1119)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_595] (rows=18262 width=1119)
+                                    predicate:((d_moy = 1) and (d_year = 1999) and d_date_sk is not null)
+                                    TableScan [TS_3] (rows=73049 width=1119)
+                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                            <-Map 42 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_689]
+                                PartitionCols:_col0
+                                Select Operator [SEL_688] (rows=144002668 width=135)
+                                  Output:["_col0","_col1","_col2","_col3","_col4"]
+                                  Filter Operator [FIL_687] (rows=144002668 width=135)
+                                    predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_239_date_dim_d_date_sk_min) AND DynamicValue(RS_239_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_239_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                    TableScan [TS_124] (rows=144002668 width=135)
+                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_quantity","ws_list_price"]
+                                    <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_686]
+                                        Group By Operator [GBY_685] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                        <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_604]
+                                            Group By Operator [GBY_602] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_600] (rows=18262 width=1119)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_596]
+                    <-Reducer 35 [SIMPLE_EDGE]
                       SHUFFLE [RS_245]
                         PartitionCols:_col0
                         Select Operator [SEL_237] (rows=105599202 width=433)
                           Output:["_col0"]
                           Filter Operator [FIL_236] (rows=105599202 width=433)
                             predicate:(_col3 > (0.95 * _col1))
-                            Merge Join Operator [MERGEJOIN_379] (rows=316797606 width=433)
+                            Merge Join Operator [MERGEJOIN_583] (rows=316797606 width=433)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
-                            <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_450]
-                                Group By Operator [GBY_448] (rows=316797606 width=88)
+                            <-Reducer 40 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_681]
+                                Group By Operator [GBY_679] (rows=316797606 width=88)
                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                <-Reducer 29 [SIMPLE_EDGE]
+                                <-Reducer 39 [SIMPLE_EDGE]
                                   SHUFFLE [RS_105]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_104] (rows=633595212 width=88)
                                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
                                       Select Operator [SEL_102] (rows=633595212 width=88)
                                         Output:["_col0","_col1"]
-                                        Merge Join Operator [MERGEJOIN_366] (rows=633595212 width=88)
-                                          Conds:RS_447._col0=RS_422._col0(Inner),Output:["_col1","_col2","_col3"]
-                                        <-Map 31 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_422]
+                                        Merge Join Operator [MERGEJOIN_570] (rows=633595212 width=88)
+                                          Conds:RS_678._col0=RS_658._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        <-Map 41 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_658]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_421] (rows=80000000 width=860)
+                                            Select Operator [SEL_657] (rows=80000000 width=860)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_420] (rows=80000000 width=860)
+                                              Filter Operator [FIL_656] (rows=80000000 width=860)
                                                 predicate:c_customer_sk is not null
                                                 TableScan [TS_96] (rows=80000000 width=860)
                                                   default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
-                                        <-Map 28 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_447]
+                                        <-Map 38 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_678]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_446] (rows=575995635 width=88)
+                                            Select Operator [SEL_677] (rows=575995635 width=88)
                                               Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_445] (rows=575995635 width=88)
+                                              Filter Operator [FIL_676] (rows=575995635 width=88)
                                                 predicate:ss_customer_sk is not null
                                                 TableScan [TS_93] (rows=575995635 width=88)
                                                   default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"]
-                            <-Reducer 24 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_462]
-                                Select Operator [SEL_461] (rows=1 width=120)
-                                  Filter Operator [FIL_460] (rows=1 width=120)
+                            <-Reducer 34 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_707]
+                                Select Operator [SEL_706] (rows=1 width=120)
+                                  Filter Operator [FIL_705] (rows=1 width=120)
                                     predicate:(sq_count_check(_col0) <= 1)
-                                    Group By Operator [GBY_459] (rows=1 width=120)
+                                    Group By Operator [GBY_704] (rows=1 width=120)
                                       Output:["_col0"],aggregations:["count()"]
-                                      Select Operator [SEL_458] (rows=1 width=120)
-                                        Group By Operator [GBY_457] (rows=1 width=120)
+                                      Select Operator [SEL_703] (rows=1 width=120)
+                                        Group By Operator [GBY_702] (rows=1 width=120)
                                           Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                        <-Reducer 20 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          PARTITION_ONLY_SHUFFLE [RS_435]
-                                            Group By Operator [GBY_431] (rows=1 width=120)
+                                        <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_700]
+                                            Group By Operator [GBY_698] (rows=1 width=120)
                                               Output:["_col0"],aggregations:["count(_col0)"]
-                                              Select Operator [SEL_427] (rows=348477374 width=88)
+                                              Select Operator [SEL_696] (rows=348477374 width=88)
                                                 Output:["_col0"]
-                                                Group By Operator [GBY_424] (rows=348477374 width=88)
+                                                Group By Operator [GBY_695] (rows=348477374 width=88)
                                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                                <-Reducer 19 [SIMPLE_EDGE]
-                                                  SHUFFLE [RS_51]
+                                                <-Reducer 32 [SIMPLE_EDGE]
+                                                  SHUFFLE [RS_175]
                                                     PartitionCols:_col0
-                                                    Group By Operator [GBY_50] (rows=696954748 width=88)
+                                                    Group By Operator [GBY_174] (rows=696954748 width=88)
                                                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
-                                                      Select Operator [SEL_48] (rows=696954748 width=88)
+                                                      Select Operator [SEL_172] (rows=696954748 width=88)
                                                         Output:["_col0","_col1"]
-                                                        Merge Join Operator [MERGEJOIN_363] (rows=696954748 width=88)
-                                                          Conds:RS_45._col1=RS_423._col0(Inner),Output:["_col2","_col3","_col6"]
-                                                        <-Map 31 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_423]
+                                                        Merge Join Operator [MERGEJOIN_575] (rows=696954748 width=88)
+                                                          Conds:RS_169._col1=RS_660._col0(Inner),Output:["_col2","_col3","_col6"]
+                                                        <-Map 41 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_660]
                                                             PartitionCols:_col0
-                                                             Please refer to the previous Select Operator [SEL_421]
-                                                        <-Reducer 18 [SIMPLE_EDGE]
-                                                          SHUFFLE [RS_45]
+                                                             Please refer to the previous Select Operator [SEL_657]
+                                                        <-Reducer 31 [SIMPLE_EDGE]
+                                                          SHUFFLE [RS_169]
                                                             PartitionCols:_col1
-                                                            Merge Join Operator [MERGEJOIN_362] (rows=633595212 width=88)
-                                                              Conds:RS_416._col0=RS_419._col0(Inner),Output:["_col1","_col2","_col3"]
-                                                            <-Map 17 [SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_416]
-                                                                PartitionCols:_col0
-                                                                Select Operator [SEL_415] (rows=575995635 width=88)
-                                                                  Output:["_col0","_col1","_col2","_col3"]
-                                                                  Filter Operator [FIL_414] (rows=575995635 width=88)
-                                                                    predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                                                    TableScan [TS_33] (rows=575995635 width=88)
-                                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"]
-                                                            <-Map 27 [SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_419]
+                                                            Merge Join Operator [MERGEJOIN_574] (rows=633595212 width=88)
+                                                              Conds:RS_694._col0=RS_645._col0(Inner),Output:["_col1","_col2","_col3"]
+                                                            <-Map 29 [SIMPLE_EDGE] vectorized
+                                                              PARTITION_ONLY_SHUFFLE [RS_645]
                                                                 PartitionCols:_col0
-                                                                Select Operator [SEL_418] (rows=36525 width=1119)
+                                                                Select Operator [SEL_642] (rows=36525 width=1119)
                                                                   Output:["_col0"]
-                                                                  Filter Operator [FIL_417] (rows=36525 width=1119)
+                                                                  Filter Operator [FIL_641] (rows=36525 width=1119)
                                                                     predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
                                                                     TableScan [TS_36] (rows=73049 width=1119)
                                                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                            <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_464]
-                                Group By Operator [GBY_463] (rows=1 width=224)
+                                                            <-Map 43 [SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_694]
+                                                                PartitionCols:_col0
+                                                                Select Operator [SEL_693] (rows=575995635 width=88)
+                                                                  Output:["_col0","_col1","_col2","_col3"]
+                                                                  Filter Operator [FIL_692] (rows=575995635 width=88)
+                                                                    predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_167_date_dim_d_date_sk_min) AND DynamicValue(RS_167_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_167_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                                    TableScan [TS_157] (rows=575995635 width=88)
+                                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"]
+                                                                    <-Reducer 37 [BROADCAST_EDGE] vectorized
+                                                                      BROADCAST [RS_691]
+                                                                        Group By Operator [GBY_690] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                        <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_650]
+                                                                            Group By Operator [GBY_648] (rows=1 width=12)
+                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                              Select Operator [SEL_646] (rows=36525 width=1119)
+                                                                                Output:["_col0"]
+                                                                                 Please refer to the previous Select Operator [SEL_642]
+                            <-Reducer 36 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_709]
+                                Group By Operator [GBY_708] (rows=1 width=224)
                                   Output:["_col0"],aggregations:["max(VALUE._col0)"]
-                                <-Reducer 20 [CUSTOM_SIMPLE_EDGE] vectorized
-                                  PARTITION_ONLY_SHUFFLE [RS_436]
-                                    Group By Operator [GBY_432] (rows=1 width=224)
+                                <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_701]
+                                    Group By Operator [GBY_699] (rows=1 width=224)
                                       Output:["_col0"],aggregations:["max(_col1)"]
-                                      Select Operator [SEL_428] (rows=348477374 width=88)
+                                      Select Operator [SEL_697] (rows=348477374 width=88)
                                         Output:["_col1"]
-                                         Please refer to the previous Group By Operator [GBY_424]
-                    <-Reducer 9 [SIMPLE_EDGE]
-                      SHUFFLE [RS_244]
-                        PartitionCols:_col2
-                        Merge Join Operator [MERGEJOIN_376] (rows=174243235 width=135)
-                          Conds:RS_241._col1=RS_413._col0(Inner),Output:["_col2","_col3","_col4"]
-                        <-Reducer 14 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_413]
-                            PartitionCols:_col0
-                            Group By Operator [GBY_411] (rows=58079562 width=88)
-                              Output:["_col0"],keys:_col1
-                              Select Operator [SEL_410] (rows=116159124 width=88)
-                                Output:["_col1"]
-                                Filter Operator [FIL_409] (rows=116159124 width=88)
-                                  predicate:(_col3 > 4L)
-                                  Select Operator [SEL_408] (rows=348477374 width=88)
-                                    Output:["_col0","_col3"]
-                                    Group By Operator [GBY_407] (rows=348477374 width=88)
-                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                    <-Reducer 13 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_24]
-                                        PartitionCols:_col0
-                                        Group By Operator [GBY_23] (rows=696954748 width=88)
-                                          Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
-                                          Select Operator [SEL_21] (rows=696954748 width=88)
-                                            Output:["_col0","_col1","_col2"]
-                                            Merge Join Operator [MERGEJOIN_361] (rows=696954748 width=88)
-                                              Conds:RS_18._col1=RS_406._col0(Inner),Output:["_col3","_col5","_col6"]
-                                            <-Map 16 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_406]
-                                                PartitionCols:_col0
-                                                Select Operator [SEL_405] (rows=462000 width=1436)
-                                                  Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_404] (rows=462000 width=1436)
-                                                    predicate:i_item_sk is not null
-                                                    TableScan [TS_12] (rows=462000 width=1436)
-                                                      default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_desc"]
-                                            <-Reducer 12 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_18]
-                                                PartitionCols:_col1
-                                                Merge Join Operator [MERGEJOIN_360] (rows=633595212 width=88)
-                                                  Conds:RS_400._col0=RS_403._col0(Inner),Output:["_col1","_col3"]
-                                                <-Map 11 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_400]
-                                                    PartitionCols:_col0
-                                                    Select Operator [SEL_399] (rows=575995635 width=88)
-                                                      Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_398] (rows=575995635 width=88)
-                                                        predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                                        TableScan [TS_6] (rows=575995635 width=88)
-                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk"]
-                                                <-Map 15 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_403]
-                                                    PartitionCols:_col0
-                                                    Select Operator [SEL_402] (rows=36525 width=1119)
-                                                      Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_401] (rows=36525 width=1119)
-                                                        predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
-                                                        TableScan [TS_9] (rows=73049 width=1119)
-                                                          default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_year"]
-                        <-Reducer 8 [SIMPLE_EDGE]
-                          SHUFFLE [RS_241]
-                            PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_367] (rows=158402938 width=135)
-                              Conds:RS_456._col0=RS_397._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                            <-Map 7 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_397]
-                                PartitionCols:_col0
-                                Select Operator [SEL_395] (rows=18262 width=1119)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_394] (rows=18262 width=1119)
-                                    predicate:((d_moy = 1) and (d_year = 1999) and d_date_sk is not null)
-                                    TableScan [TS_3] (rows=73049 width=1119)
-                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                            <-Map 32 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_456]
-                                PartitionCols:_col0
-                                Select Operator [SEL_455] (rows=144002668 width=135)
-                                  Output:["_col0","_col1","_col2","_col3","_col4"]
-                                  Filter Operator [FIL_454] (rows=144002668 width=135)
-                                    predicate:(ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                    TableScan [TS_124] (rows=144002668 width=135)
-                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_quantity","ws_list_price"]
+                                         Please refer to the previous Group By Operator [GBY_695]
             <-Reducer 4 [CONTAINS]
-              Reduce Output Operator [RS_385]
-                Group By Operator [GBY_384] (rows=1 width=112)
+              Reduce Output Operator [RS_589]
+                Group By Operator [GBY_588] (rows=1 width=112)
                   Output:["_col0"],aggregations:["sum(_col0)"]
-                  Select Operator [SEL_382] (rows=383314495 width=135)
+                  Select Operator [SEL_586] (rows=383314495 width=135)
                     Output:["_col0"]
-                    Merge Join Operator [MERGEJOIN_381] (rows=383314495 width=135)
+                    Merge Join Operator [MERGEJOIN_585] (rows=383314495 width=135)
                       Conds:RS_120._col1=RS_121._col0(Inner),Output:["_col3","_col4"]
-                    <-Reducer 22 [SIMPLE_EDGE]
+                    <-Reducer 27 [SIMPLE_EDGE]
                       SHUFFLE [RS_121]
                         PartitionCols:_col0
                         Select Operator [SEL_113] (rows=105599202 width=433)
                           Output:["_col0"]
                           Filter Operator [FIL_112] (rows=105599202 width=433)
                             predicate:(_col3 > (0.95 * _col1))
-                            Merge Join Operator [MERGEJOIN_377] (rows=316797606 width=433)
+                            Merge Join Operator [MERGEJOIN_581] (rows=316797606 width=433)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
-                            <-Reducer 30 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_449]
-                                 Please refer to the previous Group By Operator [GBY_448]
-                            <-Reducer 21 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_442]
-                                Select Operator [SEL_441] (rows=1 width=120)
-                                  Filter Operator [FIL_440] (rows=1 width=120)
+                            <-Reducer 40 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_680]
+                                 Please refer to the previous Group By Operator [GBY_679]
+                            <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_673]
+                                Select Operator [SEL_672] (rows=1 width=120)
+                                  Filter Operator [FIL_671] (rows=1 width=120)
                                     predicate:(sq_count_check(_col0) <= 1)
-                                    Group By Operator [GBY_439] (rows=1 width=120)
+                                    Group By Operator [GBY_670] (rows=1 width=120)
                                       Output:["_col0"],aggregations:["count()"]
-                                      Select Operator [SEL_438] (rows=1 width=120)
-                                        Group By Operator [GBY_437] (rows=1 width=120)
+                                      Select Operator [SEL_669] (rows=1 width=120)
+                                        Group By Operator [GBY_668] (rows=1 width=120)
                                           Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                        <-Reducer 20 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          PARTITION_ONLY_SHUFFLE [RS_433]
-                                            Group By Operator [GBY_429] (rows=1 width=120)
+                                        <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_666]
+                                            Group By Operator [GBY_664] (rows=1 width=120)
                                               Output:["_col0"],aggregations:["count(_col0)"]
-                                              Select Operator [SEL_425] (rows=348477374 width=88)
+                                              Select Operator [SEL_662] (rows=348477374 width=88)
                                                 Output:["_col0"]
-                                                 Please refer to the previous Group By Operator [GBY_424]
-                            <-Reducer 23 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_444]
-                                Group By Operator [GBY_443] (rows=1 width=224)
+                                                Group By Operator [GBY_661] (rows=348477374 width=88)
+                                                  Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                                                <-Reducer 24 [SIMPLE_EDGE]
+                                                  SHUFFLE [RS_51]
+                                                    PartitionCols:_col0
+                                                    Group By Operator [GBY_50] (rows=696954748 width=88)
+                                                      Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
+                                                      Select Operator [SEL_48] (rows=696954748 width=88)
+                                                        Output:["_col0","_col1"]
+                                                        Merge Join Operator [MERGEJOIN_567] (rows=696954748 width=88)
+                                                          Conds:RS_45._col1=RS_659._col0(Inner),Output:["_col2","_col3","_col6"]
+                                                        <-Map 41 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_659]
+                                                            PartitionCols:_col0
+                                                             Please refer to the previous Select Operator [SEL_657]
+                                                        <-Reducer 23 [SIMPLE_EDGE]
+                                                          SHUFFLE [RS_45]
+                                                            PartitionCols:_col1
+                                                            Merge Join Operator [MERGEJOIN_566] (rows=633595212 width=88)
+                                                              Conds:RS_655._col0=RS_643._col0(Inner),Output:["_col1","_col2","_col3"]
+                                                            <-Map 29 [SIMPLE_EDGE] vectorized
+                                                              PARTITION_ONLY_SHUFFLE [RS_643]
+                                                                PartitionCols:_col0
+                                                                 Please refer to the previous Select Operator [SEL_642]
+                                                            <-Map 22 [SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_655]
+                                                                PartitionCols:_col0
+                                                                Select Operator [SEL_654] (rows=575995635 width=88)
+                                                                  Output:["_col0","_col1","_col2","_col3"]
+                                                                  Filter Operator [FIL_653] (rows=575995635 width=88)
+                                                                    predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_43_date_dim_d_date_sk_min) AND DynamicValue(RS_43_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_43_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                                    TableScan [TS_33] (rows=575995635 width=88)
+                                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"]
+                                                                    <-Reducer 30 [BROADCAST_EDGE] vectorized
+                                                                      BROADCAST [RS_652]
+                                                                        Group By Operator [GBY_651] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                        <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_649]
+                                                                            Group By Operator [GBY_647] (rows=1 width=12)
+                                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                              Select Operator [SEL_644] (rows=36525 width=1119)
+                                                                                Output:["_col0"]
+                                                                                 Please refer to the previous Select Operator [SEL_642]
+                            <-Reducer 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_675]
+                                Group By Operator [GBY_674] (rows=1 width=224)
                                   Output:["_col0"],aggregations:["max(VALUE._col0)"]
-                                <-Reducer 20 [CUSTOM_SIMPLE_EDGE] vectorized
-                                  PARTITION_ONLY_SHUFFLE [RS_434]
-                                    Group By Operator [GBY_430] (rows=1 width=224)
+                                <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_667]
+                                    Group By Operator [GBY_665] (rows=1 width=224)
                                       Output:["_col0"],aggregations:["max(_col1)"]
-                                      Select Operator [SEL_426] (rows=348477374 width=88)
+                                      Select Operator [SEL_663] (rows=348477374 width=88)
                                         Output:["_col1"]
-                                         Please refer to the previous Group By Operator [GBY_424]
+                                         Please refer to the previous Group By Operator [GBY_661]
                     <-Reducer 3 [SIMPLE_EDGE]
                       SHUFFLE [RS_120]
                         PartitionCols:_col1
-                        Merge Join Operator [MERGEJOIN_375] (rows=348467716 width=135)
-                          Conds:RS_117._col2=RS_412._col0(Inner),Output:["_col1","_col3","_col4"]
-                        <-Reducer 14 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_412]
+                        Merge Join Operator [MERGEJOIN_579] (rows=348467716 width=135)
+                          Conds:RS_117._col2=RS_631._col0(Inner),Output:["_col1","_col3","_col4"]
+                        <-Reducer 16 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_631]
                             PartitionCols:_col0
-                             Please refer to the previous Group By Operator [GBY_411]
+                             Please refer to the previous Group By Operator [GBY_630]
                         <-Reducer 2 [SIMPLE_EDGE]
                           SHUFFLE [RS_117]
                             PartitionCols:_col2
-                            Merge Join Operator [MERGEJOIN_359] (rows=316788826 width=135)
-                              Conds:RS_393._col0=RS_396._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            Merge Join Operator [MERGEJOIN_563] (rows=316788826 width=135)
+                              Conds:RS_640._col0=RS_597._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                             <-Map 7 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_396]
+                              SHUFFLE [RS_597]
                                 PartitionCols:_col0
-                                 Please refer to the previous Select Operator [SEL_395]
+                                 Please refer to the previous Select Operator [SEL_596]
                             <-Map 1 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_393]
+                              SHUFFLE [RS_640]
                                 PartitionCols:_col0
-                                Select Operator [SEL_392] (rows=287989836 width=135)
+                                Select Operator [SEL_639] (rows=287989836 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4"]
-                                  Filter Operator [FIL_391] (rows=287989836 width=135)
-                                    predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                  Filter Operator [FIL_638] (rows=287989836 width=135)
+                                    predicate:((cs_item_sk BETWEEN DynamicValue(RS_118_item_i_item_sk_min) AND DynamicValue(RS_118_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_118_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_115_date_dim_d_date_sk_min) AND DynamicValue(RS_115_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_115_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_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_item_sk","cs_quantity","cs_list_price"]
+                                    <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_637]
+                                        Group By Operator [GBY_636] (rows=1 width=20)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=58079560)"]
+                                        <-Reducer 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_635]
+                                            Group By Operator [GBY_634] (rows=1 width=20)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=58079560)"]
+                                              Select Operator [SEL_632] (rows=58079562 width=88)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Group By Operator [GBY_630]
+                                    <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_606]
+                                        Group By Operator [GBY_605] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                        <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_603]
+                                            Group By Operator [GBY_601] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_598] (rows=18262 width=1119)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_596]
 


[23/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query27.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query27.q.out b/ql/src/test/results/clientpositive/perf/spark/query27.q.out
index f0154c6..e7ed297 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query27.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query27.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC') and s_store_sk is not null) (type: boolean)
@@ -86,6 +87,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_cdemo_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -105,6 +107,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -124,6 +127,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: ((cd_gender = 'M') and (cd_marital_status = 'U') and (cd_education_status = '2 yr Degree') and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cd_education_status = '2 yr Degree') and (cd_gender = 'M') and (cd_marital_status = 'U') and cd_demo_sk is not null) (type: boolean)
@@ -142,6 +146,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query28.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query28.q.out b/ql/src/test/results/clientpositive/perf/spark/query28.q.out
index c9c507a..b437829 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query28.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query28.q.out
@@ -128,6 +128,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_quantity BETWEEN 16 AND 20 and (ss_list_price BETWEEN 142 AND 152 or ss_coupon_amt BETWEEN 3054 AND 4054 or ss_wholesale_cost BETWEEN 80 AND 100)) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_list_price BETWEEN 142 AND 152 or ss_coupon_amt BETWEEN 3054 AND 4054 or ss_wholesale_cost BETWEEN 80 AND 100) and ss_quantity BETWEEN 16 AND 20) (type: boolean)
@@ -153,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_quantity BETWEEN 11 AND 15 and (ss_list_price BETWEEN 66 AND 76 or ss_coupon_amt BETWEEN 920 AND 1920 or ss_wholesale_cost BETWEEN 4 AND 24)) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_list_price BETWEEN 66 AND 76 or ss_coupon_amt BETWEEN 920 AND 1920 or ss_wholesale_cost BETWEEN 4 AND 24) and ss_quantity BETWEEN 11 AND 15) (type: boolean)
@@ -178,6 +180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_quantity BETWEEN 6 AND 10 and (ss_list_price BETWEEN 91 AND 101 or ss_coupon_amt BETWEEN 1430 AND 2430 or ss_wholesale_cost BETWEEN 32 AND 52)) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_list_price BETWEEN 91 AND 101 or ss_coupon_amt BETWEEN 1430 AND 2430 or ss_wholesale_cost BETWEEN 32 AND 52) and ss_quantity BETWEEN 6 AND 10) (type: boolean)
@@ -203,6 +206,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_quantity BETWEEN 26 AND 30 and (ss_list_price BETWEEN 28 AND 38 or ss_coupon_amt BETWEEN 2513 AND 3513 or ss_wholesale_cost BETWEEN 42 AND 62)) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_list_price BETWEEN 28 AND 38 or ss_coupon_amt BETWEEN 2513 AND 3513 or ss_wholesale_cost BETWEEN 42 AND 62) and ss_quantity BETWEEN 26 AND 30) (type: boolean)
@@ -228,6 +232,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_quantity BETWEEN 21 AND 25 and (ss_list_price BETWEEN 135 AND 145 or ss_coupon_amt BETWEEN 14180 AND 15180 or ss_wholesale_cost BETWEEN 38 AND 58)) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_list_price BETWEEN 135 AND 145 or ss_coupon_amt BETWEEN 14180 AND 15180 or ss_wholesale_cost BETWEEN 38 AND 58) and ss_quantity BETWEEN 21 AND 25) (type: boolean)
@@ -461,6 +466,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_quantity BETWEEN 0 AND 5 and (ss_list_price BETWEEN 11 AND 21 or ss_coupon_amt BETWEEN 460 AND 1460 or ss_wholesale_cost BETWEEN 14 AND 34)) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_list_price BETWEEN 11 AND 21 or ss_coupon_amt BETWEEN 460 AND 1460 or ss_wholesale_cost BETWEEN 14 AND 34) and ss_quantity BETWEEN 0 AND 5) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query29.q.out b/ql/src/test/results/clientpositive/perf/spark/query29.q.out
index 43d68f1..b070fc0 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query29.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query29.q.out
@@ -105,6 +105,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -129,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: (d_moy BETWEEN 4 AND 7 and (d_year = 1999) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1999) and d_date_sk is not null and d_moy BETWEEN 4 AND 7) (type: boolean)
@@ -161,6 +163,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -180,6 +183,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: ((d_moy = 4) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 4) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -198,6 +202,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_customer_sk is not null and sr_item_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -229,6 +234,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -248,6 +254,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d3
+                  filterExpr: ((d_year) IN (1999, 2000, 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year) IN (1999, 2000, 2001) and d_date_sk is not null) (type: boolean)
@@ -266,6 +273,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_item_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query3.q.out b/ql/src/test/results/clientpositive/perf/spark/query3.q.out
index e9d78c5..5604cef 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query3.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query3.q.out
@@ -56,6 +56,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -75,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manufact_id = 436) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manufact_id = 436) and i_item_sk is not null) (type: boolean)
@@ -94,6 +96,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dt
+                  filterExpr: ((d_moy = 12) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query30.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query30.q.out b/ql/src/test/results/clientpositive/perf/spark/query30.q.out
index 16c11ca..46c62e8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query30.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query30.q.out
@@ -82,6 +82,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -101,6 +102,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_state is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_state is not null) (type: boolean)
@@ -138,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: (wr_returned_date_sk is not null and wr_returning_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wr_returned_date_sk is not null and wr_returning_addr_sk is not null) (type: boolean)
@@ -157,6 +161,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -175,6 +180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_state is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_state is not null) (type: boolean)
@@ -194,6 +200,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state = 'IL') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state = 'IL') and ca_address_sk is not null) (type: boolean)
@@ -212,6 +219,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: (wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wr_returned_date_sk is not null and wr_returning_addr_sk is not null and wr_returning_customer_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query31.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query31.q.out b/ql/src/test/results/clientpositive/perf/spark/query31.q.out
index 38dc809..81deede 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query31.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query31.q.out
@@ -134,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -153,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -171,6 +173,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null) (type: boolean)
@@ -190,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -209,6 +213,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -227,6 +232,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null) (type: boolean)
@@ -246,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_addr_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -265,6 +272,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 1) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -283,6 +291,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null) (type: boolean)
@@ -302,6 +311,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_addr_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -321,6 +331,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -339,6 +350,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null) (type: boolean)
@@ -358,6 +370,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_addr_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -377,6 +390,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 3) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -395,6 +409,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null) (type: boolean)
@@ -414,6 +429,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -432,6 +448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null) (type: boolean)
@@ -451,6 +468,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query32.q.out b/ql/src/test/results/clientpositive/perf/spark/query32.q.out
index bb17957..17b9764 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query32.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query32.q.out
@@ -67,6 +67,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00.0' AND TIMESTAMP'1998-06-16 01:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -120,6 +122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -151,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -188,6 +192,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manufact_id = 269) and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query33.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query33.q.out b/ql/src/test/results/clientpositive/perf/spark/query33.q.out
index 46a77aa..39851fb 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query33.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query33.q.out
@@ -178,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_manufact_id is not null and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_sk is not null and i_manufact_id is not null) (type: boolean)
@@ -197,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 3) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 3) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -215,6 +217,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
@@ -233,6 +236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Books') and i_manufact_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Books') and i_manufact_id is not null) (type: boolean)
@@ -256,6 +260,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_bill_addr_sk is not null and cs_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -275,6 +280,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_manufact_id is not null and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_sk is not null and i_manufact_id is not null) (type: boolean)
@@ -294,6 +300,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_addr_sk is not null and ws_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -313,6 +320,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 3) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 3) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -331,6 +339,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
@@ -349,6 +358,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_addr_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query34.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query34.q.out b/ql/src/test/results/clientpositive/perf/spark/query34.q.out
index 9535394..b40081e 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query34.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query34.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (((hd_buy_potential = '>10000') or (hd_buy_potential = 'unknown')) and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((hd_buy_potential = '>10000') or (hd_buy_potential = 'unknown')) and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
@@ -90,6 +91,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_county) IN ('Mobile County', 'Maverick County', 'Huron County', 'Kittitas County', 'Fairfield County', 'Jackson County', 'Barrow County', 'Pennington County') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_county) IN ('Mobile County', 'Maverick County', 'Huron County', 'Kittitas County', 'Fairfield County', 'Jackson County', 'Barrow County', 'Pennington County') and s_store_sk is not null) (type: boolean)
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -138,6 +141,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_hdemo_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -157,6 +161,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year) IN (2000, 2001, 2002) and (d_dom BETWEEN 1 AND 3 or d_dom BETWEEN 25 AND 28) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_dom BETWEEN 1 AND 3 or d_dom BETWEEN 25 AND 28) and (d_year) IN (2000, 2001, 2002) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query35.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query35.q.out b/ql/src/test/results/clientpositive/perf/spark/query35.q.out
index 5bd9b75..6d1ea9b 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query35.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query35.q.out
@@ -134,6 +134,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -153,6 +154,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_qoy < 4) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy < 4) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -171,6 +173,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -190,6 +193,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_qoy < 4) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy < 4) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -208,6 +212,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_ship_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_ship_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -227,6 +232,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_qoy < 4) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy < 4) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -245,6 +251,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ca
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -264,6 +271,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: cd_demo_sk is not null (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cd_demo_sk is not null (type: boolean)
@@ -283,6 +291,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query36.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query36.q.out b/ql/src/test/results/clientpositive/perf/spark/query36.q.out
index dd6d793..bdf96a9 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query36.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query36.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC', 'AL', 'GA') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC', 'AL', 'GA') and s_store_sk is not null) (type: boolean)
@@ -100,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -119,6 +121,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: ((d_year = 1999) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -137,6 +140,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query37.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query37.q.out b/ql/src/test/results/clientpositive/perf/spark/query37.q.out
index 07e8eda..57cb061 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query37.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query37.q.out
@@ -44,6 +44,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-06-02 00:00:00.0' AND TIMESTAMP'2001-08-01 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-06-02 00:00:00.0' AND TIMESTAMP'2001-08-01 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: cs_item_sk is not null (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cs_item_sk is not null (type: boolean)
@@ -90,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manufact_id) IN (678, 964, 918, 849) and i_current_price BETWEEN 22 AND 52 and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manufact_id) IN (678, 964, 918, 849) and i_current_price BETWEEN 22 AND 52 and i_item_sk is not null) (type: boolean)
@@ -109,6 +112,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_quantity_on_hand BETWEEN 100 AND 500 and inv_item_sk is not null and inv_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_quantity_on_hand BETWEEN 100 AND 500) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query38.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query38.q.out b/ql/src/test/results/clientpositive/perf/spark/query38.q.out
index aa5660c..0064177 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query38.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query38.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -82,6 +83,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -106,6 +108,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -139,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -170,6 +174,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -189,6 +194,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -220,6 +226,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: c_customer_sk is not null (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: c_customer_sk is not null (type: boolean)
@@ -239,6 +246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_bill_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query39.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query39.q.out b/ql/src/test/results/clientpositive/perf/spark/query39.q.out
index d126120..cab0feb 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query39.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query39.q.out
@@ -65,6 +65,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -89,6 +90,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean)
@@ -141,6 +144,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: inventory
+                  filterExpr: (inv_item_sk is not null and inv_warehouse_sk is not null and inv_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 37584000 Data size: 593821104 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null) (type: boolean)
@@ -160,6 +164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 5) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 5) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -178,6 +183,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -196,6 +202,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 4) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 4) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -214,6 +221,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query4.q.out b/ql/src/test/results/clientpositive/perf/spark/query4.q.out
index c79ac8f..0993dc2 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query4.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query4.q.out
@@ -248,6 +248,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -267,6 +268,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -285,6 +287,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -304,6 +307,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -323,6 +327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -341,6 +346,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -360,6 +366,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -379,6 +386,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -397,6 +405,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -416,6 +425,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -435,6 +445,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -453,6 +464,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -472,6 +484,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -491,6 +504,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -509,6 +523,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -528,6 +543,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 2002) and d_date_sk is not null) (type: boolean)
@@ -546,6 +562,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_customer_id is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_customer_id is not null and c_customer_sk is not null) (type: boolean)
@@ -565,6 +582,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query40.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query40.q.out b/ql/src/test/results/clientpositive/perf/spark/query40.q.out
index cf54ed8..949840d 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query40.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query40.q.out
@@ -67,6 +67,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -120,6 +122,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_warehouse_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_warehouse_sk is not null) (type: boolean)
@@ -139,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: cr_item_sk is not null (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cr_item_sk is not null (type: boolean)
@@ -158,6 +162,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query42.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query42.q.out b/ql/src/test/results/clientpositive/perf/spark/query42.q.out
index 31ff56e..8d9777f 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query42.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query42.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -77,6 +78,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dt
+                  filterExpr: ((d_moy = 12) and (d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and (d_year = 1998) and d_date_sk is not null) (type: boolean)
@@ -95,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manager_id = 1) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manager_id = 1) and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query43.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query43.q.out b/ql/src/test/results/clientpositive/perf/spark/query43.q.out
index 61f3cc0..3e234a1 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query43.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query43.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_gmt_offset = -6) and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_gmt_offset = -6) and s_store_sk is not null) (type: boolean)
@@ -76,6 +77,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -95,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query44.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query44.q.out b/ql/src/test/results/clientpositive/perf/spark/query44.q.out
index 77006c1..6ba55e9 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query44.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query44.q.out
@@ -96,6 +96,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: i1
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -115,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean)
@@ -140,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ss1
+                  filterExpr: (ss_store_sk = 410) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_store_sk = 410) (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: i2
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)
@@ -184,6 +188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_store_sk = 410) and ss_hdemo_sk is null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query45.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query45.q.out b/ql/src/test/results/clientpositive/perf/spark/query45.q.out
index c2ff079..d61f8b8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query45.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query45.q.out
@@ -53,6 +53,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) (type: boolean)
@@ -103,6 +104,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) (type: boolean)
@@ -145,6 +148,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_bill_customer_sk is not null and ws_sold_date_sk is not null and ws_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -164,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -182,6 +187,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -201,6 +207,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: i_item_sk is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_item_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query46.q.out b/ql/src/test/results/clientpositive/perf/spark/query46.q.out
index a26fc9e..ccce45c 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query46.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query46.q.out
@@ -80,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_city) IN ('Cedar Grove', 'Wildwood', 'Union', 'Salem', 'Highland Park') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_city) IN ('Cedar Grove', 'Wildwood', 'Union', 'Salem', 'Highland Park') and s_store_sk is not null) (type: boolean)
@@ -99,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: (((hd_dep_count = 2) or (hd_vehicle_count = 1)) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((hd_dep_count = 2) or (hd_vehicle_count = 1)) and hd_demo_sk is not null) (type: boolean)
@@ -130,6 +132,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -149,6 +152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_dow) IN (6, 0) and (d_year) IN (1998, 1999, 2000) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_dow) IN (6, 0) and (d_year) IN (1998, 1999, 2000) and d_date_sk is not null) (type: boolean)
@@ -167,6 +171,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -186,6 +191,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: current_addr
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -205,6 +211,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null and ss_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)


[46/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/explain_rearrange.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/explain_rearrange.q.out b/ql/src/test/results/clientpositive/explain_rearrange.q.out
index be1b8ed..6ff089f 100644
--- a/ql/src/test/results/clientpositive/explain_rearrange.q.out
+++ b/ql/src/test/results/clientpositive/explain_rearrange.q.out
@@ -68,6 +68,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -242,6 +243,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -340,6 +342,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -514,6 +517,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -612,6 +616,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -655,6 +660,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -884,6 +890,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -927,6 +934,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/extrapolate_part_stats_date.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/extrapolate_part_stats_date.q.out b/ql/src/test/results/clientpositive/extrapolate_part_stats_date.q.out
index 48a0951..68abf2b 100644
--- a/ql/src/test/results/clientpositive/extrapolate_part_stats_date.q.out
+++ b/ql/src/test/results/clientpositive/extrapolate_part_stats_date.q.out
@@ -69,6 +69,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: date_dim_n1
+            filterExpr: ((d_date > DATE'1900-01-02') and (d_date_sk = 2416945L)) (type: boolean)
             Statistics: Num rows: 1 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
               predicate: (d_date > DATE'1900-01-02') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out b/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
index 6ab11b1..b84a2d4 100644
--- a/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
@@ -19,6 +19,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: m
+            filterExpr: ((value <> '') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value <> '') and key is not null) (type: boolean)
@@ -35,6 +36,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: f
+            filterExpr: (((value = '2008-04-08') or (value = '2008-04-09')) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((value = '2008-04-08') or (value = '2008-04-09')) and key is not null) (type: boolean)
@@ -80,6 +82,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string)
           TableScan
             alias: g
+            filterExpr: (value <> '') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (value <> '') (type: boolean)
@@ -141,6 +144,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: m
+            filterExpr: ((value <> '') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value <> '') and key is not null) (type: boolean)
@@ -157,6 +161,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: f
+            filterExpr: (((value) IN ('2008-04-08', '2008-04-10') or (value = '2008-04-09')) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((value) IN ('2008-04-08', '2008-04-10') or (value = '2008-04-09')) and key is not null) (type: boolean)
@@ -202,6 +207,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string)
           TableScan
             alias: g
+            filterExpr: (value <> '') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (value <> '') (type: boolean)
@@ -273,6 +279,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t2
+            filterExpr: (UDFToDouble(key) = 1.0D) (type: boolean)
             Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 1.0D) (type: boolean)
@@ -289,6 +296,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int), _col2 (type: float)
           TableScan
             alias: t3
+            filterExpr: ((c_int = 1) and (UDFToDouble(key) = 1.0D)) (type: boolean)
             Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) = 1.0D) and (c_int = 1)) (type: boolean)
@@ -331,6 +339,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1
+            filterExpr: (UDFToDouble(key) = 1.0D) (type: boolean)
             Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 1.0D) (type: boolean)
@@ -393,6 +402,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -409,6 +419,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: m
+            filterExpr: ((value <> '') and ((value = '2008-04-10') or (value = '2008-04-08')) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((value = '2008-04-10') or (value = '2008-04-08')) and (value <> '') and key is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out b/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
index ec07bed..db4aee7 100644
--- a/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
+++ b/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: sales
+            filterExpr: ((store_number = customer_id) and store_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((store_number = customer_id) and store_id is not null) (type: boolean)
@@ -46,6 +47,7 @@ STAGE PLANS:
                 Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: store
+            filterExpr: (store_id is not null and salad_bar) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (salad_bar and store_id is not null) (type: boolean)
@@ -125,6 +127,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: sales
+            filterExpr: ((store_number = customer_id) and store_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((store_number = customer_id) and store_id is not null) (type: boolean)
@@ -136,6 +139,7 @@ STAGE PLANS:
                 Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: store
+            filterExpr: (store_id is not null and salad_bar) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (salad_bar and store_id is not null) (type: boolean)
@@ -215,6 +219,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: sales
+            filterExpr: ((store_number = customer_id) and store_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((store_number = customer_id) and store_id is not null) (type: boolean)
@@ -226,6 +231,7 @@ STAGE PLANS:
                 Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: store
+            filterExpr: (store_id is not null and (salad_bar = true)) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((salad_bar = true) and store_id is not null) (type: boolean)
@@ -305,6 +311,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: sales
+            filterExpr: (store_id is not null and (store_number > customer_id)) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((store_number > customer_id) and store_id is not null) (type: boolean)
@@ -316,6 +323,7 @@ STAGE PLANS:
                 Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: store
+            filterExpr: (store_id is not null and (salad_bar = false)) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((salad_bar = false) and store_id is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/filter_in_or_dup.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/filter_in_or_dup.q.out b/ql/src/test/results/clientpositive/filter_in_or_dup.q.out
index f863ac3..b821717 100644
--- a/ql/src/test/results/clientpositive/filter_in_or_dup.q.out
+++ b/ql/src/test/results/clientpositive/filter_in_or_dup.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: f
+          filterExpr: (key) IN ('1', '2') (type: boolean)
           Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (key) IN ('1', '2') (type: boolean)
@@ -52,6 +53,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: f
+          filterExpr: (key) IN ('1', '2') (type: boolean)
           Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (key) IN ('1', '2') (type: boolean)
@@ -84,6 +86,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: f
+          filterExpr: (key) IN ('1', '2') (type: boolean)
           Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (key) IN ('1', '2') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/filter_join_breaktask.q.out b/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
index a2624ef..a86997b 100644
--- a/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
+++ b/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 211 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -59,6 +60,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: m
+            filterExpr: ((value <> '') and key is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 211 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -176,6 +178,7 @@ STAGE PLANS:
               auto parallelism: false
           TableScan
             alias: g
+            filterExpr: ((ds = '2008-04-08') and (value <> '')) (type: boolean)
             Statistics: Num rows: 25 Data size: 211 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/filter_numeric.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/filter_numeric.q.out b/ql/src/test/results/clientpositive/filter_numeric.q.out
index f2a9b5e..6c7cc50 100644
--- a/ql/src/test/results/clientpositive/filter_numeric.q.out
+++ b/ql/src/test/results/clientpositive/filter_numeric.q.out
@@ -38,6 +38,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partint
+          filterExpr: (hr < 11) (type: boolean)
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
             predicate: (hr < 11) (type: boolean)
@@ -71,6 +72,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partint
+          filterExpr: ((hr <= 12) and (hr > 11)) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), hr (type: int)
@@ -603,6 +605,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partint
+          filterExpr: hr BETWEEN 11 AND 12 (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), hr (type: int)
@@ -1637,6 +1640,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partint
+          filterExpr: (not hr BETWEEN 12 AND 14) (type: boolean)
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), hr (type: int)
@@ -2169,6 +2173,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: partint
+          filterExpr: (hr < 13) (type: boolean)
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: key (type: string), value (type: string), hr (type: int)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/flatten_and_or.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/flatten_and_or.q.out b/ql/src/test/results/clientpositive/flatten_and_or.q.out
index a25cf1b..04b4a1d 100644
--- a/ql/src/test/results/clientpositive/flatten_and_or.q.out
+++ b/ql/src/test/results/clientpositive/flatten_and_or.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((key = '0') and (value = '8')) or ((key = '1') and (value = '5')) or ((key = '2') and (value = '6')) or ((key = '3') and (value = '8')) or ((key = '4') and (value = '1')) or ((key = '5') and (value = '6')) or ((key = '6') and (value = '1')) or ((key = '7') and (value = '1')) or ((key = '8') and (value = '1')) or ((key = '9') and (value = '1')) or ((key = '10') and (value = '3'))) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((key = '0') and (value = '8')) or ((key = '1') and (value = '5')) or ((key = '10') and (value = '3')) or ((key = '2') and (value = '6')) or ((key = '3') and (value = '8')) or ((key = '4') and (value = '1')) or ((key = '5') and (value = '6')) or ((key = '6') and (value = '1')) or ((key = '7') and (value = '1')) or ((key = '8') and (value = '1')) or ((key = '9') and (value = '1'))) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/fold_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/fold_case.q.out b/ql/src/test/results/clientpositive/fold_case.q.out
index a99f6f7..320752b 100644
--- a/ql/src/test/results/clientpositive/fold_case.q.out
+++ b/ql/src/test/results/clientpositive/fold_case.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -66,6 +67,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (not NVL((key = '238'),false)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (not NVL((key = '238'),false)) (type: boolean)
@@ -186,6 +188,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -290,6 +293,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -342,6 +346,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (not NVL((key = '238'),false)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (not NVL((key = '238'),false)) (type: boolean)
@@ -422,6 +427,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: CASE WHEN ((key = '238')) THEN (null) ELSE (true) END (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: CASE WHEN ((key = '238')) THEN (null) ELSE (true) END (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out b/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
index 763c390..d06fb60 100644
--- a/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
+++ b/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: lineitem
+            filterExpr: ((DATE'1996-03-30' = to_date(l_shipdate)) and (l_shipmode = 'RAIL')) (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((DATE'1996-03-30' = to_date(l_shipdate)) and (l_shipmode = 'RAIL')) (type: boolean)
@@ -100,6 +101,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -137,6 +139,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((key = '238') or (key = '94')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key = '238') or (key = '94')) (type: boolean)
@@ -174,6 +177,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -211,6 +215,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: CASE WHEN ((key <> '238')) THEN ((key = '238')) WHEN ((key = '23')) THEN ((key = '238')) ELSE (null) END (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: CASE WHEN ((key <> '238')) THEN ((key = '238')) WHEN ((key = '23')) THEN ((key = '238')) ELSE (null) END (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/fold_when.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/fold_when.q.out b/ql/src/test/results/clientpositive/fold_when.q.out
index 08d885d..dfc49ef 100644
--- a/ql/src/test/results/clientpositive/fold_when.q.out
+++ b/ql/src/test/results/clientpositive/fold_when.q.out
@@ -154,6 +154,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -193,6 +194,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -294,6 +296,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '238') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '238') (type: boolean)
@@ -333,6 +336,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (not NVL((key = '238'),false)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (not NVL((key = '238'),false)) (type: boolean)
@@ -441,6 +445,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (not NVL((key = '11'),false)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (not NVL((key = '11'),false)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/folder_predicate.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/folder_predicate.q.out b/ql/src/test/results/clientpositive/folder_predicate.q.out
index 2f73f18..64d2693 100644
--- a/ql/src/test/results/clientpositive/folder_predicate.q.out
+++ b/ql/src/test/results/clientpositive/folder_predicate.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value <> 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value <> 3) or value is null) (type: boolean)
@@ -87,6 +88,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value < 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value < 3) or value is null) (type: boolean)
@@ -137,6 +139,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value > 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value > 3) or value is null) (type: boolean)
@@ -187,6 +190,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value <= 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value <= 3) or value is null) (type: boolean)
@@ -238,6 +242,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value >= 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value >= 3) or value is null) (type: boolean)
@@ -289,6 +294,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value = 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value = 3) or value is null) (type: boolean)
@@ -338,6 +344,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: predicate_fold_tb
+            filterExpr: (value is null or (value <= 1) or (value > 3)) (type: boolean)
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((value <= 1) or (value > 3) or value is null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/fp_literal_arithmetic.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/fp_literal_arithmetic.q.out b/ql/src/test/results/clientpositive/fp_literal_arithmetic.q.out
index 84991d7..a6be904 100644
--- a/ql/src/test/results/clientpositive/fp_literal_arithmetic.q.out
+++ b/ql/src/test/results/clientpositive/fp_literal_arithmetic.q.out
@@ -16,6 +16,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: q0
+            filterExpr: l_discount BETWEEN 0.05D AND 0.07D (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: l_discount BETWEEN 0.05D AND 0.07D (type: boolean)
@@ -83,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: q1
+            filterExpr: l_discount BETWEEN 0.05D AND 0.07D (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: l_discount BETWEEN 0.05D AND 0.07D (type: boolean)
@@ -187,6 +189,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: q10
+            filterExpr: l_discount BETWEEN CAST( '0.05' AS decimal(3,2)) AND CAST( '0.07' AS decimal(3,2)) (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: l_discount BETWEEN CAST( '0.05' AS decimal(3,2)) AND CAST( '0.07' AS decimal(3,2)) (type: boolean)
@@ -254,6 +257,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: q11
+            filterExpr: l_discount BETWEEN (0.06 - 0.01) AND (0.06 + 0.01) (type: boolean)
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: l_discount BETWEEN (0.06 - 0.01) AND (0.06 + 0.01) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/gby_star.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/gby_star.q.out b/ql/src/test/results/clientpositive/gby_star.q.out
index 1227348..fe2cb82 100644
--- a/ql/src/test/results/clientpositive/gby_star.q.out
+++ b/ql/src/test/results/clientpositive/gby_star.q.out
@@ -90,6 +90,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -165,6 +166,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -243,6 +245,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
@@ -258,6 +261,7 @@ STAGE PLANS:
                   Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out b/ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out
index fd1163d..02da8fc 100644
--- a/ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out
+++ b/ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n143
+            filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(a) < 3.0D) (type: boolean)
@@ -117,6 +118,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n143
+            filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(a) < 3.0D) (type: boolean)
@@ -187,6 +189,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n143
+            filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(a) < 3.0D) (type: boolean)
@@ -264,6 +267,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n143
+            filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(a) < 3.0D) (type: boolean)
@@ -365,6 +369,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n143
+            filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(a) < 3.0D) (type: boolean)
@@ -466,6 +471,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n143
+            filterExpr: (UDFToDouble(a) < 3.0D) (type: boolean)
             Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(a) < 3.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_join_pushdown.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_join_pushdown.q.out b/ql/src/test/results/clientpositive/groupby_join_pushdown.q.out
index e7d958a..d99657b 100644
--- a/ql/src/test/results/clientpositive/groupby_join_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/groupby_join_pushdown.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -98,6 +99,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -161,6 +163,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -230,6 +233,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -288,6 +292,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -357,6 +362,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -417,6 +423,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -495,6 +502,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -557,6 +565,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: cint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: cint is not null (type: boolean)
@@ -573,6 +582,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: tinyint), _col2 (type: bigint)
           TableScan
             alias: g
+            filterExpr: cint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: cint is not null (type: boolean)
@@ -663,6 +673,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: cbigint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: cbigint is not null (type: boolean)
@@ -740,6 +751,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: cbigint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: cbigint is not null (type: boolean)
@@ -800,6 +812,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -877,6 +890,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -937,6 +951,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1014,6 +1029,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1074,6 +1090,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1152,6 +1169,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1215,6 +1233,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1293,6 +1312,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1356,6 +1376,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1434,6 +1455,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: g
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1610,6 +1632,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: f
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)
@@ -1626,6 +1649,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: g
+            filterExpr: ctinyint is not null (type: boolean)
             Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ctinyint is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_map_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_map_ppr.q.out b/ql/src/test/results/clientpositive/groupby_map_ppr.q.out
index 8072273..fd4fd47 100644
--- a/ql/src/test/results/clientpositive/groupby_map_ppr.q.out
+++ b/ql/src/test/results/clientpositive/groupby_map_ppr.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out b/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out
index 961be5d..cd5d590 100644
--- a/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out
+++ b/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_multi_single_reducer2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_multi_single_reducer2.q.out b/ql/src/test/results/clientpositive/groupby_multi_single_reducer2.q.out
index 65540a6..cb74a38 100644
--- a/ql/src/test/results/clientpositive/groupby_multi_single_reducer2.q.out
+++ b/ql/src/test/results/clientpositive/groupby_multi_single_reducer2.q.out
@@ -39,6 +39,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((substr(key, 1, 1) < 5) or (substr(key, 1, 1) >= 5)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((substr(key, 1, 1) < 5) or (substr(key, 1, 1) >= 5)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out b/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
index aa76313..7ec51ff 100644
--- a/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
+++ b/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
@@ -51,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((value) IN ('val_400', 'val_500') and (key) IN (400, 450)) or ((value) IN ('val_100', 'val_200', 'val_300') and (key) IN (100, 150, 200))) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((value) IN ('val_100', 'val_200', 'val_300') and (key) IN (100, 150, 200)) or ((value) IN ('val_400', 'val_500') and (key) IN (400, 450))) (type: boolean)
@@ -305,6 +306,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: ((((key + key) = 400) or (((key - 100) = 500) and value is not null)) or (((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null))) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null)) or (((key + key) = 400) or (((key - 100) = 500) and value is not null))) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_position.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_position.q.out b/ql/src/test/results/clientpositive/groupby_position.q.out
index 81e6976..5678bd5 100644
--- a/ql/src/test/results/clientpositive/groupby_position.q.out
+++ b/ql/src/test/results/clientpositive/groupby_position.q.out
@@ -593,6 +593,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: (UDFToDouble(key) <= 20.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) <= 20.0D) (type: boolean)
@@ -723,6 +724,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -811,6 +813,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_ppd.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_ppd.q.out b/ql/src/test/results/clientpositive/groupby_ppd.q.out
index a2292bd..daebac4 100644
--- a/ql/src/test/results/clientpositive/groupby_ppd.q.out
+++ b/ql/src/test/results/clientpositive/groupby_ppd.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: c
+            filterExpr: (bar = 1) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (bar = 1) (type: boolean)
@@ -42,6 +43,7 @@ STAGE PLANS:
                       Statistics: Num rows: 2 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: d
+            filterExpr: (bar = 1) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (bar = 1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_ppr.q.out b/ql/src/test/results/clientpositive/groupby_ppr.q.out
index d11aa89..d3484eb 100644
--- a/ql/src/test/results/clientpositive/groupby_ppr.q.out
+++ b/ql/src/test/results/clientpositive/groupby_ppr.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_ppr_multi_distinct.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_ppr_multi_distinct.q.out b/ql/src/test/results/clientpositive/groupby_ppr_multi_distinct.q.out
index a7c209d..530e797 100644
--- a/ql/src/test/results/clientpositive/groupby_ppr_multi_distinct.q.out
+++ b/ql/src/test/results/clientpositive/groupby_ppr_multi_distinct.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -397,6 +398,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_rollup_empty.q.out b/ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
index be068d1..06dc2b3 100644
--- a/ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
+++ b/ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
@@ -159,6 +159,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: tx2_n1
+            filterExpr: (a < 0) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (a < 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out b/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
index e0f7f5d..210dae7 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
@@ -4256,6 +4256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n80
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -4279,6 +4280,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: t1_n80
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -4599,6 +4601,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n80
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -4710,6 +4713,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n80
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -7263,6 +7267,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t2_n49
+            filterExpr: (UDFToDouble(key) = 8.0D) (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 8.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_sort_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_sort_6.q.out b/ql/src/test/results/clientpositive/groupby_sort_6.q.out
index 001fbf5..2bc7e41 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_6.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_6.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n61
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -291,6 +292,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n61
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -539,6 +541,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n61
+            filterExpr: (ds = '2') (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_sort_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_sort_7.q.out b/ql/src/test/results/clientpositive/groupby_sort_7.q.out
index 4170788..7c407db 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_7.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_7.q.out
@@ -61,6 +61,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n104
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), val (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out b/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
index 335ee16..940ede8 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
@@ -4606,6 +4606,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n56
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -4629,6 +4630,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: t1_n56
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -4950,6 +4952,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n56
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -5130,6 +5133,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n56
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -7780,6 +7784,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t2_n34
+            filterExpr: (UDFToDouble(key) = 8.0D) (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) = 8.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/having.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/having.q.out b/ql/src/test/results/clientpositive/having.q.out
index 4526944..baaca58 100644
--- a/ql/src/test/results/clientpositive/having.q.out
+++ b/ql/src/test/results/clientpositive/having.q.out
@@ -94,6 +94,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) <> 302.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) <> 302.0D) (type: boolean)
@@ -729,6 +730,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) > 300.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 300.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/having2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/having2.q.out b/ql/src/test/results/clientpositive/having2.q.out
index 9c11cee..a63c659 100644
--- a/ql/src/test/results/clientpositive/having2.q.out
+++ b/ql/src/test/results/clientpositive/having2.q.out
@@ -273,6 +273,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s1
+            filterExpr: customer_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: customer_name is not null (type: boolean)
@@ -289,6 +290,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: double), _col2 (type: double)
           TableScan
             alias: s2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -393,6 +395,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s1
+            filterExpr: customer_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: customer_name is not null (type: boolean)
@@ -409,6 +412,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: double), _col2 (type: double)
           TableScan
             alias: s2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -517,6 +521,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s1
+            filterExpr: customer_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: customer_name is not null (type: boolean)
@@ -533,6 +538,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: double), _col2 (type: double)
           TableScan
             alias: s2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out b/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
index 73760d3..a4908fc 100644
--- a/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
+++ b/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         t2:t1:src 
           TableScan
             alias: src
+            filterExpr: ((value = 'val_105') and (key = '105')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key = '105') and (value = 'val_105')) (type: boolean)
@@ -48,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key = '105') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key = '105') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/implicit_cast1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/implicit_cast1.q.out b/ql/src/test/results/clientpositive/implicit_cast1.q.out
index 2d0c4e1..d7d7b8c 100644
--- a/ql/src/test/results/clientpositive/implicit_cast1.q.out
+++ b/ql/src/test/results/clientpositive/implicit_cast1.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: implicit_test1
+            filterExpr: (a <> 0L) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (a <> 0L) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/implicit_cast_during_insert.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/implicit_cast_during_insert.q.out b/ql/src/test/results/clientpositive/implicit_cast_during_insert.q.out
index a515847..5e974bf 100644
--- a/ql/src/test/results/clientpositive/implicit_cast_during_insert.q.out
+++ b/ql/src/test/results/clientpositive/implicit_cast_during_insert.q.out
@@ -29,6 +29,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (key) IN (0, 1) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key) IN (0, 1) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/implicit_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/implicit_decimal.q.out b/ql/src/test/results/clientpositive/implicit_decimal.q.out
index f2b2412..5628249 100644
--- a/ql/src/test/results/clientpositive/implicit_decimal.q.out
+++ b/ql/src/test/results/clientpositive/implicit_decimal.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: decimal_test
+            filterExpr: (dc = 4327269606205.029297) (type: boolean)
             Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (dc = 4327269606205.029297) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/infer_bucket_sort_dyn_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/infer_bucket_sort_dyn_part.q.out b/ql/src/test/results/clientpositive/infer_bucket_sort_dyn_part.q.out
index 8d813a4..fd9e553 100644
--- a/ql/src/test/results/clientpositive/infer_bucket_sort_dyn_part.q.out
+++ b/ql/src/test/results/clientpositive/infer_bucket_sort_dyn_part.q.out
@@ -427,6 +427,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out b/ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
index 7b790cc..254ac14 100644
--- a/ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
+++ b/ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
@@ -285,6 +285,7 @@ STAGE PLANS:
                     value expressions: _col0 (type: string), _col1 (type: bigint)
           TableScan
             alias: src
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -469,6 +470,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -649,6 +651,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/infer_bucket_sort_num_buckets.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/infer_bucket_sort_num_buckets.q.out b/ql/src/test/results/clientpositive/infer_bucket_sort_num_buckets.q.out
index 854ca46..f8445e6 100644
--- a/ql/src/test/results/clientpositive/infer_bucket_sort_num_buckets.q.out
+++ b/ql/src/test/results/clientpositive/infer_bucket_sort_num_buckets.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (ds = '2008-04-08') (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: if(((key % 3) < 2), 0, 1) (type: int), value (type: string), UDFToInteger((key % 2)) (type: int)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/infer_const_type.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/infer_const_type.q.out b/ql/src/test/results/clientpositive/infer_const_type.q.out
index 33f5405..4129bd0 100644
--- a/ql/src/test/results/clientpositive/infer_const_type.q.out
+++ b/ql/src/test/results/clientpositive/infer_const_type.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: infertypes
+            filterExpr: ((ti = 127Y) and (si = 32767S) and (i = 12345) and (bi = -12345L) and (fl = 906) and (db = -307.0D) and (UDFToDouble(str) = 1234.0D)) (type: boolean)
             Statistics: Num rows: 1 Data size: 1170 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(str) = 1234.0D) and (bi = -12345L) and (db = -307.0D) and (fl = 906) and (i = 12345) and (si = 32767S) and (ti = 127Y)) (type: boolean)
@@ -130,6 +131,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: infertypes
+            filterExpr: ((UDFToDouble(ti) = 128.0D) or (UDFToInteger(si) = 32768) or (UDFToDouble(i) = 2.147483648E9D) or (UDFToDouble(bi) = 9.223372036854776E18D)) (type: boolean)
             Statistics: Num rows: 1 Data size: 1170 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(bi) = 9.223372036854776E18D) or (UDFToDouble(i) = 2.147483648E9D) or (UDFToDouble(ti) = 128.0D) or (UDFToInteger(si) = 32768)) (type: boolean)
@@ -194,6 +196,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: infertypes
+            filterExpr: ((UDFToDouble(ti) = 127.0D) or (CAST( si AS decimal(5,0)) = 327) or (UDFToDouble(i) = -100.0D)) (type: boolean)
             Statistics: Num rows: 1 Data size: 1170 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((CAST( si AS decimal(5,0)) = 327) or (UDFToDouble(i) = -100.0D) or (UDFToDouble(ti) = 127.0D)) (type: boolean)
@@ -252,6 +255,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: infertypes
+            filterExpr: ((UDFToDouble(ti) < 127.0D) and (UDFToDouble(i) > 100.0D) and (UDFToDouble(str) = 1.57D)) (type: boolean)
             Statistics: Num rows: 1 Data size: 1170 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(i) > 100.0D) and (UDFToDouble(str) = 1.57D) and (UDFToDouble(ti) < 127.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/infer_join_preds.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/infer_join_preds.q.out b/ql/src/test/results/clientpositive/infer_join_preds.q.out
index d8163aa..b26a907 100644
--- a/ql/src/test/results/clientpositive/infer_join_preds.q.out
+++ b/ql/src/test/results/clientpositive/infer_join_preds.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -30,6 +31,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -623,6 +625,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (4.0D BETWEEN UDFToDouble(key) AND UDFToDouble(value) and key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (4.0D BETWEEN UDFToDouble(key) AND UDFToDouble(value) and key is not null and value is not null) (type: boolean)
@@ -638,6 +641,7 @@ STAGE PLANS:
                   Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src1
+            filterExpr: (4.0D BETWEEN UDFToDouble(key) AND UDFToDouble(value) and key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (4.0D BETWEEN UDFToDouble(key) AND UDFToDouble(value) and key is not null and value is not null) (type: boolean)
@@ -1120,6 +1124,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: prid is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: prid is not null (type: boolean)
@@ -1136,6 +1141,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: bigint), _col2 (type: bigint), _col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint), _col6 (type: bigint), _col7 (type: varchar(96)), _col8 (type: timestamp), _col9 (type: bigint), _col10 (type: bigint), _col11 (type: int), _col12 (type: bigint), _col13 (type: varchar(30)), _col14 (type: varchar(30)), _col15 (type: bigint), _col16 (type: bigint), _col17 (type: bigint), _col18 (type: decimal(38,20))
           TableScan
             alias: e
+            filterExpr: prid is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: prid is not null (type: boolean)
@@ -1151,6 +1157,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: d
+            filterExpr: prid is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: prid is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/innerjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/innerjoin.q.out b/ql/src/test/results/clientpositive/innerjoin.q.out
index 779b074..6dab117 100644
--- a/ql/src/test/results/clientpositive/innerjoin.q.out
+++ b/ql/src/test/results/clientpositive/innerjoin.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -41,6 +42,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/innerjoin1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/innerjoin1.q.out b/ql/src/test/results/clientpositive/innerjoin1.q.out
index 291ba55..d17ed26 100644
--- a/ql/src/test/results/clientpositive/innerjoin1.q.out
+++ b/ql/src/test/results/clientpositive/innerjoin1.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: c1
+            filterExpr: COALESCE(a1,a2) is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: COALESCE(a1,a2) is not null (type: boolean)
@@ -92,6 +93,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: c2
+            filterExpr: COALESCE(b1,b2) is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: COALESCE(b1,b2) is not null (type: boolean)
@@ -155,6 +157,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: c1
+            filterExpr: COALESCE(a1,a2) is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: COALESCE(a1,a2) is not null (type: boolean)
@@ -171,6 +174,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: string), _col1 (type: string)
           TableScan
             alias: c2
+            filterExpr: COALESCE(b1,b2) is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: COALESCE(b1,b2) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input11.q.out b/ql/src/test/results/clientpositive/input11.q.out
index c1c185f..e103787 100644
--- a/ql/src/test/results/clientpositive/input11.q.out
+++ b/ql/src/test/results/clientpositive/input11.q.out
@@ -30,6 +30,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input11_limit.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input11_limit.q.out b/ql/src/test/results/clientpositive/input11_limit.q.out
index b31a3de..ee09d80 100644
--- a/ql/src/test/results/clientpositive/input11_limit.q.out
+++ b/ql/src/test/results/clientpositive/input11_limit.q.out
@@ -25,6 +25,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (UDFToDouble(key) < 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input23.q.out b/ql/src/test/results/clientpositive/input23.q.out
index e931c8b..caf02ee 100644
--- a/ql/src/test/results/clientpositive/input23.q.out
+++ b/ql/src/test/results/clientpositive/input23.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Select Operator
@@ -30,6 +31,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input25.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input25.q.out b/ql/src/test/results/clientpositive/input25.q.out
index c573a12..16354eb 100644
--- a/ql/src/test/results/clientpositive/input25.q.out
+++ b/ql/src/test/results/clientpositive/input25.q.out
@@ -46,6 +46,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (d = '2009-01-01') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: a (type: int), b (type: int)
@@ -108,6 +109,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (d = '2009-02-02') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: a (type: int), b (type: int)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input26.q.out b/ql/src/test/results/clientpositive/input26.q.out
index 93898b6..6b4a711 100644
--- a/ql/src/test/results/clientpositive/input26.q.out
+++ b/ql/src/test/results/clientpositive/input26.q.out
@@ -24,6 +24,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '2008-04-08') and (hr = '11')) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
@@ -92,6 +93,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/input2_limit.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input2_limit.q.out b/ql/src/test/results/clientpositive/input2_limit.q.out
index bcf713d..6cb4480 100644
--- a/ql/src/test/results/clientpositive/input2_limit.q.out
+++ b/ql/src/test/results/clientpositive/input2_limit.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: x
+            filterExpr: (UDFToDouble(key) < 300.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) < 300.0D) (type: boolean)


[58/58] [abbrv] hive git commit: HIVE-19416 : merge master into branch (Sergey Shelukhin)

Posted by se...@apache.org.
HIVE-19416 : merge master into branch (Sergey Shelukhin)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/61c55a3f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/61c55a3f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/61c55a3f

Branch: refs/heads/master-txnstats
Commit: 61c55a3f66a71b7ff513fc45d68b749c061fa820
Parents: 8f32832 b5160e7
Author: sergey <se...@apache.org>
Authored: Mon Jun 25 21:02:25 2018 -0700
Committer: sergey <se...@apache.org>
Committed: Mon Jun 25 21:02:25 2018 -0700

----------------------------------------------------------------------
 .../positive/accumulo_predicate_pushdown.q.out  |    2 +
 .../org/apache/hadoop/hive/cli/CliDriver.java   |   61 +-
 .../hadoop/hive/cli/TestCliDriverMethods.java   |   23 +
 .../org/apache/hadoop/hive/conf/HiveConf.java   |    8 +-
 .../test/results/clientpositive/dboutput.q.out  |    1 +
 .../clientpositive/serde_typedbytes4.q.out      |    1 +
 .../results/positive/hbase_custom_key3.q.out    |    1 +
 .../src/test/results/positive/hbase_ddl.q.out   |    1 +
 .../test/results/positive/hbase_queries.q.out   |    3 +
 .../hive/hcatalog/streaming/HiveEndPoint.java   |  142 +-
 .../hive/hcatalog/streaming/TestStreaming.java  |   12 +
 .../hive/cli/TestMiniDruidKafkaCliDriver.java   |    2 +
 .../test/resources/testconfiguration.properties |    7 +-
 ...SQLStdHiveAuthorizationValidatorForTest.java |    4 +
 jdbc/pom.xml                                    |   23 +-
 .../upgrade/hive/hive-schema-3.0.0.hive.sql     |   88 +-
 .../upgrade/hive/hive-schema-3.1.0.hive.sql     |   88 +-
 .../ExpressionTemplates/ColumnDivideColumn.txt  |   56 +-
 .../ExpressionTemplates/ScalarDivideColumn.txt  |   65 +-
 .../org/apache/hadoop/hive/ql/exec/DDLTask.java |   16 +
 .../hadoop/hive/ql/exec/FileSinkOperator.java   |   58 +-
 .../hadoop/hive/ql/exec/FunctionRegistry.java   |    4 +-
 .../expressions/LongColModuloLongColumn.java    |  179 -
 .../LongColModuloLongColumnChecked.java         |   52 -
 .../apache/hadoop/hive/ql/metadata/Hive.java    |    4 +-
 .../hive/ql/parse/DDLSemanticAnalyzer.java      |    2 +-
 .../hadoop/hive/ql/parse/MaskAndFilterInfo.java |    4 +-
 .../hadoop/hive/ql/parse/ParseContext.java      |    3 +-
 .../hadoop/hive/ql/parse/SemanticAnalyzer.java  |    8 +-
 .../apache/hadoop/hive/ql/parse/TableMask.java  |    2 +-
 .../hive/ql/parse/TypeCheckProcFactory.java     |    2 +
 .../udf/generic/GenericUDFCurrentCatalog.java   |   52 +
 .../udf/generic/GenericUDFCurrentDatabase.java  |   53 +
 .../ql/udf/generic/GenericUDFCurrentSchema.java |   37 +
 .../hive/ql/udf/generic/GenericUDFOPMod.java    |    2 -
 .../hive/ql/udf/generic/UDFCurrentDB.java       |   68 -
 .../ql/util/HiveStrictManagedMigration.java     |    1 +
 .../hive/ql/util/HiveStrictManagedUtils.java    |  115 -
 .../apache/hadoop/hive/ql/TestTxnNoBuckets.java |   34 +-
 .../exec/vector/TestVectorizationContext.java   |    2 +-
 .../ql/exec/vector/VectorRandomRowSource.java   |    8 +-
 .../expressions/TestVectorArithmetic.java       |  602 +++
 .../TestVectorArithmeticExpressions.java        |    1 +
 .../vector/expressions/TestVectorNegative.java  |  444 +++
 .../hive/ql/plan/mapping/TestOperatorCmp.java   |    3 +-
 .../clientnegative/strict_managed_tables1.q     |   15 +
 .../clientnegative/strict_managed_tables2.q     |    7 +
 .../clientnegative/strict_managed_tables3.q     |    7 +
 .../clientnegative/strict_managed_tables4.q     |   16 +
 .../clientnegative/strict_managed_tables5.q     |   12 +
 .../clientpositive/current_catalog_and_schema.q |   10 +
 ql/src/test/queries/clientpositive/dec_str.q    |    6 +
 .../queries/clientpositive/druidmini_masking.q  |   22 +
 .../clientpositive/strict_managed_tables1.q     |   40 +
 .../clientpositive/strict_managed_tables2.q     |   46 +
 .../strict_managed_tables_sysdb.q               |   48 +
 .../bucket_mapjoin_mismatch1.q.out              |    4 +
 .../sortmerge_mapjoin_mismatch_1.q.out          |    2 +
 .../clientnegative/strict_managed_tables1.q.out |   29 +
 .../clientnegative/strict_managed_tables2.q.out |   13 +
 .../clientnegative/strict_managed_tables3.q.out |   13 +
 .../clientnegative/strict_managed_tables4.q.out |   31 +
 .../clientnegative/strict_managed_tables5.q.out |   19 +
 .../results/clientpositive/acid_mapjoin.q.out   |    2 +
 .../clientpositive/acid_table_stats.q.out       |    4 +
 .../clientpositive/allcolref_in_udf.q.out       |    3 +
 .../clientpositive/alterColumnStatsPart.q.out   |    4 +
 .../alter_partition_coltype.q.out               |    3 +
 .../results/clientpositive/ambiguous_col.q.out  |    6 +
 .../clientpositive/analyze_tbl_date.q.out       |    1 +
 .../annotate_stats_deep_filters.q.out           |    2 +
 .../clientpositive/annotate_stats_filter.q.out  |   19 +
 .../clientpositive/annotate_stats_join.q.out    |   19 +
 .../annotate_stats_join_pkfk.q.out              |   27 +
 .../clientpositive/annotate_stats_part.q.out    |    9 +
 .../clientpositive/annotate_stats_select.q.out  |    1 +
 .../clientpositive/autoColumnStats_1.q.out      |    1 +
 .../clientpositive/autoColumnStats_2.q.out      |    2 +
 .../clientpositive/autoColumnStats_4.q.out      |    1 +
 .../clientpositive/autoColumnStats_9.q.out      |    2 +
 .../results/clientpositive/auto_join0.q.out     |    2 +
 .../results/clientpositive/auto_join1.q.out     |    2 +
 .../results/clientpositive/auto_join10.q.out    |    2 +
 .../results/clientpositive/auto_join11.q.out    |    2 +
 .../results/clientpositive/auto_join12.q.out    |    3 +
 .../results/clientpositive/auto_join13.q.out    |    3 +
 .../results/clientpositive/auto_join14.q.out    |    2 +
 .../results/clientpositive/auto_join15.q.out    |    2 +
 .../results/clientpositive/auto_join16.q.out    |    2 +
 .../results/clientpositive/auto_join17.q.out    |    2 +
 .../results/clientpositive/auto_join19.q.out    |    2 +
 .../clientpositive/auto_join19_inclause.q.out   |    2 +
 .../results/clientpositive/auto_join2.q.out     |    3 +
 .../results/clientpositive/auto_join20.q.out    |    4 +
 .../results/clientpositive/auto_join21.q.out    |    1 +
 .../results/clientpositive/auto_join22.q.out    |    3 +
 .../results/clientpositive/auto_join23.q.out    |    2 +
 .../results/clientpositive/auto_join24.q.out    |    2 +
 .../results/clientpositive/auto_join26.q.out    |    2 +
 .../results/clientpositive/auto_join27.q.out    |    3 +
 .../results/clientpositive/auto_join28.q.out    |    6 +
 .../results/clientpositive/auto_join29.q.out    |   19 +
 .../results/clientpositive/auto_join3.q.out     |    3 +
 .../results/clientpositive/auto_join32.q.out    |    5 +
 .../results/clientpositive/auto_join33.q.out    |    2 +
 .../results/clientpositive/auto_join4.q.out     |    2 +
 .../results/clientpositive/auto_join5.q.out     |    2 +
 .../results/clientpositive/auto_join6.q.out     |    2 +
 .../results/clientpositive/auto_join7.q.out     |    3 +
 .../results/clientpositive/auto_join8.q.out     |    2 +
 .../results/clientpositive/auto_join9.q.out     |    2 +
 .../auto_join_reordering_values.q.out           |    5 +
 .../clientpositive/auto_join_stats.q.out        |   15 +
 .../clientpositive/auto_join_stats2.q.out       |    7 +
 .../auto_join_without_localtask.q.out           |   24 +
 .../avro_schema_evolution_native.q.out          |    2 +
 .../beeline/explain_outputs.q.out               |    6 +
 .../materialized_view_create_rewrite.q.out      |    5 +
 .../clientpositive/beeline/smb_mapjoin_1.q.out  |    2 +
 .../clientpositive/beeline/smb_mapjoin_10.q.out |    1 +
 .../clientpositive/beeline/smb_mapjoin_11.q.out |    1 +
 .../clientpositive/beeline/smb_mapjoin_12.q.out |    2 +
 .../clientpositive/beeline/smb_mapjoin_13.q.out |    3 +
 .../clientpositive/beeline/smb_mapjoin_16.q.out |    1 +
 .../clientpositive/beeline/smb_mapjoin_2.q.out  |    2 +
 .../clientpositive/beeline/smb_mapjoin_3.q.out  |    2 +
 .../test/results/clientpositive/bucket3.q.out   |    1 +
 .../clientpositive/bucket_map_join_1.q.out      |    2 +
 .../clientpositive/bucket_map_join_2.q.out      |    2 +
 .../clientpositive/bucket_map_join_spark1.q.out |    4 +
 .../clientpositive/bucket_map_join_spark2.q.out |    4 +
 .../clientpositive/bucket_map_join_spark3.q.out |    4 +
 .../clientpositive/bucket_map_join_spark4.q.out |    6 +
 .../clientpositive/bucketcontext_1.q.out        |    3 +
 .../clientpositive/bucketcontext_2.q.out        |    3 +
 .../clientpositive/bucketcontext_3.q.out        |    3 +
 .../clientpositive/bucketcontext_4.q.out        |    3 +
 .../clientpositive/bucketcontext_5.q.out        |    3 +
 .../clientpositive/bucketcontext_6.q.out        |    3 +
 .../clientpositive/bucketcontext_7.q.out        |    3 +
 .../clientpositive/bucketcontext_8.q.out        |    3 +
 .../clientpositive/bucketmapjoin10.q.out        |    2 +
 .../clientpositive/bucketmapjoin11.q.out        |    4 +
 .../clientpositive/bucketmapjoin12.q.out        |    4 +
 .../clientpositive/bucketmapjoin13.q.out        |    8 +
 .../results/clientpositive/bucketmapjoin5.q.out |    4 +
 .../results/clientpositive/bucketmapjoin8.q.out |    4 +
 .../results/clientpositive/bucketmapjoin9.q.out |    4 +
 .../clientpositive/bucketmapjoin_negative.q.out |    2 +
 .../bucketmapjoin_negative2.q.out               |    2 +
 .../bucketmapjoin_negative3.q.out               |   18 +
 .../bucketsortoptimize_insert_1.q.out           |    5 +
 .../bucketsortoptimize_insert_3.q.out           |    2 +
 .../bucketsortoptimize_insert_4.q.out           |    2 +
 .../bucketsortoptimize_insert_5.q.out           |    2 +
 .../bucketsortoptimize_insert_8.q.out           |    2 +
 .../clientpositive/case_sensitivity.q.out       |    1 +
 ql/src/test/results/clientpositive/cast1.q.out  |    1 +
 .../clientpositive/cast_on_constant.q.out       |    5 +
 .../test/results/clientpositive/cbo_const.q.out |    4 +
 .../results/clientpositive/cbo_input26.q.out    |    8 +
 .../cbo_ppd_non_deterministic.q.out             |    2 +
 .../clientpositive/cbo_rp_auto_join0.q.out      |    4 +
 .../clientpositive/cbo_rp_auto_join1.q.out      |   19 +
 .../clientpositive/cbo_rp_auto_join17.q.out     |    2 +
 .../cbo_rp_cross_product_check_2.q.out          |    6 +
 .../results/clientpositive/cbo_rp_join0.q.out   |    4 +
 .../clientpositive/cbo_rp_outer_join_ppr.q.out  |    4 +
 .../clientpositive/cbo_rp_simple_select.q.out   |    6 +
 .../clientpositive/cbo_simple_select.q.out      |    6 +
 .../results/clientpositive/cbo_union_view.q.out |    6 +
 .../clientpositive/columnstats_partlvl.q.out    |    5 +
 .../clientpositive/columnstats_partlvl_dp.q.out |    2 +
 .../test/results/clientpositive/combine2.q.out  |    2 +
 .../test/results/clientpositive/comments.q.out  |    2 +
 .../results/clientpositive/complex_alias.q.out  |    2 +
 .../constantPropagateForSubQuery.q.out          |    1 +
 .../clientpositive/constant_prop_1.q.out        |    7 +
 .../clientpositive/constant_prop_2.q.out        |    1 +
 .../clientpositive/constant_prop_3.q.out        |    4 +
 .../results/clientpositive/constprog2.q.out     |    4 +
 .../results/clientpositive/constprog_dp.q.out   |    1 +
 .../clientpositive/constprog_partitioner.q.out  |    4 +
 .../clientpositive/correlated_join_keys.q.out   |    4 +
 .../clientpositive/correlationoptimizer10.q.out |   18 +
 .../clientpositive/correlationoptimizer11.q.out |    8 +
 .../clientpositive/correlationoptimizer12.q.out |    2 +
 .../clientpositive/correlationoptimizer13.q.out |    2 +
 .../clientpositive/correlationoptimizer14.q.out |   20 +
 .../clientpositive/correlationoptimizer15.q.out |    6 +
 .../clientpositive/correlationoptimizer5.q.out  |   12 +
 .../clientpositive/correlationoptimizer7.q.out  |   12 +
 .../clientpositive/correlationoptimizer8.q.out  |   15 +
 .../clientpositive/correlationoptimizer9.q.out  |    8 +
 ql/src/test/results/clientpositive/cp_sel.q.out |    2 +
 .../results/clientpositive/create_view.q.out    |    1 +
 .../results/clientpositive/cross_join.q.out     |    4 +
 .../clientpositive/cross_join_merge.q.out       |   12 +
 .../clientpositive/cross_product_check_1.q.out  |    6 +
 .../clientpositive/cross_product_check_2.q.out  |    6 +
 .../results/clientpositive/ctas_colname.q.out   |    2 +
 ql/src/test/results/clientpositive/cte_1.q.out  |    3 +
 ql/src/test/results/clientpositive/cte_3.q.out  |    4 +
 ql/src/test/results/clientpositive/cte_5.q.out  |    2 +
 ql/src/test/results/clientpositive/cte_6.q.out  |    2 +
 .../test/results/clientpositive/cte_mat_1.q.out |    2 +
 .../test/results/clientpositive/cte_mat_2.q.out |    2 +
 .../test/results/clientpositive/cte_mat_3.q.out |    3 +
 .../test/results/clientpositive/cte_mat_4.q.out |    6 +
 .../test/results/clientpositive/cte_mat_5.q.out |    3 +
 .../current_catalog_and_schema.q.out            |   54 +
 .../results/clientpositive/decimal_join2.q.out  |    4 +
 .../results/clientpositive/decimal_udf.q.out    |    4 +
 .../results/clientpositive/decimal_udf2.q.out   |    2 +
 .../results/clientpositive/deleteAnalyze.q.out  |    2 +
 .../druid/druidkafkamini_basic.q.out            |    1 +
 .../druid/druidmini_dynamic_partition.q.out     |    3 +
 .../druid/druidmini_masking.q.out               |   76 +
 .../clientpositive/druid/druidmini_mv.q.out     |    7 +
 .../dynamic_partition_skip_default.q.out        |    3 +
 .../results/clientpositive/empty_join.q.out     |    3 +
 .../encryption_join_unencrypted_tbl.q.out       |    2 +
 ...on_join_with_different_encryption_keys.q.out |    2 +
 .../clientpositive/explain_logical.q.out        |   13 +
 .../clientpositive/explain_outputs.q.out        |    6 +
 .../clientpositive/explain_rearrange.q.out      |    8 +
 .../extrapolate_part_stats_date.q.out           |    1 +
 .../clientpositive/filter_cond_pushdown.q.out   |   11 +
 .../filter_cond_pushdown_HIVE_15647.q.out       |    8 +
 .../clientpositive/filter_in_or_dup.q.out       |    3 +
 .../clientpositive/filter_join_breaktask.q.out  |    3 +
 .../results/clientpositive/filter_numeric.q.out |    5 +
 .../results/clientpositive/flatten_and_or.q.out |    1 +
 .../test/results/clientpositive/fold_case.q.out |    6 +
 .../clientpositive/fold_eq_with_case_when.q.out |    5 +
 .../test/results/clientpositive/fold_when.q.out |    5 +
 .../clientpositive/folder_predicate.q.out       |    7 +
 .../clientpositive/fp_literal_arithmetic.q.out  |    4 +
 .../test/results/clientpositive/gby_star.q.out  |    4 +
 .../clientpositive/groupby_grouping_sets4.q.out |    6 +
 .../clientpositive/groupby_join_pushdown.q.out  |   24 +
 .../clientpositive/groupby_map_ppr.q.out        |    1 +
 .../groupby_map_ppr_multi_distinct.q.out        |    1 +
 .../groupby_multi_single_reducer2.q.out         |    1 +
 .../groupby_multi_single_reducer3.q.out         |    2 +
 .../clientpositive/groupby_position.q.out       |    3 +
 .../results/clientpositive/groupby_ppd.q.out    |    2 +
 .../results/clientpositive/groupby_ppr.q.out    |    1 +
 .../groupby_ppr_multi_distinct.q.out            |    2 +
 .../clientpositive/groupby_rollup_empty.q.out   |    1 +
 .../clientpositive/groupby_sort_1_23.q.out      |    5 +
 .../results/clientpositive/groupby_sort_6.q.out |    3 +
 .../results/clientpositive/groupby_sort_7.q.out |    1 +
 .../clientpositive/groupby_sort_skew_1_23.q.out |    5 +
 ql/src/test/results/clientpositive/having.q.out |    2 +
 .../test/results/clientpositive/having2.q.out   |    6 +
 .../identity_project_remove_skip.q.out          |    2 +
 .../results/clientpositive/implicit_cast1.q.out |    1 +
 .../implicit_cast_during_insert.q.out           |    1 +
 .../clientpositive/implicit_decimal.q.out       |    1 +
 .../infer_bucket_sort_dyn_part.q.out            |    1 +
 .../infer_bucket_sort_map_operators.q.out       |    3 +
 .../infer_bucket_sort_num_buckets.q.out         |    1 +
 .../clientpositive/infer_const_type.q.out       |    4 +
 .../clientpositive/infer_join_preds.q.out       |    7 +
 .../test/results/clientpositive/innerjoin.q.out |    2 +
 .../results/clientpositive/innerjoin1.q.out     |    4 +
 .../test/results/clientpositive/input11.q.out   |    1 +
 .../results/clientpositive/input11_limit.q.out  |    1 +
 .../test/results/clientpositive/input23.q.out   |    2 +
 .../test/results/clientpositive/input25.q.out   |    2 +
 .../test/results/clientpositive/input26.q.out   |    2 +
 .../results/clientpositive/input2_limit.q.out   |    1 +
 .../test/results/clientpositive/input42.q.out   |    2 +
 ql/src/test/results/clientpositive/input6.q.out |    1 +
 .../results/clientpositive/input_part0.q.out    |    1 +
 .../results/clientpositive/input_part1.q.out    |    1 +
 .../results/clientpositive/input_part3.q.out    |    1 +
 .../results/clientpositive/input_part4.q.out    |    1 +
 .../results/clientpositive/input_part5.q.out    |    1 +
 .../results/clientpositive/input_part6.q.out    |    1 +
 .../results/clientpositive/input_part7.q.out    |    2 +
 .../results/clientpositive/input_part8.q.out    |    1 +
 .../results/clientpositive/input_part9.q.out    |    1 +
 .../clientpositive/input_testxpath2.q.out       |    1 +
 .../clientpositive/input_testxpath4.q.out       |    1 +
 .../test/results/clientpositive/insert1.q.out   |    4 +
 .../insert2_overwrite_partitions.q.out          |    2 +
 .../results/clientpositive/insert_into2.q.out   |    1 +
 ql/src/test/results/clientpositive/join0.q.out  |    4 +-
 ql/src/test/results/clientpositive/join10.q.out |    2 +
 ql/src/test/results/clientpositive/join11.q.out |    2 +
 ql/src/test/results/clientpositive/join12.q.out |    3 +
 ql/src/test/results/clientpositive/join13.q.out |    3 +
 ql/src/test/results/clientpositive/join14.q.out |    2 +
 ql/src/test/results/clientpositive/join15.q.out |    2 +
 ql/src/test/results/clientpositive/join16.q.out |    2 +
 ql/src/test/results/clientpositive/join17.q.out |    2 +
 ql/src/test/results/clientpositive/join19.q.out |    6 +
 ql/src/test/results/clientpositive/join2.q.out  |    3 +
 ql/src/test/results/clientpositive/join20.q.out |    4 +
 ql/src/test/results/clientpositive/join21.q.out |    1 +
 ql/src/test/results/clientpositive/join22.q.out |    3 +
 ql/src/test/results/clientpositive/join23.q.out |    2 +
 ql/src/test/results/clientpositive/join25.q.out |    2 +
 ql/src/test/results/clientpositive/join26.q.out |    3 +
 ql/src/test/results/clientpositive/join27.q.out |    2 +
 ql/src/test/results/clientpositive/join28.q.out |    3 +
 ql/src/test/results/clientpositive/join29.q.out |    2 +
 ql/src/test/results/clientpositive/join3.q.out  |    3 +
 ql/src/test/results/clientpositive/join30.q.out |    2 +
 ql/src/test/results/clientpositive/join31.q.out |    2 +
 ql/src/test/results/clientpositive/join32.q.out |    3 +
 ql/src/test/results/clientpositive/join33.q.out |    3 +
 ql/src/test/results/clientpositive/join34.q.out |    3 +
 ql/src/test/results/clientpositive/join35.q.out |    3 +
 ql/src/test/results/clientpositive/join36.q.out |    2 +
 ql/src/test/results/clientpositive/join37.q.out |    2 +
 ql/src/test/results/clientpositive/join38.q.out |    2 +
 ql/src/test/results/clientpositive/join39.q.out |    1 +
 ql/src/test/results/clientpositive/join4.q.out  |    2 +
 ql/src/test/results/clientpositive/join40.q.out |   10 +
 ql/src/test/results/clientpositive/join41.q.out |    2 +
 ql/src/test/results/clientpositive/join42.q.out |    6 +
 ql/src/test/results/clientpositive/join43.q.out |    6 +
 ql/src/test/results/clientpositive/join44.q.out |    2 +
 ql/src/test/results/clientpositive/join45.q.out |    6 +
 ql/src/test/results/clientpositive/join46.q.out |    2 +
 ql/src/test/results/clientpositive/join47.q.out |    6 +
 ql/src/test/results/clientpositive/join5.q.out  |    2 +
 ql/src/test/results/clientpositive/join6.q.out  |    2 +
 ql/src/test/results/clientpositive/join7.q.out  |    3 +
 ql/src/test/results/clientpositive/join8.q.out  |    2 +
 ql/src/test/results/clientpositive/join9.q.out  |    2 +
 .../clientpositive/join_alt_syntax.q.out        |   16 +
 .../clientpositive/join_cond_pushdown_1.q.out   |   10 +
 .../clientpositive/join_cond_pushdown_2.q.out   |    8 +
 .../clientpositive/join_cond_pushdown_3.q.out   |   10 +
 .../clientpositive/join_cond_pushdown_4.q.out   |    8 +
 .../join_cond_pushdown_unqual1.q.out            |   10 +
 .../join_cond_pushdown_unqual2.q.out            |    8 +
 .../join_cond_pushdown_unqual3.q.out            |   10 +
 .../join_cond_pushdown_unqual4.q.out            |    8 +
 .../clientpositive/join_filters_overlap.q.out   |   11 +
 .../clientpositive/join_grp_diff_keys.q.out     |    4 +
 .../results/clientpositive/join_hive_626.q.out  |    3 +
 .../results/clientpositive/join_map_ppr.q.out   |    6 +
 .../join_merge_multi_expressions.q.out          |    3 +
 .../results/clientpositive/join_merging.q.out   |    3 +
 .../clientpositive/join_on_varchar.q.out        |    2 +
 .../results/clientpositive/join_parse.q.out     |   13 +
 .../test/results/clientpositive/join_rc.q.out   |    2 +
 .../results/clientpositive/join_reorder.q.out   |    4 +
 .../results/clientpositive/join_reorder2.q.out  |    8 +
 .../results/clientpositive/join_reorder3.q.out  |    8 +
 .../results/clientpositive/join_reorder4.q.out  |    9 +
 .../test/results/clientpositive/join_star.q.out |    8 +
 .../results/clientpositive/join_thrift.q.out    |    2 +
 .../test/results/clientpositive/join_vc.q.out   |    5 +
 .../test/results/clientpositive/join_view.q.out |    2 +
 .../clientpositive/lateral_view_cp.q.out        |    2 +
 .../clientpositive/lateral_view_onview.q.out    |    2 +
 .../clientpositive/lateral_view_ppd.q.out       |    5 +
 .../results/clientpositive/leftsemijoin.q.out   |    2 +
 .../limit_pushdown_negative.q.out               |    2 +
 .../clientpositive/list_bucket_dml_1.q.out      |    2 +
 .../clientpositive/list_bucket_dml_11.q.out     |    1 +
 .../clientpositive/list_bucket_dml_12.q.out     |    2 +
 .../clientpositive/list_bucket_dml_13.q.out     |    1 +
 .../clientpositive/list_bucket_dml_14.q.out     |    1 +
 .../clientpositive/list_bucket_dml_2.q.out      |    2 +
 .../clientpositive/list_bucket_dml_3.q.out      |    2 +
 .../clientpositive/list_bucket_dml_4.q.out      |    3 +
 .../clientpositive/list_bucket_dml_5.q.out      |    2 +
 .../clientpositive/list_bucket_dml_6.q.out      |    3 +
 .../clientpositive/list_bucket_dml_7.q.out      |    3 +
 .../clientpositive/list_bucket_dml_8.q.out      |    2 +
 .../clientpositive/list_bucket_dml_9.q.out      |    3 +
 .../list_bucket_query_multiskew_1.q.out         |    4 +
 .../list_bucket_query_multiskew_2.q.out         |    3 +
 .../list_bucket_query_multiskew_3.q.out         |    3 +
 .../list_bucket_query_oneskew_1.q.out           |    3 +
 .../list_bucket_query_oneskew_2.q.out           |    4 +
 .../list_bucket_query_oneskew_3.q.out           |    1 +
 .../clientpositive/llap/acid_no_buckets.q.out   |   10 +-
 .../clientpositive/llap/autoColumnStats_1.q.out |    1 +
 .../clientpositive/llap/autoColumnStats_2.q.out |    2 +
 .../clientpositive/llap/auto_join0.q.out        |    1 +
 .../clientpositive/llap/auto_join1.q.out        |    2 +
 .../clientpositive/llap/auto_join21.q.out       |    1 +
 .../clientpositive/llap/auto_join29.q.out       |   19 +
 .../clientpositive/llap/auto_join30.q.out       |    5 +
 .../llap/auto_smb_mapjoin_14.q.out              |   29 +
 .../llap/auto_sortmerge_join_1.q.out            |    6 +
 .../llap/auto_sortmerge_join_10.q.out           |    5 +
 .../llap/auto_sortmerge_join_11.q.out           |    9 +
 .../llap/auto_sortmerge_join_12.q.out           |    7 +-
 .../llap/auto_sortmerge_join_13.q.out           |    6 +
 .../llap/auto_sortmerge_join_16.q.out           |    6 +
 .../llap/auto_sortmerge_join_2.q.out            |    4 +
 .../llap/auto_sortmerge_join_3.q.out            |    6 +
 .../llap/auto_sortmerge_join_4.q.out            |    6 +
 .../llap/auto_sortmerge_join_5.q.out            |    6 +
 .../llap/auto_sortmerge_join_6.q.out            |   30 +
 .../llap/auto_sortmerge_join_7.q.out            |    6 +
 .../llap/auto_sortmerge_join_8.q.out            |    6 +
 .../llap/auto_sortmerge_join_9.q.out            |   56 +
 .../results/clientpositive/llap/bucket3.q.out   |    1 +
 .../clientpositive/llap/bucket_groupby.q.out    |   11 +
 .../llap/bucket_map_join_tez2.q.out             |   41 +
 .../llap/bucket_map_join_tez_empty.q.out        |    2 +
 .../clientpositive/llap/bucketmapjoin1.q.out    |    8 +
 .../clientpositive/llap/bucketmapjoin2.q.out    |    6 +
 .../clientpositive/llap/bucketmapjoin3.q.out    |    4 +
 .../clientpositive/llap/bucketmapjoin4.q.out    |    4 +
 .../clientpositive/llap/bucketmapjoin7.q.out    |    2 +
 .../llap/bucketsortoptimize_insert_2.q.out      |   12 +
 .../llap/bucketsortoptimize_insert_6.q.out      |   14 +
 .../llap/bucketsortoptimize_insert_7.q.out      |    6 +
 .../clientpositive/llap/cbo_simple_select.q.out |    6 +
 .../clientpositive/llap/check_constraint.q.out  |    3 +
 .../results/clientpositive/llap/cluster.q.out   |   18 +
 .../columnStatsUpdateForStatsOptimizer_1.q.out  |    2 +
 .../llap/column_access_stats.q.out              |    9 +
 .../llap/column_table_stats.q.out               |    1 +
 .../llap/column_table_stats_orc.q.out           |    1 +
 .../llap/constprog_semijoin.q.out               |   74 +-
 .../llap/correlationoptimizer1.q.out            |   18 +
 .../llap/correlationoptimizer2.q.out            |    8 +
 .../llap/correlationoptimizer3.q.out            |   20 +
 .../llap/correlationoptimizer4.q.out            |    9 +
 .../llap/correlationoptimizer6.q.out            |   58 +
 .../clientpositive/llap/cross_join.q.out        |    4 +
 .../clientpositive/llap/cross_prod_1.q.out      |    2 +
 .../clientpositive/llap/cross_prod_3.q.out      |    3 +
 .../llap/cross_product_check_1.q.out            |   12 +-
 .../llap/cross_product_check_2.q.out            |   12 +-
 .../results/clientpositive/llap/cte_1.q.out     |    3 +
 .../results/clientpositive/llap/cte_mat_3.q.out |   16 +-
 .../results/clientpositive/llap/cte_mat_4.q.out |   32 +-
 .../results/clientpositive/llap/cte_mat_5.q.out |   16 +-
 .../results/clientpositive/llap/dec_str.q.out   |  118 +
 .../clientpositive/llap/deleteAnalyze.q.out     |   16 +-
 .../llap/dynpart_sort_opt_vectorization.q.out   |   14 +
 .../llap/dynpart_sort_optimization.q.out        |   21 +
 .../llap/dynpart_sort_optimization2.q.out       |    6 +
 .../llap/dynpart_sort_optimization_acid.q.out   |   12 +
 .../clientpositive/llap/empty_join.q.out        |   22 +-
 .../llap/enforce_constraint_notnull.q.out       |    7 +
 .../clientpositive/llap/explainanalyze_2.q.out  |  508 +--
 .../clientpositive/llap/explainuser_1.q.out     |  122 +-
 .../clientpositive/llap/explainuser_2.q.out     | 1900 +++++-----
 .../clientpositive/llap/explainuser_4.q.out     |  138 +-
 .../llap/filter_join_breaktask.q.out            |    3 +
 .../llap/groupby_resolution.q.out               |    1 +
 .../llap/groupby_rollup_empty.q.out             |    1 +
 .../results/clientpositive/llap/having.q.out    |    2 +
 .../llap/hybridgrace_hashjoin_1.q.out           |   20 +
 .../llap/hybridgrace_hashjoin_2.q.out           |   36 +
 .../llap/identity_project_remove_skip.q.out     |    2 +
 .../results/clientpositive/llap/insert1.q.out   |    4 +
 .../llap/insert1_overwrite_partitions.q.out     |    3 +
 .../clientpositive/llap/insert_into2.q.out      |    1 +
 .../llap/insert_into_default_keyword.q.out      |    4 +
 .../insert_values_orig_table_use_metadata.q.out |    1 +
 .../clientpositive/llap/is_distinct_from.q.out  |    4 +
 .../clientpositive/llap/jdbc_handler.q.out      |    1 +
 .../results/clientpositive/llap/join0.q.out     |    2 +
 .../results/clientpositive/llap/join1.q.out     |    2 +
 .../clientpositive/llap/join32_lessSize.q.out   |   20 +-
 .../results/clientpositive/llap/join46.q.out    |   14 +-
 .../llap/join_is_not_distinct_from.q.out        |    8 +
 .../llap/join_max_hashtable.q.out               |   16 +
 .../clientpositive/llap/join_nullsafe.q.out     |    8 +
 .../llap/join_reordering_no_stats.q.out         |   12 +
 .../test/results/clientpositive/llap/kryo.q.out |    1 +
 .../clientpositive/llap/leftsemijoin.q.out      |    6 +-
 .../llap/limit_join_transpose.q.out             |   48 +
 .../llap/llap_vector_nohybridgrace.q.out        |    4 +
 .../clientpositive/llap/llapdecider.q.out       |   20 +
 .../clientpositive/llap/load_dyn_part2.q.out    |    1 +
 .../clientpositive/llap/load_dyn_part3.q.out    |    1 +
 .../clientpositive/llap/lvj_mapjoin.q.out       |    2 +
 .../results/clientpositive/llap/mapjoin46.q.out |   10 +-
 .../clientpositive/llap/mapjoin_decimal.q.out   |    2 +
 .../clientpositive/llap/mapjoin_mapjoin.q.out   |    9 +
 .../llap/materialized_view_create_rewrite.q.out |    5 +
 .../materialized_view_create_rewrite_2.q.out    |    5 +
 .../materialized_view_create_rewrite_3.q.out    |   14 +
 .../materialized_view_create_rewrite_4.q.out    |   22 +
 .../materialized_view_create_rewrite_5.q.out    |   14 +
 ...materialized_view_create_rewrite_dummy.q.out |    5 +
 ...ized_view_create_rewrite_rebuild_dummy.q.out |   14 +
 ...alized_view_create_rewrite_time_window.q.out |    8 +
 .../llap/materialized_view_rewrite_1.q.out      |    5 +
 .../llap/materialized_view_rewrite_2.q.out      |    6 +
 .../llap/materialized_view_rewrite_3.q.out      |    5 +
 .../llap/materialized_view_rewrite_4.q.out      |    4 +
 .../llap/materialized_view_rewrite_5.q.out      |   11 +-
 .../llap/materialized_view_rewrite_6.q.out      |    8 +
 .../llap/materialized_view_rewrite_7.q.out      |   11 +
 .../llap/materialized_view_rewrite_8.q.out      |    5 +
 .../llap/materialized_view_rewrite_empty.q.out  |    1 +
 .../llap/materialized_view_rewrite_ssb.q.out    |   13 +
 .../llap/materialized_view_rewrite_ssb_2.q.out  |   13 +
 .../clientpositive/llap/metadataonly1.q.out     |    1 +
 .../test/results/clientpositive/llap/mrr.q.out  |    9 +
 .../clientpositive/llap/multiMapJoin1.q.out     |   29 +
 .../clientpositive/llap/multiMapJoin2.q.out     |   27 +
 .../clientpositive/llap/multi_column_in.q.out   |    3 +
 .../llap/multi_column_in_single.q.out           |    3 +
 .../clientpositive/llap/multi_insert.q.out      |    4 +
 .../clientpositive/llap/optimize_join_ptp.q.out |    2 +
 .../llap/orc_merge_incompat1.q.out              |    1 +
 .../llap/orc_struct_type_vectorization.q.out    |    1 +
 .../parquet_complex_types_vectorization.q.out   |    3 +
 .../llap/parquet_map_type_vectorization.q.out   |    1 +
 .../parquet_struct_type_vectorization.q.out     |    1 +
 .../clientpositive/llap/partialdhj.q.out        |    6 +
 .../llap/partition_multilevels.q.out            |    2 +
 .../clientpositive/llap/partition_pruning.q.out |    3 +
 .../llap/partition_shared_scan.q.out            |    5 +
 .../clientpositive/llap/ppd_union_view.q.out    |    6 +
 .../test/results/clientpositive/llap/ptf.q.out  |    5 +
 .../clientpositive/llap/ptf_matchpath.q.out     |    1 +
 .../clientpositive/llap/ptf_streaming.q.out     |    4 +
 .../clientpositive/llap/quotedid_smb.q.out      |    2 +
 .../llap/reduce_deduplicate.q.out               |    1 +
 .../llap/reduce_deduplicate_extended.q.out      |    8 +
 .../clientpositive/llap/resourceplan.q.out      |  246 +-
 .../clientpositive/llap/results_cache_1.q.out   |    6 +
 .../clientpositive/llap/results_cache_2.q.out   |    4 +
 .../llap/results_cache_capacity.q.out           |    2 +
 .../llap/results_cache_empty_result.q.out       |    1 +
 .../llap/results_cache_invalidation.q.out       |    8 +
 .../llap/results_cache_invalidation2.q.out      |    3 +
 .../llap/results_cache_lifetime.q.out           |    2 +
 .../llap/results_cache_temptable.q.out          |    3 +
 .../llap/results_cache_transactional.q.out      |    6 +
 .../llap/retry_failure_stat_changes.q.out       |    8 +-
 .../clientpositive/llap/runtime_stats_hs2.q.out |   40 +-
 .../results/clientpositive/llap/sample1.q.out   |    1 +
 .../results/clientpositive/llap/sample10.q.out  |    1 +
 .../llap/selectDistinctStar.q.out               |    2 +
 .../results/clientpositive/llap/semijoin.q.out  |   38 +-
 .../results/clientpositive/llap/semijoin6.q.out |    8 +
 .../results/clientpositive/llap/semijoin7.q.out |    8 +
 .../clientpositive/llap/sharedworkext.q.out     |    4 +
 .../results/clientpositive/llap/skewjoin.q.out  |   19 +
 .../clientpositive/llap/skewjoinopt15.q.out     |    4 +
 .../results/clientpositive/llap/smb_cache.q.out |    4 +
 .../clientpositive/llap/smb_mapjoin_14.q.out    |   25 +
 .../clientpositive/llap/smb_mapjoin_15.q.out    |    8 +
 .../clientpositive/llap/smb_mapjoin_17.q.out    |    7 +
 .../clientpositive/llap/smb_mapjoin_18.q.out    |    3 +
 .../clientpositive/llap/smb_mapjoin_19.q.out    |    1 +
 .../clientpositive/llap/smb_mapjoin_4.q.out     |   12 +
 .../clientpositive/llap/smb_mapjoin_5.q.out     |   12 +
 .../clientpositive/llap/smb_mapjoin_6.q.out     |   11 +
 .../results/clientpositive/llap/stats11.q.out   |    4 +
 .../llap/stats_based_fetch_decision.q.out       |    4 +
 .../llap/stats_only_external.q.out              |    1 +
 .../llap/strict_managed_tables1.q.out           |  176 +
 .../llap/strict_managed_tables2.q.out           |  248 ++
 .../llap/strict_managed_tables_sysdb.q.out      | 3458 ++++++++++++++++++
 .../clientpositive/llap/subquery_corr.q.out     |    6 +
 .../clientpositive/llap/subquery_exists.q.out   |    9 +
 .../clientpositive/llap/subquery_in.q.out       |   90 +-
 .../llap/subquery_in_having.q.out               |   33 +-
 .../clientpositive/llap/subquery_multi.q.out    |   98 +-
 .../clientpositive/llap/subquery_notin.q.out    |   57 +-
 .../clientpositive/llap/subquery_scalar.q.out   |   96 +-
 .../clientpositive/llap/subquery_select.q.out   |   54 +-
 .../clientpositive/llap/subquery_views.q.out    |    2 +
 .../llap/table_access_keys_stats.q.out          |    2 +-
 .../clientpositive/llap/temp_table.q.out        |    2 +
 .../llap/tez_bmj_schema_evolution.q.out         |    2 +
 .../llap/tez_dynpart_hashjoin_1.q.out           |   12 +
 .../llap/tez_dynpart_hashjoin_2.q.out           |    9 +
 .../llap/tez_input_counters.q.out               |    2 +
 .../results/clientpositive/llap/tez_join.q.out  |    2 +
 .../clientpositive/llap/tez_join_hash.q.out     |    6 +
 .../llap/tez_join_result_complex.q.out          |    4 +
 .../clientpositive/llap/tez_join_tests.q.out    |    4 +
 .../clientpositive/llap/tez_joins_explain.q.out |    4 +
 .../clientpositive/llap/tez_nway_join.q.out     |    6 +
 .../clientpositive/llap/tez_self_join.q.out     |    7 +-
 .../clientpositive/llap/tez_smb_empty.q.out     |   12 +
 .../clientpositive/llap/tez_smb_main.q.out      |   38 +
 .../results/clientpositive/llap/tez_union.q.out |   21 +
 .../llap/tez_union_group_by.q.out               |    5 +
 .../llap/tez_vector_dynpart_hashjoin_1.q.out    |   12 +
 .../llap/tez_vector_dynpart_hashjoin_2.q.out    |    9 +
 .../clientpositive/llap/unionDistinct_1.q.out   |   38 +
 .../clientpositive/llap/unionDistinct_3.q.out   |    2 +
 .../clientpositive/llap/union_top_level.q.out   |   14 +
 .../llap/vector_adaptor_usage_mode.q.out        |    2 +
 .../llap/vector_aggregate_without_gby.q.out     |    1 +
 .../llap/vector_annotate_stats_select.q.out     |    1 +
 .../llap/vector_auto_smb_mapjoin_14.q.out       |   29 +
 .../clientpositive/llap/vector_between_in.q.out |    8 +
 .../llap/vector_binary_join_groupby.q.out       |    4 +
 .../llap/vector_char_mapjoin1.q.out             |    6 +
 .../llap/vector_complex_join.q.out              |    6 +
 .../clientpositive/llap/vector_date_1.q.out     |    3 +
 .../llap/vector_decimal_cast.q.out              |    2 +
 .../llap/vector_decimal_expressions.q.out       |    2 +
 .../llap/vector_decimal_mapjoin.q.out           |   12 +
 .../llap/vector_decimal_math_funcs.q.out        |    2 +
 .../llap/vector_decimal_udf.q.out               |    8 +
 .../llap/vector_decimal_udf2.q.out              |    4 +
 .../clientpositive/llap/vector_elt.q.out        |    1 +
 .../llap/vector_groupby_grouping_sets4.q.out    |    3 +
 .../llap/vector_groupby_mapjoin.q.out           |    8 +-
 .../llap/vector_groupby_reduce.q.out            |    1 +
 .../clientpositive/llap/vector_if_expr.q.out    |    1 +
 .../clientpositive/llap/vector_inner_join.q.out |   18 +
 .../clientpositive/llap/vector_interval_2.q.out |    6 +
 .../llap/vector_interval_mapjoin.q.out          |    2 +
 .../clientpositive/llap/vector_join30.q.out     |    5 +
 .../llap/vector_leftsemi_mapjoin.q.out          |  128 +
 .../llap/vector_llap_text_1.q.out               |    2 +
 .../llap/vector_mapjoin_reduce.q.out            |    6 +
 .../llap/vector_mr_diff_schema_alias.q.out      |    3 +
 .../llap/vector_nullsafe_join.q.out             |   12 +
 .../clientpositive/llap/vector_nvl.q.out        |    1 +
 .../llap/vector_orc_nested_column_pruning.q.out |   11 +
 .../llap/vector_outer_reference_windowed.q.out  |   12 +
 .../llap/vector_reduce_groupby_decimal.q.out    |    1 +
 .../vector_reduce_groupby_duplicate_cols.q.out  |    1 +
 .../llap/vector_reuse_scratchcols.q.out         |    2 +
 .../llap/vector_string_decimal.q.out            |    1 +
 .../clientpositive/llap/vector_struct_in.q.out  |    4 +
 .../clientpositive/llap/vector_udf2.q.out       |    2 +
 .../llap/vector_varchar_mapjoin1.q.out          |    6 +
 .../clientpositive/llap/vector_windowing.q.out  |    7 +
 .../llap/vector_windowing_gby.q.out             |    2 +
 .../llap/vector_windowing_gby2.q.out            |    2 +
 .../vector_windowing_multipartitioning.q.out    |    5 +
 .../llap/vector_windowing_navfn.q.out           |    2 +
 .../llap/vector_windowing_rank.q.out            |    6 +
 .../llap/vector_windowing_streaming.q.out       |    1 +
 .../clientpositive/llap/vectorization_0.q.out   |    6 +
 .../clientpositive/llap/vectorization_1.q.out   |    1 +
 .../clientpositive/llap/vectorization_10.q.out  |    1 +
 .../clientpositive/llap/vectorization_11.q.out  |    1 +
 .../clientpositive/llap/vectorization_12.q.out  |    1 +
 .../clientpositive/llap/vectorization_13.q.out  |    2 +
 .../clientpositive/llap/vectorization_14.q.out  |    1 +
 .../clientpositive/llap/vectorization_15.q.out  |    1 +
 .../clientpositive/llap/vectorization_16.q.out  |    1 +
 .../clientpositive/llap/vectorization_17.q.out  |    1 +
 .../clientpositive/llap/vectorization_2.q.out   |    1 +
 .../clientpositive/llap/vectorization_3.q.out   |    1 +
 .../clientpositive/llap/vectorization_4.q.out   |    1 +
 .../clientpositive/llap/vectorization_5.q.out   |    1 +
 .../clientpositive/llap/vectorization_6.q.out   |    1 +
 .../clientpositive/llap/vectorization_7.q.out   |    2 +
 .../clientpositive/llap/vectorization_8.q.out   |    2 +
 .../clientpositive/llap/vectorization_9.q.out   |    1 +
 .../llap/vectorization_decimal_date.q.out       |    1 +
 .../llap/vectorization_div0.q.out               |    3 +
 .../vectorization_input_format_excludes.q.out   |    6 +
 .../llap/vectorization_limit.q.out              |    3 +
 .../llap/vectorization_short_regress.q.out      |   12 +
 .../llap/vectorized_bucketmapjoin1.q.out        |    6 +
 .../clientpositive/llap/vectorized_case.q.out   |    4 +-
 .../clientpositive/llap/vectorized_casts.q.out  |    1 +
 .../llap/vectorized_context.q.out               |    3 +
 .../clientpositive/llap/vectorized_join46.q.out |    2 +
 .../llap/vectorized_mapjoin.q.out               |    2 +
 .../llap/vectorized_mapjoin3.q.out              |    3 +
 .../llap/vectorized_math_funcs.q.out            |    1 +
 .../llap/vectorized_multi_output_select.q.out   |    7 +-
 .../llap/vectorized_nested_mapjoin.q.out        |    3 +
 .../llap/vectorized_parquet.q.out               |    1 +
 .../clientpositive/llap/vectorized_ptf.q.out    |    5 +
 .../llap/vectorized_shufflejoin.q.out           |    2 +
 .../llap/vectorized_string_funcs.q.out          |    1 +
 .../llap/vectorized_timestamp.q.out             |    1 +
 .../llap/vectorized_timestamp_ints_casts.q.out  |    2 +
 .../clientpositive/llap/windowing_gby.q.out     |   30 +-
 .../clientpositive/load_dyn_part10.q.out        |    1 +
 .../clientpositive/load_dyn_part13.q.out        |    2 +
 .../results/clientpositive/load_dyn_part2.q.out |    1 +
 .../results/clientpositive/load_dyn_part3.q.out |    1 +
 .../results/clientpositive/load_dyn_part4.q.out |    1 +
 .../results/clientpositive/load_dyn_part9.q.out |    1 +
 .../clientpositive/louter_join_ppr.q.out        |    8 +
 .../test/results/clientpositive/mapjoin46.q.out |    2 +
 .../test/results/clientpositive/mapjoin47.q.out |    6 +
 .../clientpositive/mapjoin_distinct.q.out       |    8 +
 .../mapjoin_filter_on_outerjoin.q.out           |    6 +
 .../clientpositive/mapjoin_mapjoin.q.out        |    9 +
 .../clientpositive/mapjoin_memcheck.q.out       |    2 +
 .../clientpositive/mapjoin_subquery.q.out       |    6 +
 .../clientpositive/mapjoin_subquery2.q.out      |    3 +
 .../test/results/clientpositive/masking_1.q.out |    8 +
 .../results/clientpositive/masking_10.q.out     |    3 +
 .../results/clientpositive/masking_12.q.out     |    3 +
 .../clientpositive/masking_1_newdb.q.out        |    1 +
 .../test/results/clientpositive/masking_2.q.out |    6 +
 .../test/results/clientpositive/masking_3.q.out |    8 +
 .../test/results/clientpositive/masking_4.q.out |    3 +
 .../test/results/clientpositive/masking_6.q.out |    2 +
 .../test/results/clientpositive/masking_7.q.out |    2 +
 .../test/results/clientpositive/masking_9.q.out |    1 +
 .../clientpositive/masking_disablecbo_1.q.out   |    8 +
 .../clientpositive/masking_disablecbo_2.q.out   |    3 +
 .../clientpositive/masking_disablecbo_3.q.out   |   16 +
 .../clientpositive/masking_disablecbo_4.q.out   |    3 +
 ql/src/test/results/clientpositive/merge3.q.out |    2 +
 ql/src/test/results/clientpositive/merge4.q.out |    3 +
 .../merge_dynamic_partition.q.out               |    3 +
 .../merge_dynamic_partition2.q.out              |    1 +
 .../merge_dynamic_partition3.q.out              |    1 +
 .../merge_dynamic_partition4.q.out              |    1 +
 .../merge_dynamic_partition5.q.out              |    1 +
 .../results/clientpositive/merge_join_1.q.out   |    3 +
 .../results/clientpositive/mergejoins.q.out     |    8 +
 .../clientpositive/mergejoins_mixed.q.out       |   28 +
 .../clientpositive/multi_insert_gby.q.out       |    1 +
 ...i_insert_move_tasks_share_dependencies.q.out |    8 +
 .../clientpositive/multi_insert_union_src.q.out |    2 +
 .../multi_insert_with_join2.q.out               |   12 +
 .../clientpositive/multi_join_union.q.out       |    4 +
 .../clientpositive/named_column_join.q.out      |    2 +
 .../clientpositive/nested_column_pruning.q.out  |   11 +
 .../test/results/clientpositive/no_hooks.q.out  |    2 +
 .../results/clientpositive/noalias_subq1.q.out  |    1 +
 .../results/clientpositive/nonmr_fetch.q.out    |   11 +
 .../clientpositive/nonmr_fetch_threshold.q.out  |    3 +
 .../results/clientpositive/notable_alias1.q.out |    1 +
 .../results/clientpositive/notable_alias2.q.out |    1 +
 .../nullability_transitive_inference.q.out      |    2 +
 .../test/results/clientpositive/nullgroup.q.out |    4 +
 .../results/clientpositive/nullgroup2.q.out     |    4 +
 .../results/clientpositive/nullgroup4.q.out     |    4 +
 .../nullgroup4_multi_distinct.q.out             |    2 +
 .../results/clientpositive/nullgroup5.q.out     |    2 +
 .../clientpositive/orc_merge_incompat1.q.out    |    1 +
 .../orc_nested_column_pruning.q.out             |   11 +
 .../clientpositive/orc_ppd_str_conversion.q.out |    1 +
 .../orc_struct_type_vectorization.q.out         |    1 +
 .../results/clientpositive/outer_join_ppr.q.out |    4 +
 .../outer_reference_windowed.q.out              |    6 +
 .../results/clientpositive/parallel_join0.q.out |    4 +-
 .../results/clientpositive/parallel_join1.q.out |    2 +
 .../parquet_complex_types_vectorization.q.out   |    3 +
 .../results/clientpositive/parquet_join.q.out   |    5 +
 .../parquet_map_type_vectorization.q.out        |    1 +
 .../parquet_struct_type_vectorization.q.out     |    1 +
 .../parquet_vectorization_0.q.out               |    6 +
 .../parquet_vectorization_1.q.out               |    1 +
 .../parquet_vectorization_10.q.out              |    1 +
 .../parquet_vectorization_11.q.out              |    1 +
 .../parquet_vectorization_12.q.out              |    1 +
 .../parquet_vectorization_13.q.out              |    2 +
 .../parquet_vectorization_14.q.out              |    1 +
 .../parquet_vectorization_15.q.out              |    1 +
 .../parquet_vectorization_16.q.out              |    1 +
 .../parquet_vectorization_17.q.out              |    1 +
 .../parquet_vectorization_2.q.out               |    1 +
 .../parquet_vectorization_3.q.out               |    1 +
 .../parquet_vectorization_4.q.out               |    1 +
 .../parquet_vectorization_5.q.out               |    1 +
 .../parquet_vectorization_6.q.out               |    1 +
 .../parquet_vectorization_7.q.out               |    2 +
 .../parquet_vectorization_8.q.out               |    2 +
 .../parquet_vectorization_9.q.out               |    1 +
 .../parquet_vectorization_decimal_date.q.out    |    1 +
 .../parquet_vectorization_div0.q.out            |    2 +
 .../parquet_vectorization_limit.q.out           |    3 +
 .../parquet_vectorization_offset_limit.q.out    |    2 +
 .../clientpositive/partition_boolexpr.q.out     |    1 +
 .../partition_condition_remover.q.out           |    1 +
 .../partition_wise_fileformat2.q.out            |    2 +
 ql/src/test/results/clientpositive/pcr.q.out    |   22 +
 ql/src/test/results/clientpositive/pcs.q.out    |   12 +
 .../clientpositive/perf/spark/query1.q.out      |    6 +
 .../clientpositive/perf/spark/query10.q.out     |    9 +
 .../clientpositive/perf/spark/query11.q.out     |   12 +
 .../clientpositive/perf/spark/query12.q.out     |    3 +
 .../clientpositive/perf/spark/query13.q.out     |    6 +
 .../clientpositive/perf/spark/query15.q.out     |    4 +
 .../clientpositive/perf/spark/query16.q.out     |    6 +
 .../clientpositive/perf/spark/query17.q.out     |    8 +
 .../clientpositive/perf/spark/query18.q.out     |    7 +
 .../clientpositive/perf/spark/query19.q.out     |    6 +
 .../clientpositive/perf/spark/query2.q.out      |    8 +
 .../clientpositive/perf/spark/query20.q.out     |    3 +
 .../clientpositive/perf/spark/query21.q.out     |    4 +
 .../clientpositive/perf/spark/query22.q.out     |    4 +
 .../clientpositive/perf/spark/query23.q.out     |   20 +
 .../clientpositive/perf/spark/query24.q.out     |   12 +
 .../clientpositive/perf/spark/query25.q.out     |    8 +
 .../clientpositive/perf/spark/query26.q.out     |    5 +
 .../clientpositive/perf/spark/query27.q.out     |    5 +
 .../clientpositive/perf/spark/query28.q.out     |    6 +
 .../clientpositive/perf/spark/query29.q.out     |    8 +
 .../clientpositive/perf/spark/query3.q.out      |    3 +
 .../clientpositive/perf/spark/query30.q.out     |    8 +
 .../clientpositive/perf/spark/query31.q.out     |   18 +
 .../clientpositive/perf/spark/query32.q.out     |    5 +
 .../clientpositive/perf/spark/query33.q.out     |   10 +
 .../clientpositive/perf/spark/query34.q.out     |    5 +
 .../clientpositive/perf/spark/query35.q.out     |    9 +
 .../clientpositive/perf/spark/query36.q.out     |    4 +
 .../clientpositive/perf/spark/query37.q.out     |    4 +
 .../clientpositive/perf/spark/query38.q.out     |    8 +
 .../clientpositive/perf/spark/query39.q.out     |    8 +
 .../clientpositive/perf/spark/query4.q.out      |   18 +
 .../clientpositive/perf/spark/query40.q.out     |    5 +
 .../clientpositive/perf/spark/query42.q.out     |    3 +
 .../clientpositive/perf/spark/query43.q.out     |    3 +
 .../clientpositive/perf/spark/query44.q.out     |    5 +
 .../clientpositive/perf/spark/query45.q.out     |    7 +
 .../clientpositive/perf/spark/query46.q.out     |    7 +
 .../clientpositive/perf/spark/query47.q.out     |   12 +
 .../clientpositive/perf/spark/query48.q.out     |    5 +
 .../clientpositive/perf/spark/query49.q.out     |    7 +
 .../clientpositive/perf/spark/query5.q.out      |   12 +
 .../clientpositive/perf/spark/query50.q.out     |    5 +
 .../clientpositive/perf/spark/query51.q.out     |    4 +
 .../clientpositive/perf/spark/query52.q.out     |    3 +
 .../clientpositive/perf/spark/query53.q.out     |    4 +
 .../clientpositive/perf/spark/query54.q.out     |   12 +
 .../clientpositive/perf/spark/query55.q.out     |    3 +
 .../clientpositive/perf/spark/query56.q.out     |   10 +
 .../clientpositive/perf/spark/query57.q.out     |   12 +
 .../clientpositive/perf/spark/query58.q.out     |   18 +
 .../clientpositive/perf/spark/query59.q.out     |    8 +
 .../clientpositive/perf/spark/query6.q.out      |    8 +
 .../clientpositive/perf/spark/query60.q.out     |   10 +
 .../clientpositive/perf/spark/query61.q.out     |   13 +
 .../clientpositive/perf/spark/query63.q.out     |    4 +
 .../clientpositive/perf/spark/query65.q.out     |    6 +
 .../clientpositive/perf/spark/query66.q.out     |   10 +
 .../clientpositive/perf/spark/query67.q.out     |    4 +
 .../clientpositive/perf/spark/query68.q.out     |    7 +
 .../clientpositive/perf/spark/query69.q.out     |    9 +
 .../clientpositive/perf/spark/query7.q.out      |    5 +
 .../clientpositive/perf/spark/query70.q.out     |    6 +
 .../clientpositive/perf/spark/query71.q.out     |    7 +
 .../clientpositive/perf/spark/query72.q.out     |   10 +
 .../clientpositive/perf/spark/query73.q.out     |    5 +
 .../clientpositive/perf/spark/query74.q.out     |   12 +
 .../clientpositive/perf/spark/query75.q.out     |   16 +
 .../clientpositive/perf/spark/query76.q.out     |    9 +
 .../clientpositive/perf/spark/query77.q.out     |   15 +
 .../clientpositive/perf/spark/query78.q.out     |    5 +
 .../clientpositive/perf/spark/query79.q.out     |    5 +
 .../clientpositive/perf/spark/query8.q.out      |    6 +
 .../clientpositive/perf/spark/query80.q.out     |   17 +
 .../clientpositive/perf/spark/query81.q.out     |    8 +
 .../clientpositive/perf/spark/query82.q.out     |    4 +
 .../clientpositive/perf/spark/query83.q.out     |   15 +
 .../clientpositive/perf/spark/query84.q.out     |    6 +
 .../clientpositive/perf/spark/query85.q.out     |    8 +
 .../clientpositive/perf/spark/query86.q.out     |    3 +
 .../clientpositive/perf/spark/query87.q.out     |    7 +
 .../clientpositive/perf/spark/query88.q.out     |   32 +
 .../clientpositive/perf/spark/query89.q.out     |    4 +
 .../clientpositive/perf/spark/query9.q.out      |   16 +
 .../clientpositive/perf/spark/query90.q.out     |    8 +
 .../clientpositive/perf/spark/query91.q.out     |    7 +
 .../clientpositive/perf/spark/query92.q.out     |    5 +
 .../clientpositive/perf/spark/query93.q.out     |    3 +
 .../clientpositive/perf/spark/query94.q.out     |    6 +
 .../clientpositive/perf/spark/query95.q.out     |    9 +
 .../clientpositive/perf/spark/query96.q.out     |    4 +
 .../clientpositive/perf/spark/query97.q.out     |    4 +
 .../clientpositive/perf/spark/query98.q.out     |    3 +
 .../clientpositive/perf/spark/query99.q.out     |    5 +
 .../clientpositive/perf/tez/query1.q.out        |   76 +-
 .../clientpositive/perf/tez/query10.q.out       |  239 +-
 .../clientpositive/perf/tez/query11.q.out       |  346 +-
 .../clientpositive/perf/tez/query12.q.out       |   85 +-
 .../clientpositive/perf/tez/query13.q.out       |  145 +-
 .../clientpositive/perf/tez/query14.q.out       | 1466 +++++---
 .../clientpositive/perf/tez/query15.q.out       |   69 +-
 .../clientpositive/perf/tez/query16.q.out       |  151 +-
 .../clientpositive/perf/tez/query17.q.out       |  190 +-
 .../clientpositive/perf/tez/query18.q.out       |  201 +-
 .../clientpositive/perf/tez/query19.q.out       |  169 +-
 .../clientpositive/perf/tez/query2.q.out        |  181 +-
 .../clientpositive/perf/tez/query20.q.out       |   85 +-
 .../clientpositive/perf/tez/query21.q.out       |   42 +-
 .../clientpositive/perf/tez/query22.q.out       |   48 +-
 .../clientpositive/perf/tez/query23.q.out       |  554 +--
 .../clientpositive/perf/tez/query24.q.out       |  311 +-
 .../clientpositive/perf/tez/query25.q.out       |  191 +-
 .../clientpositive/perf/tez/query26.q.out       |  131 +-
 .../clientpositive/perf/tez/query27.q.out       |  131 +-
 .../clientpositive/perf/tez/query29.q.out       |  218 +-
 .../clientpositive/perf/tez/query3.q.out        |   77 +-
 .../clientpositive/perf/tez/query30.q.out       |   94 +-
 .../clientpositive/perf/tez/query31.q.out       |  486 ++-
 .../clientpositive/perf/tez/query32.q.out       |  125 +-
 .../clientpositive/perf/tez/query33.q.out       |  381 +-
 .../clientpositive/perf/tez/query34.q.out       |  135 +-
 .../clientpositive/perf/tez/query35.q.out       |  239 +-
 .../clientpositive/perf/tez/query36.q.out       |  113 +-
 .../clientpositive/perf/tez/query37.q.out       |  101 +-
 .../clientpositive/perf/tez/query38.q.out       |  223 +-
 .../clientpositive/perf/tez/query39.q.out       |   94 +-
 .../clientpositive/perf/tez/query4.q.out        |  499 ++-
 .../clientpositive/perf/tez/query40.q.out       |  103 +-
 .../clientpositive/perf/tez/query42.q.out       |   79 +-
 .../clientpositive/perf/tez/query43.q.out       |   77 +-
 .../clientpositive/perf/tez/query44.q.out       |  102 +-
 .../clientpositive/perf/tez/query45.q.out       |  159 +-
 .../clientpositive/perf/tez/query46.q.out       |  177 +-
 .../clientpositive/perf/tez/query47.q.out       |  121 +-
 .../clientpositive/perf/tez/query48.q.out       |  117 +-
 .../clientpositive/perf/tez/query49.q.out       |  261 +-
 .../clientpositive/perf/tez/query5.q.out        |  326 +-
 .../clientpositive/perf/tez/query50.q.out       |  145 +-
 .../clientpositive/perf/tez/query51.q.out       |  118 +-
 .../clientpositive/perf/tez/query52.q.out       |   79 +-
 .../clientpositive/perf/tez/query53.q.out       |   99 +-
 .../clientpositive/perf/tez/query54.q.out       |  349 +-
 .../clientpositive/perf/tez/query55.q.out       |   79 +-
 .../clientpositive/perf/tez/query56.q.out       |  381 +-
 .../clientpositive/perf/tez/query57.q.out       |  121 +-
 .../clientpositive/perf/tez/query58.q.out       |  271 +-
 .../clientpositive/perf/tez/query59.q.out       |  183 +-
 .../clientpositive/perf/tez/query6.q.out        |  213 +-
 .../clientpositive/perf/tez/query60.q.out       |  381 +-
 .../clientpositive/perf/tez/query61.q.out       |  292 +-
 .../clientpositive/perf/tez/query63.q.out       |   99 +-
 .../clientpositive/perf/tez/query64.q.out       |  675 +++-
 .../clientpositive/perf/tez/query65.q.out       |  188 +-
 .../clientpositive/perf/tez/query66.q.out       |  254 +-
 .../clientpositive/perf/tez/query67.q.out       |  115 +-
 .../clientpositive/perf/tez/query68.q.out       |  177 +-
 .../clientpositive/perf/tez/query69.q.out       |  245 +-
 .../clientpositive/perf/tez/query7.q.out        |  131 +-
 .../clientpositive/perf/tez/query70.q.out       |  195 +-
 .../clientpositive/perf/tez/query71.q.out       |  213 +-
 .../clientpositive/perf/tez/query72.q.out       |  267 +-
 .../clientpositive/perf/tez/query73.q.out       |  135 +-
 .../clientpositive/perf/tez/query74.q.out       |  354 +-
 .../clientpositive/perf/tez/query75.q.out       |  565 ++-
 .../clientpositive/perf/tez/query76.q.out       |  215 +-
 .../clientpositive/perf/tez/query77.q.out       |  339 +-
 .../clientpositive/perf/tez/query78.q.out       |  187 +-
 .../clientpositive/perf/tez/query79.q.out       |  143 +-
 .../clientpositive/perf/tez/query8.q.out        |  165 +-
 .../clientpositive/perf/tez/query80.q.out       |  425 ++-
 .../clientpositive/perf/tez/query81.q.out       |   94 +-
 .../clientpositive/perf/tez/query82.q.out       |  101 +-
 .../clientpositive/perf/tez/query83.q.out       |  108 +-
 .../clientpositive/perf/tez/query84.q.out       |   56 +-
 .../clientpositive/perf/tez/query85.q.out       |  129 +-
 .../clientpositive/perf/tez/query86.q.out       |   87 +-
 .../clientpositive/perf/tez/query87.q.out       |  249 +-
 .../clientpositive/perf/tez/query88.q.out       |  819 +++--
 .../clientpositive/perf/tez/query89.q.out       |  103 +-
 .../clientpositive/perf/tez/query90.q.out       |  207 +-
 .../clientpositive/perf/tez/query91.q.out       |   74 +-
 .../clientpositive/perf/tez/query92.q.out       |  147 +-
 .../clientpositive/perf/tez/query93.q.out       |   81 +-
 .../clientpositive/perf/tez/query94.q.out       |  151 +-
 .../clientpositive/perf/tez/query95.q.out       |  246 +-
 .../clientpositive/perf/tez/query96.q.out       |  105 +-
 .../clientpositive/perf/tez/query97.q.out       |   90 +-
 .../clientpositive/perf/tez/query98.q.out       |   83 +-
 .../clientpositive/perf/tez/query99.q.out       |  131 +-
 .../results/clientpositive/pointlookup.q.out    |    3 +
 .../results/clientpositive/pointlookup2.q.out   |   18 +
 .../results/clientpositive/pointlookup3.q.out   |   16 +
 .../results/clientpositive/pointlookup4.q.out   |    2 +
 ql/src/test/results/clientpositive/ppd1.q.out   |    2 +
 ql/src/test/results/clientpositive/ppd2.q.out   |    5 +
 .../results/clientpositive/ppd_clusterby.q.out  |    6 +
 .../test/results/clientpositive/ppd_gby.q.out   |    2 +
 .../test/results/clientpositive/ppd_gby2.q.out  |    2 +
 .../results/clientpositive/ppd_gby_join.q.out   |    4 +
 .../test/results/clientpositive/ppd_join.q.out  |    4 +
 .../test/results/clientpositive/ppd_join2.q.out |    6 +
 .../test/results/clientpositive/ppd_join3.q.out |    6 +
 .../test/results/clientpositive/ppd_join4.q.out |    2 +
 .../test/results/clientpositive/ppd_join5.q.out |    3 +
 .../clientpositive/ppd_join_filter.q.out        |    6 +
 .../clientpositive/ppd_multi_insert.q.out       |    4 +
 .../clientpositive/ppd_outer_join1.q.out        |    4 +
 .../clientpositive/ppd_outer_join2.q.out        |    4 +
 .../clientpositive/ppd_outer_join3.q.out        |    4 +
 .../clientpositive/ppd_outer_join4.q.out        |    6 +
 .../clientpositive/ppd_outer_join5.q.out        |    9 +
 .../results/clientpositive/ppd_random.q.out     |    4 +
 .../clientpositive/ppd_repeated_alias.q.out     |    9 +
 .../results/clientpositive/ppd_udf_case.q.out   |    4 +
 .../results/clientpositive/ppd_udf_col.q.out    |    4 +
 .../test/results/clientpositive/ppd_udtf.q.out  |    1 +
 .../test/results/clientpositive/ppd_union.q.out |    2 +
 ql/src/test/results/clientpositive/ppd_vc.q.out |    3 +
 .../results/clientpositive/ppd_windowing1.q.out |   18 +
 .../clientpositive/ppr_allchildsarenull.q.out   |    1 +
 .../results/clientpositive/ppr_pushdown3.q.out  |    1 +
 .../results/clientpositive/ptf_matchpath.q.out  |    1 +
 .../results/clientpositive/ptfgroupbyjoin.q.out |    4 +
 .../test/results/clientpositive/push_or.q.out   |    1 +
 .../query_result_fileformat.q.out               |    2 +
 ql/src/test/results/clientpositive/quote1.q.out |    2 +
 .../results/clientpositive/quotedid_basic.q.out |    4 +
 .../clientpositive/quotedid_partition.q.out     |    1 +
 .../results/clientpositive/quotedid_skew.q.out  |    2 +
 .../clientpositive/rand_partitionpruner3.q.out  |    1 +
 .../clientpositive/rcfile_null_value.q.out      |    2 +
 .../reduce_deduplicate_exclude_join.q.out       |    2 +
 .../reduce_deduplicate_extended2.q.out          |   12 +
 .../test/results/clientpositive/regex_col.q.out |    4 +
 .../clientpositive/remove_exprs_stats.q.out     |    9 +
 .../clientpositive/router_join_ppr.q.out        |    8 +
 .../test/results/clientpositive/row__id.q.out   |    1 +
 .../runtime_skewjoin_mapjoin_spark.q.out        |    8 +
 .../test/results/clientpositive/sample1.q.out   |    1 +
 .../test/results/clientpositive/sample7.q.out   |    1 +
 .../test/results/clientpositive/sample8.q.out   |    5 +
 .../clientpositive/select_column_pruning.q.out  |    1 +
 .../clientpositive/select_transform_hint.q.out  |    4 +
 .../clientpositive/select_unquote_and.q.out     |    1 +
 .../clientpositive/select_unquote_not.q.out     |    1 +
 .../clientpositive/select_unquote_or.q.out      |    1 +
 .../test/results/clientpositive/semijoin2.q.out |    4 +
 .../test/results/clientpositive/semijoin3.q.out |    2 +
 .../test/results/clientpositive/semijoin4.q.out |    4 +
 .../test/results/clientpositive/semijoin5.q.out |    4 +
 .../set_processor_namespaces.q.out              |    1 +
 .../clientpositive/set_variable_sub.q.out       |    3 +
 .../results/clientpositive/setop_subq.q.out     |    2 +
 .../results/clientpositive/show_functions.q.out |    4 +
 .../test/results/clientpositive/skewjoin.q.out  |   19 +
 .../clientpositive/skewjoin_mapjoin1.q.out      |    4 +
 .../clientpositive/skewjoin_mapjoin10.q.out     |    4 +
 .../clientpositive/skewjoin_mapjoin11.q.out     |    2 +
 .../clientpositive/skewjoin_mapjoin2.q.out      |    2 +
 .../clientpositive/skewjoin_mapjoin3.q.out      |    2 +
 .../clientpositive/skewjoin_mapjoin4.q.out      |    3 +
 .../clientpositive/skewjoin_mapjoin5.q.out      |    5 +
 .../clientpositive/skewjoin_mapjoin6.q.out      |    2 +
 .../clientpositive/skewjoin_mapjoin7.q.out      |    4 +
 .../clientpositive/skewjoin_mapjoin8.q.out      |    3 +
 .../clientpositive/skewjoin_mapjoin9.q.out      |    3 +
 .../clientpositive/skewjoin_noskew.q.out        |    2 +
 .../clientpositive/skewjoin_onesideskew.q.out   |    2 +
 .../skewjoin_union_remove_1.q.out               |    4 +
 .../skewjoin_union_remove_2.q.out               |    3 +
 .../results/clientpositive/skewjoinopt1.q.out   |    4 +
 .../results/clientpositive/skewjoinopt10.q.out  |    2 +
 .../results/clientpositive/skewjoinopt11.q.out  |    4 +
 .../results/clientpositive/skewjoinopt12.q.out  |    2 +
 .../results/clientpositive/skewjoinopt13.q.out  |    3 +
 .../results/clientpositive/skewjoinopt14.q.out  |    3 +
 .../results/clientpositive/skewjoinopt16.q.out  |    2 +
 .../results/clientpositive/skewjoinopt17.q.out  |    4 +
 .../results/clientpositive/skewjoinopt18.q.out  |    2 +
 .../results/clientpositive/skewjoinopt19.q.out  |    2 +
 .../results/clientpositive/skewjoinopt2.q.out   |    4 +
 .../results/clientpositive/skewjoinopt20.q.out  |    2 +
 .../results/clientpositive/skewjoinopt21.q.out  |    2 +
 .../results/clientpositive/skewjoinopt3.q.out   |    2 +
 .../results/clientpositive/skewjoinopt4.q.out   |    4 +
 .../results/clientpositive/skewjoinopt5.q.out   |    2 +
 .../results/clientpositive/skewjoinopt6.q.out   |    2 +
 .../results/clientpositive/skewjoinopt7.q.out   |    3 +
 .../results/clientpositive/skewjoinopt8.q.out   |    3 +
 .../results/clientpositive/skewjoinopt9.q.out   |    5 +
 .../results/clientpositive/smb_mapjoin9.q.out   |    3 +
 .../results/clientpositive/smb_mapjoin_1.q.out  |    2 +
 .../results/clientpositive/smb_mapjoin_10.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_11.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_12.q.out |    2 +
 .../results/clientpositive/smb_mapjoin_13.q.out |    3 +
 .../results/clientpositive/smb_mapjoin_16.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_2.q.out  |    2 +
 .../results/clientpositive/smb_mapjoin_20.q.out |    3 +
 .../results/clientpositive/smb_mapjoin_21.q.out |    6 +
 .../results/clientpositive/smb_mapjoin_25.q.out |    8 +
 .../results/clientpositive/smb_mapjoin_3.q.out  |    2 +
 .../results/clientpositive/smb_mapjoin_46.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_47.q.out |    4 +
 .../clientpositive/sort_merge_join_desc_1.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_2.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_3.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_4.q.out |    2 +
 .../clientpositive/sort_merge_join_desc_5.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_6.q.out |    2 +
 .../clientpositive/sort_merge_join_desc_7.q.out |    2 +
 .../clientpositive/sort_merge_join_desc_8.q.out |    3 +
 .../spark/annotate_stats_join.q.out             |   19 +
 .../clientpositive/spark/auto_join0.q.out       |    2 +
 .../clientpositive/spark/auto_join1.q.out       |    2 +
 .../clientpositive/spark/auto_join10.q.out      |    2 +
 .../clientpositive/spark/auto_join11.q.out      |    2 +
 .../clientpositive/spark/auto_join12.q.out      |    3 +
 .../clientpositive/spark/auto_join13.q.out      |    3 +
 .../clientpositive/spark/auto_join14.q.out      |    2 +
 .../clientpositive/spark/auto_join15.q.out      |    2 +
 .../clientpositive/spark/auto_join16.q.out      |    2 +
 .../clientpositive/spark/auto_join17.q.out      |    2 +
 .../clientpositive/spark/auto_join19.q.out      |    2 +
 .../clientpositive/spark/auto_join2.q.out       |    3 +
 .../clientpositive/spark/auto_join20.q.out      |    4 +
 .../clientpositive/spark/auto_join21.q.out      |    1 +
 .../clientpositive/spark/auto_join22.q.out      |    3 +
 .../clientpositive/spark/auto_join23.q.out      |    2 +
 .../clientpositive/spark/auto_join24.q.out      |    2 +
 .../clientpositive/spark/auto_join26.q.out      |    2 +
 .../clientpositive/spark/auto_join27.q.out      |    3 +
 .../clientpositive/spark/auto_join28.q.out      |    6 +
 .../clientpositive/spark/auto_join29.q.out      |   19 +
 .../clientpositive/spark/auto_join3.q.out       |    3 +
 .../clientpositive/spark/auto_join30.q.out      |    5 +
 .../clientpositive/spark/auto_join32.q.out      |    5 +
 .../clientpositive/spark/auto_join4.q.out       |    2 +
 .../clientpositive/spark/auto_join5.q.out       |    2 +
 .../clientpositive/spark/auto_join6.q.out       |    2 +
 .../clientpositive/spark/auto_join7.q.out       |    3 +
 .../clientpositive/spark/auto_join8.q.out       |    2 +
 .../clientpositive/spark/auto_join9.q.out       |    2 +
 .../spark/auto_join_reordering_values.q.out     |    5 +
 .../clientpositive/spark/auto_join_stats.q.out  |    7 +
 .../clientpositive/spark/auto_join_stats2.q.out |    7 +
 .../spark/auto_join_without_localtask.q.out     |    8 +
 .../spark/auto_smb_mapjoin_14.q.out             |   14 +
 .../spark/auto_sortmerge_join_1.q.out           |    3 +
 .../spark/auto_sortmerge_join_12.q.out          |    3 +
 .../spark/auto_sortmerge_join_13.q.out          |    4 +
 .../spark/auto_sortmerge_join_16.q.out          |    4 +
 .../spark/auto_sortmerge_join_16.q.out_spark    |    4 +
 .../spark/auto_sortmerge_join_2.q.out           |    2 +
 .../spark/auto_sortmerge_join_3.q.out           |    3 +
 .../spark/auto_sortmerge_join_4.q.out           |    3 +
 .../spark/auto_sortmerge_join_5.q.out           |    3 +
 .../spark/auto_sortmerge_join_6.q.out           |   24 +
 .../spark/auto_sortmerge_join_7.q.out           |    3 +
 .../spark/auto_sortmerge_join_8.q.out           |    3 +
 .../spark/auto_sortmerge_join_9.q.out           |   26 +
 .../results/clientpositive/spark/bucket3.q.out  |    1 +
 .../spark/bucket_map_join_1.q.out               |    2 +
 .../spark/bucket_map_join_2.q.out               |    2 +
 .../spark/bucket_map_join_spark1.q.out          |    4 +
 .../spark/bucket_map_join_spark2.q.out          |    4 +
 .../spark/bucket_map_join_spark3.q.out          |    4 +
 .../spark/bucket_map_join_spark4.q.out          |    6 +
 .../spark/bucket_map_join_tez1.q.out            |   82 +
 .../spark/bucket_map_join_tez2.q.out            |   42 +
 .../clientpositive/spark/bucketmapjoin1.q.out   |    6 +
 .../clientpositive/spark/bucketmapjoin10.q.out  |    2 +
 .../clientpositive/spark/bucketmapjoin11.q.out  |    4 +
 .../clientpositive/spark/bucketmapjoin12.q.out  |    4 +
 .../clientpositive/spark/bucketmapjoin13.q.out  |    8 +
 .../clientpositive/spark/bucketmapjoin2.q.out   |    6 +
 .../clientpositive/spark/bucketmapjoin3.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin4.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin5.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin7.q.out   |    2 +
 .../spark/bucketmapjoin7.q.out_spark            |    2 +
 .../clientpositive/spark/bucketmapjoin8.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin9.q.out   |    4 +
 .../spark/bucketmapjoin_negative.q.out          |    2 +
 .../spark/bucketmapjoin_negative2.q.out         |    2 +
 .../spark/bucketmapjoin_negative3.q.out         |   18 +
 .../spark/bucketsortoptimize_insert_2.q.out     |    6 +
 .../spark/bucketsortoptimize_insert_4.q.out     |    4 +
 .../spark/bucketsortoptimize_insert_6.q.out     |   14 +
 .../spark/bucketsortoptimize_insert_7.q.out     |    3 +
 .../spark/bucketsortoptimize_insert_8.q.out     |    4 +
 .../spark/cbo_simple_select.q.out               |    6 +
 .../spark/column_access_stats.q.out             |    9 +
 .../spark/constprog_partitioner.q.out           |    4 +
 .../spark/constprog_semijoin.q.out              |   16 +
 .../clientpositive/spark/cross_join.q.out       |    4 +
 .../spark/cross_product_check_1.q.out           |    6 +
 .../spark/cross_product_check_2.q.out           |    6 +
 .../spark/dynamic_rdd_cache.q.out               |   10 +
 .../spark/filter_join_breaktask.q.out           |    3 +
 .../clientpositive/spark/groupby_map_ppr.q.out  |    1 +
 .../spark/groupby_map_ppr_multi_distinct.q.out  |    1 +
 .../spark/groupby_multi_single_reducer2.q.out   |    1 +
 .../spark/groupby_multi_single_reducer3.q.out   |    2 +
 .../clientpositive/spark/groupby_position.q.out |    3 +
 .../clientpositive/spark/groupby_ppr.q.out      |    1 +
 .../spark/groupby_ppr_multi_distinct.q.out      |    2 +
 .../spark/groupby_resolution.q.out              |    1 +
 .../spark/groupby_sort_1_23.q.out               |    5 +
 .../spark/groupby_sort_skew_1_23.q.out          |    5 +
 .../results/clientpositive/spark/having.q.out   |    2 +
 .../spark/identity_project_remove_skip.q.out    |    2 +
 .../spark/infer_bucket_sort_map_operators.q.out |    3 +
 .../spark/infer_bucket_sort_num_buckets.q.out   |    1 +
 .../clientpositive/spark/innerjoin.q.out        |    2 +
 .../results/clientpositive/spark/insert1.q.out  |    4 +
 .../clientpositive/spark/insert_into2.q.out     |    1 +
 .../results/clientpositive/spark/join0.q.out    |    2 +
 .../results/clientpositive/spark/join1.q.out    |    2 +
 .../results/clientpositive/spark/join10.q.out   |    2 +
 .../results/clientpositive/spark/join11.q.out   |    2 +
 .../results/clientpositive/spark/join12.q.out   |    3 +
 .../results/clientpositive/spark/join13.q.out   |    3 +
 .../results/clientpositive/spark/join14.q.out   |    2 +
 .../results/clientpositive/spark/join15.q.out   |    2 +
 .../results/clientpositive/spark/join16.q.out   |    2 +
 .../results/clientpositive/spark/join17.q.out   |    2 +
 .../results/clientpositive/spark/join19.q.out   |    6 +
 .../results/clientpositive/spark/join2.q.out    |    3 +
 .../results/clientpositive/spark/join20.q.out   |    4 +
 .../results/clientpositive/spark/join21.q.out   |    1 +
 .../results/clientpositive/spark/join22.q.out   |   23 +-
 .../results/clientpositive/spark/join23.q.out   |    2 +
 .../results/clientpositive/spark/join25.q.out   |    2 +
 .../results/clientpositive/spark/join26.q.out   |    3 +
 .../results/clientpositive/spark/join27.q.out   |    2 +
 .../results/clientpositive/spark/join28.q.out   |    3 +
 .../results/clientpositive/spark/join29.q.out   |    2 +
 .../results/clientpositive/spark/join3.q.out    |    3 +
 .../results/clientpositive/spark/join30.q.out   |    2 +
 .../results/clientpositive/spark/join31.q.out   |    2 +
 .../results/clientpositive/spark/join32.q.out   |    3 +
 .../clientpositive/spark/join32_lessSize.q.out  |   18 +
 .../results/clientpositive/spark/join33.q.out   |    3 +
 .../results/clientpositive/spark/join34.q.out   |    3 +
 .../results/clientpositive/spark/join35.q.out   |    3 +
 .../results/clientpositive/spark/join36.q.out   |    2 +
 .../results/clientpositive/spark/join37.q.out   |    2 +
 .../results/clientpositive/spark/join38.q.out   |    2 +
 .../results/clientpositive/spark/join39.q.out   |    1 +
 .../results/clientpositive/spark/join4.q.out    |    2 +
 .../results/clientpositive/spark/join40.q.out   |   10 +
 .../results/clientpositive/spark/join41.q.out   |    2 +
 .../results/clientpositive/spark/join5.q.out    |    2 +
 .../results/clientpositive/spark/join6.q.out    |    2 +
 .../results/clientpositive/spark/join7.q.out    |    3 +
 .../results/clientpositive/spark/join8.q.out    |    2 +
 .../results/clientpositive/spark/join9.q.out    |    2 +
 .../clientpositive/spark/join_alt_syntax.q.out  |   16 +
 .../spark/join_cond_pushdown_1.q.out            |   10 +
 .../spark/join_cond_pushdown_2.q.out            |    8 +
 .../spark/join_cond_pushdown_3.q.out            |   10 +
 .../spark/join_cond_pushdown_4.q.out            |    8 +
 .../spark/join_cond_pushdown_unqual1.q.out      |   10 +
 .../spark/join_cond_pushdown_unqual2.q.out      |    8 +
 .../spark/join_cond_pushdown_unqual3.q.out      |   10 +
 .../spark/join_cond_pushdown_unqual4.q.out      |    8 +
 .../spark/join_filters_overlap.q.out            |   11 +
 .../clientpositive/spark/join_hive_626.q.out    |    3 +
 .../clientpositive/spark/join_map_ppr.q.out     |    6 +
 .../spark/join_merge_multi_expressions.q.out    |    3 +
 .../clientpositive/spark/join_merging.q.out     |    3 +
 .../clientpositive/spark/join_nullsafe.q.out    |    8 +
 .../results/clientpositive/spark/join_rc.q.out  |    2 +
 .../clientpositive/spark/join_reorder.q.out     |    4 +
 .../clientpositive/spark/join_reorder2.q.out    |    8 +
 .../clientpositive/spark/join_reorder3.q.out    |    8 +
 .../clientpositive/spark/join_reorder4.q.out    |    9 +
 .../clientpositive/spark/join_star.q.out        |    8 +
 .../clientpositive/spark/join_thrift.q.out      |    2 +
 .../results/clientpositive/spark/join_vc.q.out  |    5 +
 .../clientpositive/spark/join_view.q.out        |    2 +
 .../clientpositive/spark/leftsemijoin.q.out     |    2 +
 .../spark/list_bucket_dml_2.q.out               |    2 +
 .../clientpositive/spark/load_dyn_part10.q.out  |    1 +
 .../clientpositive/spark/load_dyn_part13.q.out  |    2 +
 .../clientpositive/spark/load_dyn_part2.q.out   |    1 +
 .../clientpositive/spark/load_dyn_part3.q.out   |    1 +
 .../clientpositive/spark/load_dyn_part4.q.out   |    1 +
 .../clientpositive/spark/load_dyn_part9.q.out   |    1 +
 .../clientpositive/spark/louter_join_ppr.q.out  |    8 +
 .../clientpositive/spark/mapjoin_decimal.q.out  |    2 +
 .../clientpositive/spark/mapjoin_distinct.q.out |    8 +
 .../spark/mapjoin_filter_on_outerjoin.q.out     |    6 +
 .../clientpositive/spark/mapjoin_mapjoin.q.out  |    9 +
 .../clientpositive/spark/mapjoin_memcheck.q.out |    2 +
 .../clientpositive/spark/mapjoin_subquery.q.out |    6 +
 .../spark/mapjoin_subquery2.q.out               |    3 +
 .../clientpositive/spark/mergejoins.q.out       |    8 +
 .../clientpositive/spark/mergejoins_mixed.q.out |   28 +
 .../clientpositive/spark/multi_insert.q.out     |    4 +
 .../clientpositive/spark/multi_insert_gby.q.out |    1 +
 ...i_insert_move_tasks_share_dependencies.q.out |    8 +
 .../clientpositive/spark/multi_join_union.q.out |    4 +
 .../clientpositive/spark/nullgroup.q.out        |    4 +
 .../clientpositive/spark/nullgroup2.q.out       |    4 +
 .../clientpositive/spark/nullgroup4.q.out       |    4 +
 .../spark/nullgroup4_multi_distinct.q.out       |    2 +
 .../spark/orc_merge_incompat1.q.out             |    1 +
 .../clientpositive/spark/outer_join_ppr.q.out   |    4 +
 .../clientpositive/spark/parallel_join0.q.out   |    2 +
 .../clientpositive/spark/parallel_join1.q.out   |    2 +
 .../clientpositive/spark/parquet_join.q.out     |    5 +
 .../spark/parquet_vectorization_0.q.out         |    6 +
 .../spark/parquet_vectorization_1.q.out         |    1 +
 .../spark/parquet_vectorization_10.q.out        |    1 +
 .../spark/parquet_vectorization_11.q.out        |    1 +
 .../spark/parquet_vectorization_12.q.out        |    1 +
 .../spark/parquet_vectorization_13.q.out        |    2 +
 .../spark/parquet_vectorization_14.q.out        |    1 +
 .../spark/parquet_vectorization_15.q.out        |    1 +
 .../spark/parquet_vectorization_16.q.out        |    1 +
 .../spark/parquet_vectorization_17.q.out        |    1 +
 .../spark/parquet_vectorization_2.q.out         |    1 +
 .../spark/parquet_vectorization_3.q.out         |    1 +
 .../spark/parquet_vectorization_4.q.out         |    1 +
 .../spark/parquet_vectorization_5.q.out         |    1 +
 .../spark/parquet_vectorization_6.q.out         |    1 +
 .../spark/parquet_vectorization_7.q.out         |    2 +
 .../spark/parquet_vectorization_8.q.out         |    2 +
 .../spark/parquet_vectorization_9.q.out         |    1 +
 .../parquet_vectorization_decimal_date.q.out    |    1 +
 .../spark/parquet_vectorization_div0.q.out      |    2 +
 .../spark/parquet_vectorization_limit.q.out     |    3 +
 .../parquet_vectorization_offset_limit.q.out    |    2 +
 .../test/results/clientpositive/spark/pcr.q.out |   22 +
 .../clientpositive/spark/ppd_gby_join.q.out     |    4 +
 .../results/clientpositive/spark/ppd_join.q.out |    4 +
 .../clientpositive/spark/ppd_join2.q.out        |    6 +
 .../clientpositive/spark/ppd_join3.q.out        |    6 +
 .../clientpositive/spark/ppd_join4.q.out        |    2 +
 .../clientpositive/spark/ppd_join5.q.out        |    3 +
 .../clientpositive/spark/ppd_join_filter.q.out  |    6 +
 .../clientpositive/spark/ppd_multi_insert.q.out |    4 +
 .../clientpositive/spark/ppd_outer_join1.q.out  |    4 +
 .../clientpositive/spark/ppd_outer_join2.q.out  |    4 +
 .../clientpositive/spark/ppd_outer_join3.q.out  |    4 +
 .../clientpositive/spark/ppd_outer_join4.q.out  |    6 +
 .../clientpositive/spark/ppd_outer_join5.q.out  |    9 +
 .../test/results/clientpositive/spark/ptf.q.out |    5 +
 .../clientpositive/spark/ptf_matchpath.q.out    |    1 +
 .../clientpositive/spark/ptf_streaming.q.out    |    4 +
 .../clientpositive/spark/quotedid_smb.q.out     |    1 +
 .../spark/reduce_deduplicate.q.out              |    1 +
 .../spark/reduce_deduplicate_exclude_join.q.out |    2 +
 .../clientpositive/spark/router_join_ppr.q.out  |    8 +
 .../spark/runtime_skewjoin_mapjoin_spark.q.out  |    4 +
 .../results/clientpositive/spark/sample1.q.out  |    1 +
 .../results/clientpositive/spark/sample10.q.out |    1 +
 .../results/clientpositive/spark/sample7.q.out  |    1 +
 .../results/clientpositive/spark/sample8.q.out  |    5 +
 .../results/clientpositive/spark/semijoin.q.out |   35 +
 .../results/clientpositive/spark/skewjoin.q.out |   19 +
 .../clientpositive/spark/skewjoin_noskew.q.out  |    2 +
 .../spark/skewjoin_union_remove_1.q.out         |    4 +
 .../spark/skewjoin_union_remove_2.q.out         |    3 +
 .../clientpositive/spark/skewjoinopt1.q.out     |    4 +
 .../clientpositive/spark/skewjoinopt10.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt11.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt12.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt13.q.out    |    3 +
 .../clientpositive/spark/skewjoinopt14.q.out    |    3 +
 .../clientpositive/spark/skewjoinopt15.q.out    |    4 +
 .../clientpositive/spark/skewjoinopt16.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt17.q.out    |    4 +
 .../clientpositive/spark/skewjoinopt18.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt19.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt2.q.out     |    4 +
 .../clientpositive/spark/skewjoinopt20.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt3.q.out     |    2 +
 .../clientpositive/spark/skewjoinopt4.q.out     |    4 +
 .../clientpositive/spark/skewjoinopt5.q.out     |    2 +
 .../clientpositive/spark/skewjoinopt6.q.out     |    2 +
 .../clientpositive/spark/skewjoinopt7.q.out     |    3 +
 .../clientpositive/spark/skewjoinopt8.q.out     |    3 +
 .../clientpositive/spark/skewjoinopt9.q.out     |    4 +
 .../clientpositive/spark/smb_mapjoin_1.q.out    |    2 +
 .../clientpositive/spark/smb_mapjoin_10.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_11.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_12.q.out   |    2 +
 .../clientpositive/spark/smb_mapjoin_13.q.out   |    3 +
 .../clientpositive/spark/smb_mapjoin_14.q.out   |   13 +
 .../clientpositive/spark/smb_mapjoin_15.q.out   |    5 +
 .../clientpositive/spark/smb_mapjoin_16.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_17.q.out   |    7 +
 .../clientpositive/spark/smb_mapjoin_18.q.out   |    3 +
 .../clientpositive/spark/smb_mapjoin_19.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_2.q.out    |    2 +
 .../clientpositive/spark/smb_mapjoin_20.q.out   |    3 +
 .../clientpositive/spark/smb_mapjoin_21.q.out   |    6 +
 .../clientpositive/spark/smb_mapjoin_25.q.out   |    8 +
 .../clientpositive/spark/smb_mapjoin_3.q.out    |    2 +
 .../clientpositive/spark/smb_mapjoin_4.q.out    |    4 +
 .../clientpositive/spark/smb_mapjoin_5.q.out    |    4 +
 .../clientpositive/spark/smb_mapjoin_6.q.out    |    5 +
 .../spark_dynamic_partition_pruning_3.q.out     |   17 +
 .../spark_dynamic_partition_pruning_4.q.out     |   27 +
 .../spark_dynamic_partition_pruning_5.q.out     |    7 +
 .../spark_dynamic_partition_pruning_6.q.out     |    4 +
 .../spark_dynamic_partition_pruning_7.q.out     |   10 +
 ...ic_partition_pruning_recursive_mapjoin.q.out |    4 +
 .../spark/spark_union_merge.q.out               |    4 +
 .../spark/spark_use_op_stats.q.out              |    6 +
 .../spark/spark_use_ts_stats_for_mapjoin.q.out  |   10 +
 .../results/clientpositive/spark/stats2.q.out   |    1 +
 .../clientpositive/spark/stats_noscan_2.q.out   |    1 +
 .../clientpositive/spark/subquery_exists.q.out  |    9 +
 .../clientpositive/spark/subquery_in.q.out      |   81 +
 .../clientpositive/spark/subquery_multi.q.out   |   55 +
 .../spark/subquery_multiinsert.q.out            |    6 +
 .../clientpositive/spark/subquery_notin.q.out   |   45 +
 .../clientpositive/spark/subquery_scalar.q.out  |   54 +
 .../clientpositive/spark/subquery_select.q.out  |   54 +-
 .../clientpositive/spark/subquery_views.q.out   |    5 +
 .../clientpositive/spark/temp_table.q.out       |    2 +
 .../clientpositive/spark/temp_table_join1.q.out |    6 +
 .../clientpositive/spark/transform_ppr2.q.out   |    1 +
 .../results/clientpositive/spark/union.q.out    |    2 +
 .../results/clientpositive/spark/union20.q.out  |    2 +
 .../results/clientpositive/spark/union22.q.out  |    3 +
 .../results/clientpositive/spark/union24.q.out  |   12 +
 .../results/clientpositive/spark/union25.q.out  |   25 +-
 .../results/clientpositive/spark/union26.q.out  |    3 +
 .../results/clientpositive/spark/union27.q.out  |    3 +
 .../results/clientpositive/spark/union32.q.out  |    8 +
 .../results/clientpositive/spark/union33.q.out  |    2 +
 .../results/clientpositive/spark/union34.q.out  |    4 +
 .../spark/union_lateralview.q.out               |    1 +
 .../clientpositive/spark/union_ppr.q.out        |  134 +-
 .../clientpositive/spark/union_remove_12.q.out  |    2 +
 .../clientpositive/spark/union_remove_13.q.out  |    2 +
 .../clientpositive/spark/union_remove_14.q.out  |    2 +
 .../clientpositive/spark/union_remove_19.q.out  |    2 +
 .../clientpositive/spark/union_remove_23.q.out  |    2 +
 .../clientpositive/spark/union_remove_25.q.out  |    2 +
 .../clientpositive/spark/union_top_level.q.out  |   14 +
 .../spark/vector_between_in.q.out               |    8 +
 .../spark/vector_decimal_mapjoin.q.out          |   12 +
 .../clientpositive/spark/vector_elt.q.out       |    1 +
 .../spark/vector_inner_join.q.out               |   18 +
 .../spark/vector_mapjoin_reduce.q.out           |    6 +
 .../clientpositive/spark/vectorization_0.q.out  |    6 +
 .../clientpositive/spark/vectorization_1.q.out  |    1 +
 .../clientpositive/spark/vectorization_10.q.out |    1 +
 .../clientpositive/spark/vectorization_11.q.out |    1 +
 .../clientpositive/spark/vectorization_12.q.out |    1 +
 .../clientpositive/spark/vectorization_13.q.out |    2 +
 .../clientpositive/spark/vectorization_14.q.out |    1 +
 .../clientpositive/spark/vectorization_15.q.out |    1 +
 .../clientpositive/spark/vectorization_16.q.out |    1 +
 .../clientpositive/spark/vectorization_17.q.out |    1 +
 .../clientpositive/spark/vectorization_2.q.out  |    1 +
 .../clientpositive/spark/vectorization_3.q.out  |    1 +
 .../clientpositive/spark/vectorization_4.q.out  |    1 +
 .../clientpositive/spark/vectorization_5.q.out  |    1 +
 .../clientpositive/spark/vectorization_6.q.out  |    1 +
 .../clientpositive/spark/vectorization_9.q.out  |    1 +
 .../spark/vectorization_decimal_date.q.out      |    1 +
 .../spark/vectorization_div0.q.out              |    3 +
 .../vectorization_input_format_excludes.q.out   |    6 +
 .../vectorization_parquet_projection.q.out      |    2 +
 .../spark/vectorization_short_regress.q.out     |   12 +
 .../clientpositive/spark/vectorized_case.q.out  |    4 +-
 .../spark/vectorized_mapjoin.q.out              |    2 +
 .../spark/vectorized_math_funcs.q.out           |    1 +
 .../spark/vectorized_nested_mapjoin.q.out       |    3 +
 .../clientpositive/spark/vectorized_ptf.q.out   |    5 +
 .../spark/vectorized_shufflejoin.q.out          |    2 +
 .../spark/vectorized_string_funcs.q.out         |    1 +
 .../special_character_in_tabnames_2.q.out       |    1 +
 .../stat_estimate_related_col.q.out             |   11 +
 ql/src/test/results/clientpositive/stats2.q.out |    1 +
 .../clientpositive/stats_empty_dyn_part.q.out   |    1 +
 .../clientpositive/stats_empty_partition2.q.out |    2 +
 .../results/clientpositive/stats_noscan_2.q.out |    1 +
 .../clientpositive/stats_partial_size.q.out     |    2 +
 .../results/clientpositive/stats_ppr_all.q.out  |    5 +
 .../test/results/clientpositive/structin.q.out  |    2 +
 ql/src/test/results/clientpositive/subq.q.out   |    1 +
 ql/src/test/results/clientpositive/subq2.q.out  |    1 +
 .../subq_where_serialization.q.out              |    2 +
 .../results/clientpositive/subquery_alias.q.out |    1 +
 .../clientpositive/subquery_exists.q.out        |    9 +
 .../clientpositive/subquery_exists_having.q.out |    4 +
 .../clientpositive/subquery_multiinsert.q.out   |    6 +
 .../clientpositive/subquery_notexists.q.out     |    5 +
 .../subquery_notexists_having.q.out             |    2 +
 .../clientpositive/subquery_notin_having.q.out  |    6 +
 .../subquery_unqual_corr_expr.q.out             |    3 +
 .../subquery_unqualcolumnrefs.q.out             |    8 +
 .../clientpositive/temp_table_join1.q.out       |    6 +
 .../clientpositive/tez/explainanalyze_1.q.out   |    8 +-
 .../clientpositive/tez/explainanalyze_4.q.out   |   12 +-
 .../clientpositive/tez/explainanalyze_5.q.out   |   18 +-
 .../tez/hybridgrace_hashjoin_1.q.out            |   20 +
 .../tez/hybridgrace_hashjoin_2.q.out            |   36 +
 .../tez/vector_non_string_partition.q.out       |    2 +
 .../clientpositive/timestamp_ints_casts.q.out   |    2 +
 .../results/clientpositive/transform_ppr2.q.out |    1 +
 .../truncate_column_list_bucket.q.out           |    2 +
 .../results/clientpositive/type_widening.q.out  |    4 +
 ql/src/test/results/clientpositive/udf1.q.out   |    1 +
 ql/src/test/results/clientpositive/udf9.q.out   |    1 +
 .../results/clientpositive/udf_10_trims.q.out   |    1 +
 .../results/clientpositive/udf_between.q.out    |    2 +
 .../udf_case_column_pruning.q.out               |    2 +
 .../clientpositive/udf_folder_constants.q.out   |    2 +
 .../test/results/clientpositive/udf_hour.q.out  |    1 +
 .../clientpositive/udf_isnull_isnotnull.q.out   |    1 +
 .../test/results/clientpositive/udf_like.q.out  |    1 +
 .../test/results/clientpositive/udf_lower.q.out |    1 +
 .../results/clientpositive/udf_minute.q.out     |    1 +
 .../results/clientpositive/udf_notequal.q.out   |    2 +
 .../results/clientpositive/udf_parse_url.q.out  |    1 +
 .../results/clientpositive/udf_second.q.out     |    1 +
 .../test/results/clientpositive/udf_size.q.out  |    1 +
 .../clientpositive/udf_to_unix_timestamp.q.out  |    2 +
 ql/src/test/results/clientpositive/union.q.out  |    2 +
 .../test/results/clientpositive/union20.q.out   |    2 +
 .../test/results/clientpositive/union22.q.out   |    5 +
 .../test/results/clientpositive/union24.q.out   |   12 +
 .../test/results/clientpositive/union25.q.out   |    3 +
 .../test/results/clientpositive/union26.q.out   |    3 +
 .../test/results/clientpositive/union27.q.out   |    3 +
 .../test/results/clientpositive/union32.q.out   |    8 +
 .../test/results/clientpositive/union33.q.out   |    2 +
 .../test/results/clientpositive/union34.q.out   |    4 +
 .../clientpositive/union_lateralview.q.out      |    1 +
 .../results/clientpositive/union_offcbo.q.out   |   12 +
 .../clientpositive/union_pos_alias.q.out        |    2 +
 .../test/results/clientpositive/union_ppr.q.out |    2 +
 .../clientpositive/union_remove_12.q.out        |    2 +
 .../clientpositive/union_remove_13.q.out        |    2 +
 .../clientpositive/union_remove_14.q.out        |    2 +
 .../clientpositive/union_remove_19.q.out        |    4 +
 .../clientpositive/union_remove_23.q.out        |    2 +
 .../clientpositive/union_remove_25.q.out        |    4 +
 .../clientpositive/unionall_unbalancedppd.q.out |    3 +
 .../clientpositive/updateBasicStats.q.out       |    8 +
 .../vector_aggregate_without_gby.q.out          |    1 +
 .../vector_binary_join_groupby.q.out            |    4 +
 .../clientpositive/vector_char_mapjoin1.q.out   |    6 +
 .../results/clientpositive/vector_date_1.q.out  |    3 +
 .../clientpositive/vector_decimal_cast.q.out    |    2 +
 .../vector_decimal_expressions.q.out            |    2 +
 .../clientpositive/vector_decimal_mapjoin.q.out |   12 +
 .../vector_decimal_math_funcs.q.out             |    2 +
 .../clientpositive/vector_decimal_udf2.q.out    |    4 +
 .../results/clientpositive/vector_elt.q.out     |    1 +
 .../clientpositive/vector_groupby_reduce.q.out  |    1 +
 .../results/clientpositive/vector_if_expr.q.out |    1 +
 .../vector_interval_mapjoin.q.out               |    2 +
 .../vector_join_part_col_char.q.out             |    2 +
 .../vector_mr_diff_schema_alias.q.out           |    3 +
 .../vector_non_constant_in_expr.q.out           |    1 +
 .../vector_non_string_partition.q.out           |    2 +
 .../results/clientpositive/vector_nvl.q.out     |    1 +
 .../vector_reduce_groupby_decimal.q.out         |    1 +
 .../vector_reduce_groupby_duplicate_cols.q.out  |    1 +
 .../clientpositive/vector_struct_in.q.out       |    4 +
 .../vector_varchar_mapjoin1.q.out               |    6 +
 .../clientpositive/vectorization_1.q.out        |    1 +
 .../clientpositive/vectorization_10.q.out       |    1 +
 .../clientpositive/vectorization_11.q.out       |    1 +
 .../clientpositive/vectorization_12.q.out       |    1 +
 .../clientpositive/vectorization_13.q.out       |    2 +
 .../clientpositive/vectorization_14.q.out       |    1 +
 .../clientpositive/vectorization_15.q.out       |    1 +
 .../clientpositive/vectorization_16.q.out       |    1 +
 .../clientpositive/vectorization_17.q.out       |    1 +
 .../clientpositive/vectorization_2.q.out        |    1 +
 .../clientpositive/vectorization_3.q.out        |    1 +
 .../clientpositive/vectorization_4.q.out        |    1 +
 .../clientpositive/vectorization_5.q.out        |    1 +
 .../clientpositive/vectorization_6.q.out        |    1 +
 .../clientpositive/vectorization_7.q.out        |    2 +
 .../clientpositive/vectorization_8.q.out        |    2 +
 .../clientpositive/vectorization_9.q.out        |    1 +
 .../vectorization_decimal_date.q.out            |    1 +
 .../clientpositive/vectorization_limit.q.out    |    3 +
 .../vectorization_numeric_overflows.q.out       |   10 +
 .../vectorization_offset_limit.q.out            |    2 +
 .../vectorization_parquet_projection.q.out      |    2 +
 .../vectorized_bucketmapjoin1.q.out             |    3 +
 .../clientpositive/vectorized_case.q.out        |    2 +
 .../clientpositive/vectorized_casts.q.out       |    1 +
 .../clientpositive/vectorized_context.q.out     |    3 +
 .../clientpositive/vectorized_mapjoin.q.out     |    2 +
 .../clientpositive/vectorized_mapjoin2.q.out    |    2 +
 .../clientpositive/vectorized_mapjoin3.q.out    |    3 +
 .../clientpositive/vectorized_math_funcs.q.out  |    1 +
 .../clientpositive/vectorized_shufflejoin.q.out |    2 +
 .../vectorized_string_funcs.q.out               |    1 +
 .../clientpositive/vectorized_timestamp.q.out   |    1 +
 .../vectorized_timestamp_ints_casts.q.out       |    2 +
 .../results/clientpositive/windowing_gby2.q.out |    2 +
 .../clientpositive/windowing_navfn.q.out        |    1 +
 .../TransactionalValidationListener.java        |    5 +-
 .../hive/metastore/conf/MetastoreConf.java      |    3 +
 .../metastore/utils/HiveStrictManagedUtils.java |  100 +
 .../apache/hadoop/hive/tools/GenVectorCode.java |   89 +-
 1591 files changed, 28445 insertions(+), 9567 deletions(-)
----------------------------------------------------------------------



[16/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query15.q.out b/ql/src/test/results/clientpositive/perf/tez/query15.q.out
index e4e0199..b593a2e 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query15.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query15.q.out
@@ -39,6 +39,8 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 7 <- Reducer 10 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
@@ -50,14 +52,14 @@ Stage-0
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_63]
-        Limit [LIM_62] (rows=100 width=135)
+      File Output Operator [FS_98]
+        Limit [LIM_97] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_61] (rows=174233858 width=135)
+          Select Operator [SEL_96] (rows=174233858 width=135)
             Output:["_col0","_col1"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_60]
-              Group By Operator [GBY_59] (rows=174233858 width=135)
+            SHUFFLE [RS_95]
+              Group By Operator [GBY_94] (rows=174233858 width=135)
                 Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_25]
@@ -68,52 +70,63 @@ Stage-0
                       Output:["_col4","_col7"]
                       Filter Operator [FIL_22] (rows=348467716 width=135)
                         predicate:((_col3) IN ('CA', 'WA', 'GA') or (_col7 > 500) or (substr(_col4, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792'))
-                        Merge Join Operator [MERGEJOIN_46] (rows=348467716 width=135)
+                        Merge Join Operator [MERGEJOIN_76] (rows=348467716 width=135)
                           Conds:RS_19._col0=RS_20._col1(Inner),Output:["_col3","_col4","_col7"]
                         <-Reducer 2 [SIMPLE_EDGE]
                           SHUFFLE [RS_19]
                             PartitionCols:_col0
-                            Merge Join Operator [MERGEJOIN_44] (rows=88000001 width=860)
-                              Conds:RS_49._col1=RS_52._col0(Inner),Output:["_col0","_col3","_col4"]
+                            Merge Join Operator [MERGEJOIN_74] (rows=88000001 width=860)
+                              Conds:RS_79._col1=RS_82._col0(Inner),Output:["_col0","_col3","_col4"]
                             <-Map 1 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_49]
+                              SHUFFLE [RS_79]
                                 PartitionCols:_col1
-                                Select Operator [SEL_48] (rows=80000000 width=860)
+                                Select Operator [SEL_78] (rows=80000000 width=860)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_47] (rows=80000000 width=860)
+                                  Filter Operator [FIL_77] (rows=80000000 width=860)
                                     predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                                     TableScan [TS_0] (rows=80000000 width=860)
                                       default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
                             <-Map 6 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_52]
+                              SHUFFLE [RS_82]
                                 PartitionCols:_col0
-                                Select Operator [SEL_51] (rows=40000000 width=1014)
+                                Select Operator [SEL_81] (rows=40000000 width=1014)
                                   Output:["_col0","_col1","_col2"]
-                                  Filter Operator [FIL_50] (rows=40000000 width=1014)
+                                  Filter Operator [FIL_80] (rows=40000000 width=1014)
                                     predicate:ca_address_sk is not null
                                     TableScan [TS_3] (rows=40000000 width=1014)
                                       default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_zip"]
                         <-Reducer 8 [SIMPLE_EDGE]
                           SHUFFLE [RS_20]
                             PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_45] (rows=316788826 width=135)
-                              Conds:RS_55._col0=RS_58._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 7 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_55]
-                                PartitionCols:_col0
-                                Select Operator [SEL_54] (rows=287989836 width=135)
-                                  Output:["_col0","_col1","_col2"]
-                                  Filter Operator [FIL_53] (rows=287989836 width=135)
-                                    predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
-                                    TableScan [TS_6] (rows=287989836 width=135)
-                                      default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_sales_price"]
+                            Merge Join Operator [MERGEJOIN_75] (rows=316788826 width=135)
+                              Conds:RS_93._col0=RS_85._col0(Inner),Output:["_col1","_col2"]
                             <-Map 9 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_58]
+                              SHUFFLE [RS_85]
                                 PartitionCols:_col0
-                                Select Operator [SEL_57] (rows=18262 width=1119)
+                                Select Operator [SEL_84] (rows=18262 width=1119)
                                   Output:["_col0"]
-                                  Filter Operator [FIL_56] (rows=18262 width=1119)
+                                  Filter Operator [FIL_83] (rows=18262 width=1119)
                                     predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
                                     TableScan [TS_9] (rows=73049 width=1119)
                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
+                            <-Map 7 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_93]
+                                PartitionCols:_col0
+                                Select Operator [SEL_92] (rows=287989836 width=135)
+                                  Output:["_col0","_col1","_col2"]
+                                  Filter Operator [FIL_91] (rows=287989836 width=135)
+                                    predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+                                    TableScan [TS_6] (rows=287989836 width=135)
+                                      default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_sales_price"]
+                                    <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_90]
+                                        Group By Operator [GBY_89] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                        <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_88]
+                                            Group By Operator [GBY_87] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_86] (rows=18262 width=1119)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_84]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query16.q.out b/ql/src/test/results/clientpositive/perf/tez/query16.q.out
index 7df8385..28cf571 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query16.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query16.q.out
@@ -61,12 +61,16 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 15 <- Map 14 (SIMPLE_EDGE)
+Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Map 17 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE)
-Reducer 3 <- Map 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 15 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 16 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 18 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE)
 Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
@@ -76,22 +80,22 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 9 vectorized
-      File Output Operator [FS_114]
-        Limit [LIM_113] (rows=1 width=344)
+      File Output Operator [FS_174]
+        Limit [LIM_173] (rows=1 width=344)
           Number of rows:100
-          Select Operator [SEL_112] (rows=1 width=344)
+          Select Operator [SEL_172] (rows=1 width=344)
             Output:["_col0","_col1","_col2"]
           <-Reducer 8 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_111]
-              Select Operator [SEL_110] (rows=1 width=344)
+            SHUFFLE [RS_171]
+              Select Operator [SEL_170] (rows=1 width=344)
                 Output:["_col1","_col2","_col3"]
-                Group By Operator [GBY_109] (rows=1 width=344)
+                Group By Operator [GBY_169] (rows=1 width=344)
                   Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"]
                 <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
-                  PARTITION_ONLY_SHUFFLE [RS_108]
-                    Group By Operator [GBY_107] (rows=1 width=344)
+                  PARTITION_ONLY_SHUFFLE [RS_168]
+                    Group By Operator [GBY_167] (rows=1 width=344)
                       Output:["_col0","_col1","_col2"],aggregations:["count(_col0)","sum(_col1)","sum(_col2)"]
-                      Group By Operator [GBY_106] (rows=231905279 width=135)
+                      Group By Operator [GBY_166] (rows=231905279 width=135)
                         Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0
                       <-Reducer 6 [SIMPLE_EDGE]
                         SHUFFLE [RS_74]
@@ -102,21 +106,21 @@ Stage-0
                               Output:["_col4","_col5","_col6"]
                               Filter Operator [FIL_41] (rows=231905279 width=135)
                                 predicate:_col14 is null
-                                Merge Join Operator [MERGEJOIN_83] (rows=463810558 width=135)
-                                  Conds:RS_38._col4=RS_105._col0(Left Outer),Output:["_col4","_col5","_col6","_col14"]
-                                <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
-                                  FORWARD [RS_105]
+                                Merge Join Operator [MERGEJOIN_128] (rows=463810558 width=135)
+                                  Conds:RS_38._col4=RS_165._col0(Left Outer),Output:["_col4","_col5","_col6","_col14"]
+                                <-Reducer 18 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_165]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_104] (rows=14399440 width=106)
+                                    Select Operator [SEL_164] (rows=14399440 width=106)
                                       Output:["_col0","_col1"]
-                                      Group By Operator [GBY_103] (rows=14399440 width=106)
+                                      Group By Operator [GBY_163] (rows=14399440 width=106)
                                         Output:["_col0"],keys:KEY._col0
-                                      <-Map 14 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_102]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_162]
                                           PartitionCols:_col0
-                                          Group By Operator [GBY_101] (rows=28798881 width=106)
+                                          Group By Operator [GBY_161] (rows=28798881 width=106)
                                             Output:["_col0"],keys:cr_order_number
-                                            Filter Operator [FIL_100] (rows=28798881 width=106)
+                                            Filter Operator [FIL_160] (rows=28798881 width=106)
                                               predicate:cr_order_number is not null
                                               TableScan [TS_25] (rows=28798881 width=106)
                                                 default@catalog_returns,cr1,Tbl:COMPLETE,Col:NONE,Output:["cr_order_number"]
@@ -125,68 +129,101 @@ Stage-0
                                     PartitionCols:_col4
                                     Select Operator [SEL_37] (rows=421645953 width=135)
                                       Output:["_col4","_col5","_col6"]
-                                      Merge Join Operator [MERGEJOIN_82] (rows=421645953 width=135)
-                                        Conds:RS_34._col4=RS_99._col0(Left Semi),Output:["_col3","_col4","_col5","_col6","_col14"],residual filter predicates:{(_col3 <> _col14)}
-                                      <-Map 13 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_99]
+                                      Merge Join Operator [MERGEJOIN_127] (rows=421645953 width=135)
+                                        Conds:RS_34._col4=RS_159._col0(Left Semi),Output:["_col3","_col4","_col5","_col6","_col14"],residual filter predicates:{(_col3 <> _col14)}
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_159]
                                           PartitionCols:_col0
-                                          Group By Operator [GBY_98] (rows=287989836 width=135)
+                                          Group By Operator [GBY_158] (rows=287989836 width=135)
                                             Output:["_col0","_col1"],keys:_col0, _col1
-                                            Select Operator [SEL_97] (rows=287989836 width=135)
+                                            Select Operator [SEL_157] (rows=287989836 width=135)
                                               Output:["_col0","_col1"]
-                                              Filter Operator [FIL_96] (rows=287989836 width=135)
+                                              Filter Operator [FIL_156] (rows=287989836 width=135)
                                                 predicate:(cs_order_number is not null and cs_warehouse_sk is not null)
                                                 TableScan [TS_22] (rows=287989836 width=135)
                                                   default@catalog_sales,cs2,Tbl:COMPLETE,Col:NONE,Output:["cs_warehouse_sk","cs_order_number"]
                                       <-Reducer 4 [SIMPLE_EDGE]
                                         SHUFFLE [RS_34]
                                           PartitionCols:_col4
-                                          Merge Join Operator [MERGEJOIN_81] (rows=383314495 width=135)
-                                            Conds:RS_18._col2=RS_95._col0(Inner),Output:["_col3","_col4","_col5","_col6"]
-                                          <-Map 12 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_95]
+                                          Merge Join Operator [MERGEJOIN_126] (rows=383314495 width=135)
+                                            Conds:RS_18._col2=RS_147._col0(Inner),Output:["_col3","_col4","_col5","_col6"]
+                                          <-Map 14 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_147]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_94] (rows=30 width=2045)
+                                              Select Operator [SEL_146] (rows=30 width=2045)
                                                 Output:["_col0"]
-                                                Filter Operator [FIL_93] (rows=30 width=2045)
+                                                Filter Operator [FIL_145] (rows=30 width=2045)
                                                   predicate:((cc_county) IN ('Ziebach County', 'Levy County', 'Huron County', 'Franklin Parish', 'Daviess County') and cc_call_center_sk is not null)
                                                   TableScan [TS_9] (rows=60 width=2045)
                                                     default@call_center,call_center,Tbl:COMPLETE,Col:NONE,Output:["cc_call_center_sk","cc_county"]
                                           <-Reducer 3 [SIMPLE_EDGE]
                                             SHUFFLE [RS_18]
                                               PartitionCols:_col2
-                                              Merge Join Operator [MERGEJOIN_80] (rows=348467716 width=135)
-                                                Conds:RS_15._col1=RS_92._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
-                                              <-Map 11 [SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_92]
+                                              Merge Join Operator [MERGEJOIN_125] (rows=348467716 width=135)
+                                                Conds:RS_15._col1=RS_139._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+                                              <-Map 12 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_139]
                                                   PartitionCols:_col0
-                                                  Select Operator [SEL_91] (rows=20000000 width=1014)
+                                                  Select Operator [SEL_138] (rows=20000000 width=1014)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_90] (rows=20000000 width=1014)
+                                                    Filter Operator [FIL_137] (rows=20000000 width=1014)
                                                       predicate:((ca_state = 'NY') and ca_address_sk is not null)
                                                       TableScan [TS_6] (rows=40000000 width=1014)
                                                         default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
                                               <-Reducer 2 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_15]
                                                   PartitionCols:_col1
-                                                  Merge Join Operator [MERGEJOIN_79] (rows=316788826 width=135)
-                                                    Conds:RS_86._col0=RS_89._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_86]
-                                                      PartitionCols:_col0
-                                                      Select Operator [SEL_85] (rows=287989836 width=135)
-                                                        Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                        Filter Operator [FIL_84] (rows=287989836 width=135)
-                                                          predicate:(cs_call_center_sk is not null and cs_order_number is not null and cs_ship_addr_sk is not null and cs_ship_date_sk is not null)
-                                                          TableScan [TS_0] (rows=287989836 width=135)
-                                                            default@catalog_sales,cs1,Tbl:COMPLETE,Col:NONE,Output:["cs_ship_date_sk","cs_ship_addr_sk","cs_call_center_sk","cs_warehouse_sk","cs_order_number","cs_ext_ship_cost","cs_net_profit"]
+                                                  Merge Join Operator [MERGEJOIN_124] (rows=316788826 width=135)
+                                                    Conds:RS_155._col0=RS_131._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
                                                   <-Map 10 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_89]
+                                                    SHUFFLE [RS_131]
                                                       PartitionCols:_col0
-                                                      Select Operator [SEL_88] (rows=8116 width=1119)
+                                                      Select Operator [SEL_130] (rows=8116 width=1119)
                                                         Output:["_col0"]
-                                                        Filter Operator [FIL_87] (rows=8116 width=1119)
+                                                        Filter Operator [FIL_129] (rows=8116 width=1119)
                                                           predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-04-01 00:00:00.0' AND TIMESTAMP'2001-05-31 01:00:00.0' and d_date_sk is not null)
                                                           TableScan [TS_3] (rows=73049 width=1119)
                                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
+                                                  <-Map 1 [SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_155]
+                                                      PartitionCols:_col0
+                                                      Select Operator [SEL_154] (rows=287989836 width=135)
+                                                        Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+                                                        Filter Operator [FIL_153] (rows=287989836 width=135)
+                                                          predicate:((cs_call_center_sk BETWEEN DynamicValue(RS_19_call_center_cc_call_center_sk_min) AND DynamicValue(RS_19_call_center_cc_call_center_sk_max) and in_bloom_filter(cs_call_center_sk, DynamicValue(RS_19_call_center_cc_call_center_sk_bloom_filter))) and (cs_ship_addr_sk BETWEEN DynamicValue(RS_16_customer_address_ca_address_sk_min) AND DynamicValue(RS_16_customer_address_ca_address_sk_max) and in_bloom_filter(cs_ship_addr_sk, DynamicValue(RS_16_customer_address_ca_address_sk_bloom_filter))) and (cs_ship_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(cs_ship_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and cs_call_center_sk is not null and cs_order_number is not null and cs_ship_addr_sk is not null and cs_ship_date_sk is not null)
+                                                          TableScan [TS_0] (rows=287989836 width=135)
+                                                            default@catalog_sales,cs1,Tbl:COMPLETE,Col:NONE,Output:["cs_ship_date_sk","cs_ship_addr_sk","cs_call_center_sk","cs_warehouse_sk","cs_order_number","cs_ext_ship_cost","cs_net_profit"]
+                                                          <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                            BROADCAST [RS_136]
+                                                              Group By Operator [GBY_135] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                              <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                SHUFFLE [RS_134]
+                                                                  Group By Operator [GBY_133] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                    Select Operator [SEL_132] (rows=8116 width=1119)
+                                                                      Output:["_col0"]
+                                                                       Please refer to the previous Select Operator [SEL_130]
+                                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                            BROADCAST [RS_144]
+                                                              Group By Operator [GBY_143] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=20000000)"]
+                                                              <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                SHUFFLE [RS_142]
+                                                                  Group By Operator [GBY_141] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=20000000)"]
+                                                                    Select Operator [SEL_140] (rows=20000000 width=1014)
+                                                                      Output:["_col0"]
+                                                                       Please refer to the previous Select Operator [SEL_138]
+                                                          <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                            BROADCAST [RS_152]
+                                                              Group By Operator [GBY_151] (rows=1 width=12)
+                                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                              <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                SHUFFLE [RS_150]
+                                                                  Group By Operator [GBY_149] (rows=1 width=12)
+                                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                    Select Operator [SEL_148] (rows=30 width=2045)
+                                                                      Output:["_col0"]
+                                                                       Please refer to the previous Select Operator [SEL_146]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query17.q.out b/ql/src/test/results/clientpositive/perf/tez/query17.q.out
index 0551653..2e5e254 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query17.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query17.q.out
@@ -89,31 +89,39 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 11 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 14 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Map 1 <- Reducer 17 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 18 <- Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE)
+Reducer 10 <- Map 18 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 19 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 20 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_129]
-        Limit [LIM_128] (rows=100 width=88)
+      File Output Operator [FS_256]
+        Limit [LIM_255] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_127] (rows=421657640 width=88)
+          Select Operator [SEL_254] (rows=421657640 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_126]
-              Select Operator [SEL_125] (rows=421657640 width=88)
+            SHUFFLE [RS_253]
+              Select Operator [SEL_252] (rows=421657640 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                Group By Operator [GBY_124] (rows=421657640 width=88)
+                Group By Operator [GBY_251] (rows=421657640 width=88)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","count(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)","sum(VALUE._col7)","count(VALUE._col8)","sum(VALUE._col9)","sum(VALUE._col10)","sum(VALUE._col11)"],keys:KEY._col0, KEY._col1, KEY._col2
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_50]
@@ -122,106 +130,172 @@ Stage-0
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["count(_col3)","sum(_col3)","sum(_col7)","sum(_col6)","count(_col4)","sum(_col4)","sum(_col9)","sum(_col8)","count(_col5)","sum(_col5)","sum(_col11)","sum(_col10)"],keys:_col0, _col1, _col2
                       Select Operator [SEL_47] (rows=843315281 width=88)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                        Merge Join Operator [MERGEJOIN_99] (rows=843315281 width=88)
-                          Conds:RS_44._col3=RS_123._col0(Inner),Output:["_col5","_col9","_col10","_col14","_col21","_col25"]
-                        <-Map 15 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_123]
+                        Merge Join Operator [MERGEJOIN_202] (rows=843315281 width=88)
+                          Conds:RS_44._col3=RS_230._col0(Inner),Output:["_col5","_col9","_col10","_col14","_col21","_col25"]
+                        <-Map 20 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_230]
                             PartitionCols:_col0
-                            Select Operator [SEL_122] (rows=1704 width=1910)
+                            Select Operator [SEL_229] (rows=1704 width=1910)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_121] (rows=1704 width=1910)
+                              Filter Operator [FIL_228] (rows=1704 width=1910)
                                 predicate:s_store_sk is not null
                                 TableScan [TS_32] (rows=1704 width=1910)
                                   default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"]
                         <-Reducer 4 [SIMPLE_EDGE]
                           SHUFFLE [RS_44]
                             PartitionCols:_col3
-                            Merge Join Operator [MERGEJOIN_98] (rows=766650239 width=88)
+                            Merge Join Operator [MERGEJOIN_201] (rows=766650239 width=88)
                               Conds:RS_41._col1, _col2, _col4=RS_42._col7, _col8, _col9(Inner),Output:["_col3","_col5","_col9","_col10","_col14","_col21"]
-                            <-Reducer 10 [SIMPLE_EDGE]
+                            <-Reducer 11 [SIMPLE_EDGE]
                               SHUFFLE [RS_42]
                                 PartitionCols:_col7, _col8, _col9
-                                Merge Join Operator [MERGEJOIN_97] (rows=348467716 width=135)
+                                Merge Join Operator [MERGEJOIN_200] (rows=348467716 width=135)
                                   Conds:RS_28._col2, _col1=RS_29._col1, _col2(Inner),Output:["_col3","_col7","_col8","_col9","_col10"]
-                                <-Reducer 11 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_29]
+                                <-Reducer 13 [SIMPLE_EDGE]
+                                  PARTITION_ONLY_SHUFFLE [RS_29]
                                     PartitionCols:_col1, _col2
-                                    Merge Join Operator [MERGEJOIN_96] (rows=63350266 width=77)
-                                      Conds:RS_120._col0=RS_111._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                    Merge Join Operator [MERGEJOIN_199] (rows=63350266 width=77)
+                                      Conds:RS_243._col0=RS_213._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_111]
+                                      PARTITION_ONLY_SHUFFLE [RS_213]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_108] (rows=36525 width=1119)
+                                        Select Operator [SEL_208] (rows=36525 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_105] (rows=36525 width=1119)
+                                          Filter Operator [FIL_205] (rows=36525 width=1119)
                                             predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
                                             TableScan [TS_3] (rows=73049 width=1119)
                                               default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"]
-                                    <-Map 14 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_120]
+                                    <-Map 19 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_243]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_119] (rows=57591150 width=77)
+                                        Select Operator [SEL_242] (rows=57591150 width=77)
                                           Output:["_col0","_col1","_col2","_col3","_col4"]
-                                          Filter Operator [FIL_118] (rows=57591150 width=77)
+                                          Filter Operator [FIL_241] (rows=57591150 width=77)
                                             predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
                                             TableScan [TS_15] (rows=57591150 width=77)
                                               default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
-                                <-Reducer 9 [SIMPLE_EDGE]
+                                <-Reducer 10 [SIMPLE_EDGE]
                                   SHUFFLE [RS_28]
                                     PartitionCols:_col2, _col1
-                                    Merge Join Operator [MERGEJOIN_95] (rows=316788826 width=135)
-                                      Conds:RS_117._col0=RS_110._col0(Inner),Output:["_col1","_col2","_col3"]
+                                    Merge Join Operator [MERGEJOIN_198] (rows=316788826 width=135)
+                                      Conds:RS_250._col0=RS_211._col0(Inner),Output:["_col1","_col2","_col3"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_110]
+                                      PARTITION_ONLY_SHUFFLE [RS_211]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_107] (rows=36525 width=1119)
+                                        Select Operator [SEL_207] (rows=36525 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_104] (rows=36525 width=1119)
+                                          Filter Operator [FIL_204] (rows=36525 width=1119)
                                             predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
                                              Please refer to the previous TableScan [TS_3]
-                                    <-Map 13 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_117]
+                                    <-Map 18 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_250]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_116] (rows=287989836 width=135)
+                                        Select Operator [SEL_249] (rows=287989836 width=135)
                                           Output:["_col0","_col1","_col2","_col3"]
-                                          Filter Operator [FIL_115] (rows=287989836 width=135)
-                                            predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                          Filter Operator [FIL_248] (rows=287989836 width=135)
+                                            predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_29_store_returns_sr_customer_sk_min) AND DynamicValue(RS_29_store_returns_sr_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_29_store_returns_sr_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_29_store_returns_sr_item_sk_min) AND DynamicValue(RS_29_store_returns_sr_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_29_store_returns_sr_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_26_d3_d_date_sk_min) AND DynamicValue(RS_26_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_26_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
                                             TableScan [TS_9] (rows=287989836 width=135)
                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"]
+                                            <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_240]
+                                                Group By Operator [GBY_239] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_217]
+                                                    Group By Operator [GBY_215] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_212] (rows=36525 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_207]
+                                            <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_245]
+                                                Group By Operator [GBY_244] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+                                                  PARTITION_ONLY_SHUFFLE [RS_141]
+                                                    Group By Operator [GBY_140] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                      Select Operator [SEL_139] (rows=63350266 width=77)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Merge Join Operator [MERGEJOIN_199]
+                                            <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_247]
+                                                Group By Operator [GBY_246] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+                                                  PARTITION_ONLY_SHUFFLE [RS_146]
+                                                    Group By Operator [GBY_145] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                      Select Operator [SEL_144] (rows=63350266 width=77)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Merge Join Operator [MERGEJOIN_199]
                             <-Reducer 3 [SIMPLE_EDGE]
                               SHUFFLE [RS_41]
                                 PartitionCols:_col1, _col2, _col4
-                                Merge Join Operator [MERGEJOIN_94] (rows=696954748 width=88)
-                                  Conds:RS_38._col1=RS_114._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col9","_col10"]
-                                <-Map 12 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_114]
+                                Merge Join Operator [MERGEJOIN_197] (rows=696954748 width=88)
+                                  Conds:RS_38._col1=RS_222._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col9","_col10"]
+                                <-Map 16 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_222]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_113] (rows=462000 width=1436)
+                                    Select Operator [SEL_221] (rows=462000 width=1436)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_112] (rows=462000 width=1436)
+                                      Filter Operator [FIL_220] (rows=462000 width=1436)
                                         predicate:i_item_sk is not null
                                         TableScan [TS_6] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"]
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_38]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_93] (rows=633595212 width=88)
-                                      Conds:RS_102._col0=RS_109._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    Merge Join Operator [MERGEJOIN_196] (rows=633595212 width=88)
+                                      Conds:RS_238._col0=RS_209._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_109]
+                                      PARTITION_ONLY_SHUFFLE [RS_209]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_106] (rows=36524 width=1119)
+                                        Select Operator [SEL_206] (rows=36524 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_103] (rows=36524 width=1119)
+                                          Filter Operator [FIL_203] (rows=36524 width=1119)
                                             predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null)
                                              Please refer to the previous TableScan [TS_3]
                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_102]
+                                      SHUFFLE [RS_238]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_101] (rows=575995635 width=88)
+                                        Select Operator [SEL_237] (rows=575995635 width=88)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_100] (rows=575995635 width=88)
-                                            predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                          Filter Operator [FIL_236] (rows=575995635 width=88)
+                                            predicate:((ss_item_sk BETWEEN DynamicValue(RS_39_item_i_item_sk_min) AND DynamicValue(RS_39_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_39_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_45_store_s_store_sk_min) AND DynamicValue(RS_45_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_45_store_s_store_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
                                             TableScan [TS_0] (rows=575995635 width=88)
                                               default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
+                                            <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_227]
+                                                Group By Operator [GBY_226] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_225]
+                                                    Group By Operator [GBY_224] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_223] (rows=462000 width=1436)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_221]
+                                            <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_235]
+                                                Group By Operator [GBY_234] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_233]
+                                                    Group By Operator [GBY_232] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_231] (rows=1704 width=1910)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_229]
+                                            <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_219]
+                                                Group By Operator [GBY_218] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_216]
+                                                    Group By Operator [GBY_214] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_210] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_206]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query18.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query18.q.out b/ql/src/test/results/clientpositive/perf/tez/query18.q.out
index 5fa9ad7..e858527 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query18.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query18.q.out
@@ -67,30 +67,35 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 13 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 14 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 12 <- Map 15 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Map 10 <- Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Reducer 12 <- Map 16 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 18 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_110]
-        Limit [LIM_109] (rows=100 width=135)
+      File Output Operator [FS_187]
+        Limit [LIM_186] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_108] (rows=1054114882 width=135)
+          Select Operator [SEL_185] (rows=1054114882 width=135)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_107]
-              Select Operator [SEL_106] (rows=1054114882 width=135)
+            SHUFFLE [RS_184]
+              Select Operator [SEL_183] (rows=1054114882 width=135)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
-                Group By Operator [GBY_105] (rows=1054114882 width=135)
+                Group By Operator [GBY_182] (rows=1054114882 width=135)
                   Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)","sum(VALUE._col8)","count(VALUE._col9)","sum(VALUE._col10)","count(VALUE._col11)","sum(VALUE._col12)","count(VALUE._col13)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_43]
@@ -99,96 +104,140 @@ Stage-0
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14","_col15","_col16","_col17","_col18"],aggregations:["sum(_col4)","count(_col4)","sum(_col5)","count(_col5)","sum(_col6)","count(_col6)","sum(_col7)","count(_col7)","sum(_col8)","count(_col8)","sum(_col9)","count(_col9)","sum(_col10)","count(_col10)"],keys:_col0, _col1, _col2, _col3, 0L
                       Select Operator [SEL_40] (rows=421645953 width=135)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
-                        Merge Join Operator [MERGEJOIN_83] (rows=421645953 width=135)
+                        Merge Join Operator [MERGEJOIN_143] (rows=421645953 width=135)
                           Conds:RS_37._col0=RS_38._col3(Inner),Output:["_col4","_col6","_col7","_col8","_col11","_col16","_col17","_col18","_col19","_col20","_col26"]
-                        <-Reducer 12 [SIMPLE_EDGE]
+                        <-Reducer 3 [SIMPLE_EDGE]
+                          PARTITION_ONLY_SHUFFLE [RS_37]
+                            PartitionCols:_col0
+                            Merge Join Operator [MERGEJOIN_139] (rows=48400001 width=860)
+                              Conds:RS_34._col1=RS_152._col0(Inner),Output:["_col0","_col4","_col6","_col7","_col8"]
+                            <-Map 9 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_152]
+                                PartitionCols:_col0
+                                Select Operator [SEL_151] (rows=1861800 width=385)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_150] (rows=1861800 width=385)
+                                    predicate:cd_demo_sk is not null
+                                    TableScan [TS_6] (rows=1861800 width=385)
+                                      default@customer_demographics,cd2,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk"]
+                            <-Reducer 2 [SIMPLE_EDGE]
+                              SHUFFLE [RS_34]
+                                PartitionCols:_col1
+                                Merge Join Operator [MERGEJOIN_138] (rows=44000000 width=860)
+                                  Conds:RS_146._col2=RS_149._col0(Inner),Output:["_col0","_col1","_col4","_col6","_col7","_col8"]
+                                <-Map 1 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_146]
+                                    PartitionCols:_col2
+                                    Select Operator [SEL_145] (rows=40000000 width=860)
+                                      Output:["_col0","_col1","_col2","_col4"]
+                                      Filter Operator [FIL_144] (rows=40000000 width=860)
+                                        predicate:((c_birth_month) IN (9, 5, 12, 4, 1, 10) and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
+                                        TableScan [TS_0] (rows=80000000 width=860)
+                                          default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk","c_birth_month","c_birth_year"]
+                                <-Map 8 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_149]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_148] (rows=20000000 width=1014)
+                                      Output:["_col0","_col1","_col2","_col3"]
+                                      Filter Operator [FIL_147] (rows=20000000 width=1014)
+                                        predicate:((ca_state) IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') and ca_address_sk is not null)
+                                        TableScan [TS_3] (rows=40000000 width=1014)
+                                          default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_state","ca_country"]
+                        <-Reducer 13 [SIMPLE_EDGE]
                           SHUFFLE [RS_38]
                             PartitionCols:_col3
                             Select Operator [SEL_30] (rows=383314495 width=135)
                               Output:["_col1","_col3","_col6","_col7","_col8","_col9","_col10","_col16"]
-                              Merge Join Operator [MERGEJOIN_82] (rows=383314495 width=135)
-                                Conds:RS_27._col3=RS_104._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col8","_col14","_col16"]
-                              <-Map 15 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_104]
+                              Merge Join Operator [MERGEJOIN_142] (rows=383314495 width=135)
+                                Conds:RS_27._col3=RS_171._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col8","_col14","_col16"]
+                              <-Map 18 [SIMPLE_EDGE] vectorized
+                                PARTITION_ONLY_SHUFFLE [RS_171]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_103] (rows=462000 width=1436)
+                                  Select Operator [SEL_170] (rows=462000 width=1436)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_102] (rows=462000 width=1436)
+                                    Filter Operator [FIL_169] (rows=462000 width=1436)
                                       predicate:i_item_sk is not null
                                       TableScan [TS_18] (rows=462000 width=1436)
                                         default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
-                              <-Reducer 11 [SIMPLE_EDGE]
+                              <-Reducer 12 [SIMPLE_EDGE]
                                 SHUFFLE [RS_27]
                                   PartitionCols:_col3
-                                  Merge Join Operator [MERGEJOIN_81] (rows=348467716 width=135)
-                                    Conds:RS_24._col2=RS_101._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col14"]
-                                  <-Map 14 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_101]
+                                  Merge Join Operator [MERGEJOIN_141] (rows=348467716 width=135)
+                                    Conds:RS_24._col2=RS_163._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col14"]
+                                  <-Map 16 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_163]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_100] (rows=465450 width=385)
+                                      Select Operator [SEL_162] (rows=465450 width=385)
                                         Output:["_col0","_col3"]
-                                        Filter Operator [FIL_99] (rows=465450 width=385)
+                                        Filter Operator [FIL_161] (rows=465450 width=385)
                                           predicate:((cd_education_status = 'College') and (cd_gender = 'M') and cd_demo_sk is not null)
                                           TableScan [TS_15] (rows=1861800 width=385)
                                             default@customer_demographics,cd1,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_education_status","cd_dep_count"]
-                                  <-Reducer 10 [SIMPLE_EDGE]
+                                  <-Reducer 11 [SIMPLE_EDGE]
                                     SHUFFLE [RS_24]
                                       PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_80] (rows=316788826 width=135)
-                                        Conds:RS_95._col0=RS_98._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                      <-Map 13 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_98]
+                                      Merge Join Operator [MERGEJOIN_140] (rows=316788826 width=135)
+                                        Conds:RS_181._col0=RS_155._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                                      <-Map 14 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_155]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_97] (rows=36524 width=1119)
+                                          Select Operator [SEL_154] (rows=36524 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_96] (rows=36524 width=1119)
+                                            Filter Operator [FIL_153] (rows=36524 width=1119)
                                               predicate:((d_year = 2001) and d_date_sk is not null)
                                               TableScan [TS_12] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                                      <-Map 9 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_95]
+                                      <-Map 10 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_181]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_94] (rows=287989836 width=135)
+                                          Select Operator [SEL_180] (rows=287989836 width=135)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                            Filter Operator [FIL_93] (rows=287989836 width=135)
-                                              predicate:(cs_bill_cdemo_sk is not null and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                            Filter Operator [FIL_179] (rows=287989836 width=135)
+                                              predicate:((cs_bill_cdemo_sk BETWEEN DynamicValue(RS_25_cd1_cd_demo_sk_min) AND DynamicValue(RS_25_cd1_cd_demo_sk_max) and in_bloom_filter(cs_bill_cdemo_sk, DynamicValue(RS_25_cd1_cd_demo_sk_bloom_filter))) and (cs_bill_customer_sk BETWEEN DynamicValue(RS_37_customer_c_customer_sk_min) AND DynamicValue(RS_37_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_37_customer_c_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_28_item_i_item_sk_min) AND DynamicValue(RS_28_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_28_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_22_date_dim_d_date_sk_min) AND DynamicValue(RS_22_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_22_date_dim_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk 
 is not null)
                                               TableScan [TS_9] (rows=287989836 width=135)
                                                 default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_bill_cdemo_sk","cs_item_sk","cs_quantity","cs_list_price","cs_sales_price","cs_coupon_amt","cs_net_profit"]
-                        <-Reducer 3 [SIMPLE_EDGE]
-                          SHUFFLE [RS_37]
-                            PartitionCols:_col0
-                            Merge Join Operator [MERGEJOIN_79] (rows=48400001 width=860)
-                              Conds:RS_34._col1=RS_92._col0(Inner),Output:["_col0","_col4","_col6","_col7","_col8"]
-                            <-Map 8 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_92]
-                                PartitionCols:_col0
-                                Select Operator [SEL_91] (rows=1861800 width=385)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_90] (rows=1861800 width=385)
-                                    predicate:cd_demo_sk is not null
-                                    TableScan [TS_6] (rows=1861800 width=385)
-                                      default@customer_demographics,cd2,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk"]
-                            <-Reducer 2 [SIMPLE_EDGE]
-                              SHUFFLE [RS_34]
-                                PartitionCols:_col1
-                                Merge Join Operator [MERGEJOIN_78] (rows=44000000 width=860)
-                                  Conds:RS_86._col2=RS_89._col0(Inner),Output:["_col0","_col1","_col4","_col6","_col7","_col8"]
-                                <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_86]
-                                    PartitionCols:_col2
-                                    Select Operator [SEL_85] (rows=40000000 width=860)
-                                      Output:["_col0","_col1","_col2","_col4"]
-                                      Filter Operator [FIL_84] (rows=40000000 width=860)
-                                        predicate:((c_birth_month) IN (9, 5, 12, 4, 1, 10) and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
-                                        TableScan [TS_0] (rows=80000000 width=860)
-                                          default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk","c_birth_month","c_birth_year"]
-                                <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_89]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_88] (rows=20000000 width=1014)
-                                      Output:["_col0","_col1","_col2","_col3"]
-                                      Filter Operator [FIL_87] (rows=20000000 width=1014)
-                                        predicate:((ca_state) IN ('ND', 'WI', 'AL', 'NC', 'OK', 'MS', 'TN') and ca_address_sk is not null)
-                                        TableScan [TS_3] (rows=40000000 width=1014)
-                                          default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_state","ca_country"]
+                                              <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_160]
+                                                  Group By Operator [GBY_159] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_158]
+                                                      Group By Operator [GBY_157] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_156] (rows=36524 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_154]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_168]
+                                                  Group By Operator [GBY_167] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_166]
+                                                      Group By Operator [GBY_165] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_164] (rows=465450 width=385)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_162]
+                                              <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_176]
+                                                  Group By Operator [GBY_175] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_174]
+                                                      Group By Operator [GBY_173] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_172] (rows=462000 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_170]
+                                              <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_178]
+                                                  Group By Operator [GBY_177] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=48400000)"]
+                                                  <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_120]
+                                                      Group By Operator [GBY_119] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=48400000)"]
+                                                        Select Operator [SEL_118] (rows=48400001 width=860)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_139]
 


[02/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query58.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query58.q.out b/ql/src/test/results/clientpositive/perf/tez/query58.q.out
index b2da513..b3f9bbb 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query58.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query58.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[265][tables = [$hdt$_4, $hdt$_5]] in Stage 'Reducer 18' is a cross product
+Warning: Shuffle Join MERGEJOIN[403][tables = [$hdt$_4, $hdt$_5]] in Stage 'Reducer 24' is a cross product
 PREHOOK: query: explain
 with ss_items as
  (select i_item_id item_id
@@ -130,32 +130,41 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 23 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Reducer 20 (ONE_TO_ONE_EDGE)
-Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
-Reducer 18 <- Map 21 (CUSTOM_SIMPLE_EDGE), Reducer 17 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Map 21 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Map 1 <- Reducer 19 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Map 28 <- Reducer 12 (BROADCAST_EDGE), Reducer 20 (BROADCAST_EDGE)
+Map 29 <- Reducer 16 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 18 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Map 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 29 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 15 <- Reducer 14 (SIMPLE_EDGE)
+Reducer 16 <- Map 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Map 17 (SIMPLE_EDGE), Reducer 26 (ONE_TO_ONE_EDGE)
+Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 15 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 20 <- Reducer 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Reducer 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 23 <- Map 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 24 <- Map 27 (CUSTOM_SIMPLE_EDGE), Reducer 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 27 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 18 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 10 (ONE_TO_ONE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
+Reducer 5 <- Reducer 11 (ONE_TO_ONE_EDGE), Reducer 15 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 8 <- Map 22 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 15 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 28 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_321]
-        Limit [LIM_320] (rows=100 width=88)
+      File Output Operator [FS_480]
+        Limit [LIM_479] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_319] (rows=1442 width=88)
+          Select Operator [SEL_478] (rows=1442 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_161]
@@ -163,172 +172,238 @@ Stage-0
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                 Filter Operator [FIL_154] (rows=1442 width=88)
                   predicate:(_col1 BETWEEN (0.9 * _col3) AND (1.1 * _col3) and _col1 BETWEEN (0.9 * _col5) AND (1.1 * _col5) and _col3 BETWEEN (0.9 * _col1) AND (1.1 * _col1) and _col3 BETWEEN (0.9 * _col5) AND (1.1 * _col5) and _col5 BETWEEN (0.9 * _col1) AND (1.1 * _col1) and _col5 BETWEEN (0.9 * _col3) AND (1.1 * _col3))
-                  Merge Join Operator [MERGEJOIN_279] (rows=766650239 width=88)
-                    Conds:RS_308._col0=RS_313._col0(Inner),RS_308._col0=RS_318._col0(Inner),Output:["_col0","_col1","_col3","_col5"]
-                  <-Reducer 10 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_313]
+                  Merge Join Operator [MERGEJOIN_417] (rows=766650239 width=88)
+                    Conds:RS_459._col0=RS_468._col0(Inner),RS_459._col0=RS_477._col0(Inner),Output:["_col0","_col1","_col3","_col5"]
+                  <-Reducer 11 [ONE_TO_ONE_EDGE] vectorized
+                    FORWARD [RS_468]
                       PartitionCols:_col0
-                      Group By Operator [GBY_312] (rows=348477374 width=88)
+                      Group By Operator [GBY_467] (rows=348477374 width=88)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 9 [SIMPLE_EDGE]
+                      <-Reducer 10 [SIMPLE_EDGE]
                         SHUFFLE [RS_97]
                           PartitionCols:_col0
                           Group By Operator [GBY_96] (rows=696954748 width=88)
                             Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
-                            Merge Join Operator [MERGEJOIN_277] (rows=696954748 width=88)
+                            Merge Join Operator [MERGEJOIN_415] (rows=696954748 width=88)
                               Conds:RS_92._col0=RS_93._col0(Inner),Output:["_col2","_col4"]
-                            <-Reducer 15 [SIMPLE_EDGE]
+                            <-Reducer 18 [SIMPLE_EDGE]
                               SHUFFLE [RS_93]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_267] (rows=80353 width=1119)
-                                  Conds:RS_290._col1=RS_306._col0(Inner),Output:["_col0"]
-                                <-Map 14 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_290]
+                                Merge Join Operator [MERGEJOIN_405] (rows=80353 width=1119)
+                                  Conds:RS_436._col1=RS_452._col0(Inner),Output:["_col0"]
+                                <-Map 17 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_436]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_289] (rows=73049 width=1119)
+                                    Select Operator [SEL_435] (rows=73049 width=1119)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_288] (rows=73049 width=1119)
+                                      Filter Operator [FIL_434] (rows=73049 width=1119)
                                         predicate:(d_date is not null and d_date_sk is not null)
                                         TableScan [TS_6] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
-                                <-Reducer 20 [ONE_TO_ONE_EDGE] vectorized
-                                  FORWARD [RS_306]
+                                <-Reducer 26 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_452]
                                     PartitionCols:_col0
-                                    Group By Operator [GBY_305] (rows=40176 width=1119)
+                                    Group By Operator [GBY_451] (rows=40176 width=1119)
                                       Output:["_col0"],keys:KEY._col0
-                                    <-Reducer 19 [SIMPLE_EDGE]
+                                    <-Reducer 25 [SIMPLE_EDGE]
                                       SHUFFLE [RS_32]
                                         PartitionCols:_col0
                                         Group By Operator [GBY_31] (rows=80353 width=1119)
                                           Output:["_col0"],keys:_col2
-                                          Merge Join Operator [MERGEJOIN_266] (rows=80353 width=1119)
-                                            Conds:RS_27._col1=RS_303._col1(Inner),Output:["_col2"]
-                                          <-Map 21 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_303]
+                                          Merge Join Operator [MERGEJOIN_404] (rows=80353 width=1119)
+                                            Conds:RS_27._col1=RS_449._col1(Inner),Output:["_col2"]
+                                          <-Map 27 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_449]
                                               PartitionCols:_col1
-                                              Select Operator [SEL_301] (rows=73049 width=1119)
+                                              Select Operator [SEL_447] (rows=73049 width=1119)
                                                 Output:["_col0","_col1"]
-                                                Filter Operator [FIL_299] (rows=73049 width=1119)
+                                                Filter Operator [FIL_445] (rows=73049 width=1119)
                                                   predicate:(d_date is not null and d_week_seq is not null)
                                                   TableScan [TS_21] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date","d_week_seq"]
-                                          <-Reducer 18 [SIMPLE_EDGE]
+                                          <-Reducer 24 [SIMPLE_EDGE]
                                             SHUFFLE [RS_27]
                                               PartitionCols:_col1
-                                              Merge Join Operator [MERGEJOIN_265] (rows=36524 width=1128)
+                                              Merge Join Operator [MERGEJOIN_403] (rows=36524 width=1128)
                                                 Conds:(Inner),Output:["_col1"]
-                                              <-Map 21 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_304]
-                                                  Select Operator [SEL_302] (rows=36524 width=1119)
+                                              <-Map 27 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_450]
+                                                  Select Operator [SEL_448] (rows=36524 width=1119)
                                                     Output:["_col0"]
-                                                    Filter Operator [FIL_300] (rows=36524 width=1119)
+                                                    Filter Operator [FIL_446] (rows=36524 width=1119)
                                                       predicate:((d_date = '1998-02-19') and d_week_seq is not null)
                                                        Please refer to the previous TableScan [TS_21]
-                                              <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                PARTITION_ONLY_SHUFFLE [RS_298]
-                                                  Select Operator [SEL_297] (rows=1 width=8)
-                                                    Filter Operator [FIL_296] (rows=1 width=8)
+                                              <-Reducer 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_444]
+                                                  Select Operator [SEL_443] (rows=1 width=8)
+                                                    Filter Operator [FIL_442] (rows=1 width=8)
                                                       predicate:(sq_count_check(_col0) <= 1)
-                                                      Group By Operator [GBY_295] (rows=1 width=8)
+                                                      Group By Operator [GBY_441] (rows=1 width=8)
                                                         Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                                      <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                        PARTITION_ONLY_SHUFFLE [RS_294]
-                                                          Group By Operator [GBY_293] (rows=1 width=8)
+                                                      <-Map 22 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_440]
+                                                          Group By Operator [GBY_439] (rows=1 width=8)
                                                             Output:["_col0"],aggregations:["count()"]
-                                                            Select Operator [SEL_292] (rows=36524 width=1119)
-                                                              Filter Operator [FIL_291] (rows=36524 width=1119)
+                                                            Select Operator [SEL_438] (rows=36524 width=1119)
+                                                              Filter Operator [FIL_437] (rows=36524 width=1119)
                                                                 predicate:(d_date = '1998-02-19')
                                                                 TableScan [TS_9] (rows=73049 width=1119)
                                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date"]
-                            <-Reducer 8 [SIMPLE_EDGE]
+                            <-Reducer 9 [SIMPLE_EDGE]
                               SHUFFLE [RS_92]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_268] (rows=633595212 width=88)
-                                  Conds:RS_311._col1=RS_286._col0(Inner),Output:["_col0","_col2","_col4"]
+                                Merge Join Operator [MERGEJOIN_406] (rows=633595212 width=88)
+                                  Conds:RS_466._col1=RS_422._col0(Inner),Output:["_col0","_col2","_col4"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_286]
+                                  SHUFFLE [RS_422]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_284] (rows=462000 width=1436)
+                                    Select Operator [SEL_419] (rows=462000 width=1436)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_283] (rows=462000 width=1436)
+                                      Filter Operator [FIL_418] (rows=462000 width=1436)
                                         predicate:(i_item_id is not null and i_item_sk is not null)
                                         TableScan [TS_3] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
-                                <-Map 22 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_311]
+                                <-Map 28 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_466]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_310] (rows=575995635 width=88)
+                                    Select Operator [SEL_465] (rows=575995635 width=88)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_309] (rows=575995635 width=88)
-                                        predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
+                                      Filter Operator [FIL_464] (rows=575995635 width=88)
+                                        predicate:((ss_item_sk BETWEEN DynamicValue(RS_90_item_i_item_sk_min) AND DynamicValue(RS_90_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_90_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_93_date_dim_d_date_sk_min) AND DynamicValue(RS_93_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_93_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
                                         TableScan [TS_50] (rows=575995635 width=88)
                                           default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
-                  <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_318]
+                                        <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_461]
+                                            Group By Operator [GBY_460] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_430]
+                                                Group By Operator [GBY_427] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_423] (rows=462000 width=1436)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_419]
+                                        <-Reducer 20 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_463]
+                                            Group By Operator [GBY_462] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Reducer 18 [CUSTOM_SIMPLE_EDGE]
+                                              SHUFFLE [RS_321]
+                                                Group By Operator [GBY_320] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_319] (rows=80353 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Merge Join Operator [MERGEJOIN_405]
+                  <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
+                    FORWARD [RS_477]
                       PartitionCols:_col0
-                      Group By Operator [GBY_317] (rows=87121617 width=135)
+                      Group By Operator [GBY_476] (rows=87121617 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 12 [SIMPLE_EDGE]
+                      <-Reducer 14 [SIMPLE_EDGE]
                         SHUFFLE [RS_147]
                           PartitionCols:_col0
                           Group By Operator [GBY_146] (rows=174243235 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
-                            Merge Join Operator [MERGEJOIN_278] (rows=174243235 width=135)
+                            Merge Join Operator [MERGEJOIN_416] (rows=174243235 width=135)
                               Conds:RS_142._col0=RS_143._col0(Inner),Output:["_col2","_col4"]
-                            <-Reducer 15 [SIMPLE_EDGE]
+                            <-Reducer 18 [SIMPLE_EDGE]
                               SHUFFLE [RS_143]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_267]
-                            <-Reducer 11 [SIMPLE_EDGE]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_405]
+                            <-Reducer 13 [SIMPLE_EDGE]
                               SHUFFLE [RS_142]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_272] (rows=158402938 width=135)
-                                  Conds:RS_316._col1=RS_287._col0(Inner),Output:["_col0","_col2","_col4"]
+                                Merge Join Operator [MERGEJOIN_410] (rows=158402938 width=135)
+                                  Conds:RS_475._col1=RS_424._col0(Inner),Output:["_col0","_col2","_col4"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_287]
+                                  SHUFFLE [RS_424]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_284]
-                                <-Map 23 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_316]
+                                     Please refer to the previous Select Operator [SEL_419]
+                                <-Map 29 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_475]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_315] (rows=144002668 width=135)
+                                    Select Operator [SEL_474] (rows=144002668 width=135)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_314] (rows=144002668 width=135)
-                                        predicate:(ws_item_sk is not null and ws_sold_date_sk is not null)
+                                      Filter Operator [FIL_473] (rows=144002668 width=135)
+                                        predicate:((ws_item_sk BETWEEN DynamicValue(RS_140_item_i_item_sk_min) AND DynamicValue(RS_140_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_140_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_143_date_dim_d_date_sk_min) AND DynamicValue(RS_143_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_143_date_dim_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_sold_date_sk is not null)
                                         TableScan [TS_100] (rows=144002668 width=135)
                                           default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_sales_price"]
+                                        <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_470]
+                                            Group By Operator [GBY_469] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_431]
+                                                Group By Operator [GBY_428] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_425] (rows=462000 width=1436)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_419]
+                                        <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_472]
+                                            Group By Operator [GBY_471] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Reducer 18 [CUSTOM_SIMPLE_EDGE]
+                                              SHUFFLE [RS_367]
+                                                Group By Operator [GBY_366] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_365] (rows=80353 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Merge Join Operator [MERGEJOIN_405]
                   <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_308]
+                    FORWARD [RS_459]
                       PartitionCols:_col0
-                      Group By Operator [GBY_307] (rows=174233858 width=135)
+                      Group By Operator [GBY_458] (rows=174233858 width=135)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_47]
                           PartitionCols:_col0
                           Group By Operator [GBY_46] (rows=348467716 width=135)
                             Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
-                            Merge Join Operator [MERGEJOIN_276] (rows=348467716 width=135)
+                            Merge Join Operator [MERGEJOIN_414] (rows=348467716 width=135)
                               Conds:RS_42._col0=RS_43._col0(Inner),Output:["_col2","_col4"]
-                            <-Reducer 15 [SIMPLE_EDGE]
+                            <-Reducer 18 [SIMPLE_EDGE]
                               SHUFFLE [RS_43]
                                 PartitionCols:_col0
-                                 Please refer to the previous Merge Join Operator [MERGEJOIN_267]
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_405]
                             <-Reducer 2 [SIMPLE_EDGE]
                               SHUFFLE [RS_42]
                                 PartitionCols:_col0
-                                Merge Join Operator [MERGEJOIN_264] (rows=316788826 width=135)
-                                  Conds:RS_282._col1=RS_285._col0(Inner),Output:["_col0","_col2","_col4"]
+                                Merge Join Operator [MERGEJOIN_402] (rows=316788826 width=135)
+                                  Conds:RS_457._col1=RS_420._col0(Inner),Output:["_col0","_col2","_col4"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_285]
+                                  SHUFFLE [RS_420]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_284]
+                                     Please refer to the previous Select Operator [SEL_419]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_282]
+                                  SHUFFLE [RS_457]
                                     PartitionCols:_col1
-                                    Select Operator [SEL_281] (rows=287989836 width=135)
+                                    Select Operator [SEL_456] (rows=287989836 width=135)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_280] (rows=287989836 width=135)
-                                        predicate:(cs_item_sk is not null and cs_sold_date_sk is not null)
+                                      Filter Operator [FIL_455] (rows=287989836 width=135)
+                                        predicate:((cs_item_sk BETWEEN DynamicValue(RS_40_item_i_item_sk_min) AND DynamicValue(RS_40_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_40_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_43_date_dim_d_date_sk_min) AND DynamicValue(RS_43_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_43_date_dim_d_date_sk_bloom_filter))) and cs_item_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_item_sk","cs_ext_sales_price"]
+                                        <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_454]
+                                            Group By Operator [GBY_453] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Reducer 18 [CUSTOM_SIMPLE_EDGE]
+                                              SHUFFLE [RS_271]
+                                                Group By Operator [GBY_270] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_269] (rows=80353 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Merge Join Operator [MERGEJOIN_405]
+                                        <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_433]
+                                            Group By Operator [GBY_432] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_429]
+                                                Group By Operator [GBY_426] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_421] (rows=462000 width=1436)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_419]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query59.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query59.q.out b/ql/src/test/results/clientpositive/perf/tez/query59.q.out
index 1dd841b..6b2dcc3 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query59.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query59.q.out
@@ -87,127 +87,156 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Map 1 <- Reducer 17 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 18 <- Reducer 14 (BROADCAST_EDGE), Reducer 20 (BROADCAST_EDGE)
+Reducer 10 <- Map 18 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Map 15 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 19 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 20 <- Map 19 (CUSTOM_SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 10 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 4 <- Map 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 16 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 13 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 9 <- Map 12 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_129]
-        Limit [LIM_128] (rows=100 width=88)
+      File Output Operator [FS_229]
+        Limit [LIM_228] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_127] (rows=421657640 width=88)
+          Select Operator [SEL_227] (rows=421657640 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
           <-Reducer 6 [SIMPLE_EDGE]
             SHUFFLE [RS_60]
               Select Operator [SEL_59] (rows=421657640 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
-                Merge Join Operator [MERGEJOIN_104] (rows=421657640 width=88)
+                Merge Join Operator [MERGEJOIN_180] (rows=421657640 width=88)
                   Conds:RS_56._col2, _col1=RS_57._col1, (_col0 - 52)(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col12","_col13","_col14","_col15","_col16","_col17"]
-                <-Reducer 10 [SIMPLE_EDGE]
+                <-Reducer 13 [SIMPLE_EDGE]
                   SHUFFLE [RS_57]
                     PartitionCols:_col1, (_col0 - 52)
                     Select Operator [SEL_55] (rows=383325119 width=88)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                      Merge Join Operator [MERGEJOIN_103] (rows=383325119 width=88)
-                        Conds:RS_52._col1=RS_126._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col11"]
-                      <-Map 14 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_126]
+                      Merge Join Operator [MERGEJOIN_179] (rows=383325119 width=88)
+                        Conds:RS_52._col1=RS_216._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col11"]
+                      <-Map 19 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_216]
                           PartitionCols:_col0
-                          Select Operator [SEL_125] (rows=1704 width=1910)
+                          Select Operator [SEL_215] (rows=1704 width=1910)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_124] (rows=1704 width=1910)
+                            Filter Operator [FIL_214] (rows=1704 width=1910)
                               predicate:(s_store_id is not null and s_store_sk is not null)
                               TableScan [TS_46] (rows=1704 width=1910)
                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id"]
-                      <-Reducer 9 [SIMPLE_EDGE]
+                      <-Reducer 12 [SIMPLE_EDGE]
                         SHUFFLE [RS_52]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_102] (rows=348477374 width=88)
-                            Conds:RS_123._col0=RS_118._col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                          <-Map 12 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_118]
+                          Merge Join Operator [MERGEJOIN_178] (rows=348477374 width=88)
+                            Conds:RS_226._col0=RS_211._col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                          <-Map 15 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_211]
                               PartitionCols:_col1
-                              Select Operator [SEL_116] (rows=8116 width=1119)
+                              Select Operator [SEL_209] (rows=8116 width=1119)
                                 Output:["_col1"]
-                                Filter Operator [FIL_114] (rows=8116 width=1119)
+                                Filter Operator [FIL_207] (rows=8116 width=1119)
                                   predicate:(d_month_seq BETWEEN 1197 AND 1208 and d_week_seq is not null)
                                   TableScan [TS_15] (rows=73049 width=1119)
                                     default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_week_seq"]
-                          <-Reducer 8 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_123]
+                          <-Reducer 11 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_226]
                               PartitionCols:_col0
-                              Group By Operator [GBY_122] (rows=316797606 width=88)
+                              Group By Operator [GBY_225] (rows=316797606 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)","sum(VALUE._col5)"],keys:KEY._col0, KEY._col1
-                              <-Reducer 2 [SIMPLE_EDGE]
+                              <-Reducer 10 [SIMPLE_EDGE]
                                 SHUFFLE [RS_40]
                                   PartitionCols:_col0, _col1
                                   Group By Operator [GBY_39] (rows=633595212 width=88)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col2)","sum(_col3)","sum(_col5)","sum(_col6)","sum(_col7)","sum(_col8)"],keys:_col0, _col1
                                     Select Operator [SEL_37] (rows=633595212 width=88)
                                       Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col7","_col8"]
-                                      Merge Join Operator [MERGEJOIN_98] (rows=633595212 width=88)
-                                        Conds:RS_107._col0=RS_110._col0(Inner),Output:["_col1","_col2","_col4","_col5"]
-                                      <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_107]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_106] (rows=575995635 width=88)
-                                            Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_105] (rows=575995635 width=88)
-                                              predicate:(ss_sold_date_sk is not null and ss_store_sk is not null)
-                                              TableScan [TS_0] (rows=575995635 width=88)
-                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
-                                      <-Map 11 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_110]
+                                      Merge Join Operator [MERGEJOIN_177] (rows=633595212 width=88)
+                                        Conds:RS_224._col0=RS_185._col0(Inner),Output:["_col1","_col2","_col4","_col5"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_185]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_109] (rows=73049 width=1119)
+                                          Select Operator [SEL_182] (rows=73049 width=1119)
                                             Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_108] (rows=73049 width=1119)
+                                            Filter Operator [FIL_181] (rows=73049 width=1119)
                                               predicate:(d_date_sk is not null and d_week_seq is not null)
                                               TableScan [TS_3] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_week_seq","d_day_name"]
+                                      <-Map 18 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_224]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_223] (rows=575995635 width=88)
+                                            Output:["_col0","_col1","_col2"]
+                                            Filter Operator [FIL_222] (rows=575995635 width=88)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_35_date_dim_d_date_sk_min) AND DynamicValue(RS_35_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_35_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_53_store_s_store_sk_min) AND DynamicValue(RS_53_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_53_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                              TableScan [TS_28] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_213]
+                                                  Group By Operator [GBY_212] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_190]
+                                                      Group By Operator [GBY_188] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_186] (rows=73049 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_182]
+                                              <-Reducer 20 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_221]
+                                                  Group By Operator [GBY_220] (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
+                                                    PARTITION_ONLY_SHUFFLE [RS_219]
+                                                      Group By Operator [GBY_218] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_217] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_215]
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_56]
                     PartitionCols:_col2, _col1
                     Select Operator [SEL_27] (rows=383325119 width=88)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
-                      Merge Join Operator [MERGEJOIN_100] (rows=383325119 width=88)
-                        Conds:RS_24._col1=RS_121._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col12","_col13"]
-                      <-Map 13 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_121]
+                      Merge Join Operator [MERGEJOIN_176] (rows=383325119 width=88)
+                        Conds:RS_24._col1=RS_195._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col12","_col13"]
+                      <-Map 16 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_195]
                           PartitionCols:_col0
-                          Select Operator [SEL_120] (rows=1704 width=1910)
+                          Select Operator [SEL_194] (rows=1704 width=1910)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_119] (rows=1704 width=1910)
+                            Filter Operator [FIL_193] (rows=1704 width=1910)
                               predicate:(s_store_id is not null and s_store_sk is not null)
                               TableScan [TS_18] (rows=1704 width=1910)
                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_24]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_99] (rows=348477374 width=88)
-                            Conds:RS_112._col0=RS_117._col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                          <-Map 12 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_117]
+                          Merge Join Operator [MERGEJOIN_175] (rows=348477374 width=88)
+                            Conds:RS_205._col0=RS_210._col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                          <-Map 15 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_210]
                               PartitionCols:_col1
-                              Select Operator [SEL_115] (rows=8116 width=1119)
+                              Select Operator [SEL_208] (rows=8116 width=1119)
                                 Output:["_col1"]
-                                Filter Operator [FIL_113] (rows=8116 width=1119)
+                                Filter Operator [FIL_206] (rows=8116 width=1119)
                                   predicate:(d_month_seq BETWEEN 1185 AND 1196 and d_week_seq is not null)
                                    Please refer to the previous TableScan [TS_15]
                           <-Reducer 3 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_112]
+                            SHUFFLE [RS_205]
                               PartitionCols:_col0
-                              Group By Operator [GBY_111] (rows=316797606 width=88)
+                              Group By Operator [GBY_204] (rows=316797606 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)"],keys:KEY._col0, KEY._col1
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_12]
@@ -216,5 +245,41 @@ Stage-0
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)","sum(_col8)"],keys:_col0, _col1
                                     Select Operator [SEL_9] (rows=633595212 width=88)
                                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                       Please refer to the previous Merge Join Operator [MERGEJOIN_98]
+                                      Merge Join Operator [MERGEJOIN_174] (rows=633595212 width=88)
+                                        Conds:RS_203._col0=RS_183._col0(Inner),Output:["_col1","_col2","_col4","_col5"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_183]
+                                          PartitionCols:_col0
+                                           Please refer to the previous Select Operator [SEL_182]
+                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_203]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_202] (rows=575995635 width=88)
+                                            Output:["_col0","_col1","_col2"]
+                                            Filter Operator [FIL_201] (rows=575995635 width=88)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_25_store_s_store_sk_min) AND DynamicValue(RS_25_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_25_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                              TableScan [TS_0] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_200]
+                                                  Group By Operator [GBY_199] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_198]
+                                                      Group By Operator [GBY_197] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_196] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_194]
+                                              <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_192]
+                                                  Group By Operator [GBY_191] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_189]
+                                                      Group By Operator [GBY_187] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_184] (rows=73049 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_182]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query6.q.out b/ql/src/test/results/clientpositive/perf/tez/query6.q.out
index bafd175..caa0e0e 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query6.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query6.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[111][tables = [$hdt$_5, $hdt$_6]] in Stage 'Reducer 12' is a cross product
+Warning: Shuffle Join MERGEJOIN[171][tables = [$hdt$_5, $hdt$_6]] in Stage 'Reducer 13' is a cross product
 PREHOOK: query: explain
 select  a.ca_state state, count(*) cnt
  from customer_address a
@@ -52,175 +52,212 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 8 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 19 (CUSTOM_SIMPLE_EDGE)
-Reducer 13 <- Map 20 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 19 <- Map 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (ONE_TO_ONE_EDGE)
-Reducer 3 <- Map 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Map 16 <- Reducer 15 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 9 (SIMPLE_EDGE)
+Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 23 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 15 <- Reducer 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
+Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 10 (ONE_TO_ONE_EDGE)
+Reducer 22 <- Map 21 (SIMPLE_EDGE)
+Reducer 3 <- Map 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 18 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_159]
-        Limit [LIM_158] (rows=100 width=88)
+      File Output Operator [FS_225]
+        Limit [LIM_224] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_157] (rows=127775039 width=88)
+          Select Operator [SEL_223] (rows=127775039 width=88)
             Output:["_col0","_col1"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_156]
-              Filter Operator [FIL_155] (rows=127775039 width=88)
+            SHUFFLE [RS_222]
+              Filter Operator [FIL_221] (rows=127775039 width=88)
                 predicate:(_col1 >= 10L)
-                Group By Operator [GBY_154] (rows=383325119 width=88)
+                Group By Operator [GBY_220] (rows=383325119 width=88)
                   Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_69]
                     PartitionCols:_col0
                     Group By Operator [GBY_68] (rows=766650239 width=88)
                       Output:["_col0","_col1"],aggregations:["count()"],keys:_col9
-                      Merge Join Operator [MERGEJOIN_114] (rows=766650239 width=88)
+                      Merge Join Operator [MERGEJOIN_174] (rows=766650239 width=88)
                         Conds:RS_64._col4=RS_65._col0(Inner),Output:["_col9"]
-                      <-Reducer 13 [SIMPLE_EDGE]
+                      <-Reducer 14 [SIMPLE_EDGE]
                         SHUFFLE [RS_65]
                           PartitionCols:_col0
                           Select Operator [SEL_54] (rows=169400 width=1436)
                             Output:["_col0"]
                             Filter Operator [FIL_53] (rows=169400 width=1436)
                               predicate:(_col4 > (1.2 * CAST( _col0 AS decimal(16,6))))
-                              Merge Join Operator [MERGEJOIN_112] (rows=508200 width=1436)
-                                Conds:RS_50._col1=RS_153._col2(Inner),Output:["_col0","_col3","_col4"]
-                              <-Map 20 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_153]
+                              Merge Join Operator [MERGEJOIN_172] (rows=508200 width=1436)
+                                Conds:RS_50._col1=RS_214._col2(Inner),Output:["_col0","_col3","_col4"]
+                              <-Map 23 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_214]
                                   PartitionCols:_col2
-                                  Select Operator [SEL_152] (rows=462000 width=1436)
+                                  Select Operator [SEL_213] (rows=462000 width=1436)
                                     Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_151] (rows=462000 width=1436)
+                                    Filter Operator [FIL_212] (rows=462000 width=1436)
                                       predicate:(i_category is not null and i_item_sk is not null)
                                       TableScan [TS_44] (rows=462000 width=1436)
                                         default@item,i,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_current_price","i_category"]
-                              <-Reducer 12 [SIMPLE_EDGE]
+                              <-Reducer 13 [SIMPLE_EDGE]
                                 SHUFFLE [RS_50]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_111] (rows=231000 width=1445)
+                                  Merge Join Operator [MERGEJOIN_171] (rows=231000 width=1445)
                                     Conds:(Inner),Output:["_col0","_col1"]
-                                  <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized
-                                    PARTITION_ONLY_SHUFFLE [RS_144]
-                                      Select Operator [SEL_143] (rows=1 width=8)
-                                        Filter Operator [FIL_142] (rows=1 width=8)
+                                  <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_205]
+                                      Select Operator [SEL_204] (rows=1 width=8)
+                                        Filter Operator [FIL_203] (rows=1 width=8)
                                           predicate:(sq_count_check(_col0) <= 1)
-                                          Group By Operator [GBY_141] (rows=1 width=8)
+                                          Group By Operator [GBY_202] (rows=1 width=8)
                                             Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                          <-Reducer 10 [CUSTOM_SIMPLE_EDGE] vectorized
-                                            PARTITION_ONLY_SHUFFLE [RS_140]
-                                              Group By Operator [GBY_139] (rows=1 width=8)
+                                          <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_201]
+                                              Group By Operator [GBY_200] (rows=1 width=8)
                                                 Output:["_col0"],aggregations:["count()"]
-                                                Select Operator [SEL_138] (rows=9131 width=1119)
-                                                  Group By Operator [GBY_137] (rows=9131 width=1119)
+                                                Select Operator [SEL_199] (rows=9131 width=1119)
+                                                  Group By Operator [GBY_198] (rows=9131 width=1119)
                                                     Output:["_col0"],keys:KEY._col0
-                                                  <-Map 8 [SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_125]
+                                                  <-Map 9 [SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_185]
                                                       PartitionCols:_col0
-                                                      Group By Operator [GBY_123] (rows=18262 width=1119)
+                                                      Group By Operator [GBY_183] (rows=18262 width=1119)
                                                         Output:["_col0"],keys:d_month_seq
-                                                        Select Operator [SEL_121] (rows=18262 width=1119)
+                                                        Select Operator [SEL_181] (rows=18262 width=1119)
                                                           Output:["d_month_seq"]
-                                                          Filter Operator [FIL_119] (rows=18262 width=1119)
+                                                          Filter Operator [FIL_179] (rows=18262 width=1119)
                                                             predicate:((d_moy = 2) and (d_year = 2000))
                                                             TableScan [TS_3] (rows=73049 width=1119)
                                                               default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_month_seq","d_year","d_moy"]
-                                  <-Reducer 19 [CUSTOM_SIMPLE_EDGE] vectorized
-                                    PARTITION_ONLY_SHUFFLE [RS_150]
-                                      Select Operator [SEL_149] (rows=231000 width=1436)
+                                  <-Reducer 22 [CUSTOM_SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_211]
+                                      Select Operator [SEL_210] (rows=231000 width=1436)
                                         Output:["_col0","_col1"]
-                                        Group By Operator [GBY_148] (rows=231000 width=1436)
+                                        Group By Operator [GBY_209] (rows=231000 width=1436)
                                           Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
-                                        <-Map 18 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_147]
+                                        <-Map 21 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_208]
                                             PartitionCols:_col0
-                                            Group By Operator [GBY_146] (rows=462000 width=1436)
+                                            Group By Operator [GBY_207] (rows=462000 width=1436)
                                               Output:["_col0","_col1","_col2"],aggregations:["sum(i_current_price)","count(i_current_price)"],keys:i_category
-                                              Filter Operator [FIL_145] (rows=462000 width=1436)
+                                              Filter Operator [FIL_206] (rows=462000 width=1436)
                                                 predicate:i_category is not null
                                                 TableScan [TS_23] (rows=462000 width=1436)
                                                   default@item,j,Tbl:COMPLETE,Col:NONE,Output:["i_current_price","i_category"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_64]
                           PartitionCols:_col4
-                          Merge Join Operator [MERGEJOIN_113] (rows=696954748 width=88)
+                          Merge Join Operator [MERGEJOIN_173] (rows=696954748 width=88)
                             Conds:RS_61._col5=RS_62._col0(Inner),Output:["_col4","_col9"]
-                          <-Reducer 16 [SIMPLE_EDGE]
+                          <-Reducer 18 [SIMPLE_EDGE]
                             SHUFFLE [RS_62]
                               PartitionCols:_col0
-                              Merge Join Operator [MERGEJOIN_110] (rows=88000001 width=860)
-                                Conds:RS_133._col1=RS_136._col0(Inner),Output:["_col0","_col3"]
-                              <-Map 15 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_133]
+                              Merge Join Operator [MERGEJOIN_170] (rows=88000001 width=860)
+                                Conds:RS_192._col1=RS_195._col0(Inner),Output:["_col0","_col3"]
+                              <-Map 17 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_192]
                                   PartitionCols:_col1
-                                  Select Operator [SEL_132] (rows=80000000 width=860)
+                                  Select Operator [SEL_191] (rows=80000000 width=860)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_131] (rows=80000000 width=860)
+                                    Filter Operator [FIL_190] (rows=80000000 width=860)
                                       predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                                       TableScan [TS_13] (rows=80000000 width=860)
                                         default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
-                              <-Map 17 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_136]
+                              <-Map 20 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_195]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_135] (rows=40000000 width=1014)
+                                  Select Operator [SEL_194] (rows=40000000 width=1014)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_134] (rows=40000000 width=1014)
+                                    Filter Operator [FIL_193] (rows=40000000 width=1014)
                                       predicate:ca_address_sk is not null
                                       TableScan [TS_16] (rows=40000000 width=1014)
                                         default@customer_address,a,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_61]
                               PartitionCols:_col5
-                              Merge Join Operator [MERGEJOIN_109] (rows=633595212 width=88)
-                                Conds:RS_58._col0=RS_130._col0(Inner),Output:["_col4","_col5"]
-                              <-Map 14 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_130]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_129] (rows=575995635 width=88)
-                                    Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_128] (rows=575995635 width=88)
-                                      predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
-                                      TableScan [TS_10] (rows=575995635 width=88)
-                                        default@store_sales,s,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
+                              Merge Join Operator [MERGEJOIN_169] (rows=633595212 width=88)
+                                Conds:RS_58._col0=RS_219._col0(Inner),Output:["_col4","_col5"]
                               <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_58]
+                                PARTITION_ONLY_SHUFFLE [RS_58]
                                   PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_108] (rows=80353 width=1119)
-                                    Conds:RS_117._col1=RS_127._col0(Inner),Output:["_col0"]
+                                  Merge Join Operator [MERGEJOIN_168] (rows=80353 width=1119)
+                                    Conds:RS_177._col1=RS_187._col0(Inner),Output:["_col0"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_117]
+                                    SHUFFLE [RS_177]
                                       PartitionCols:_col1
-                                      Select Operator [SEL_116] (rows=73049 width=1119)
+                                      Select Operator [SEL_176] (rows=73049 width=1119)
                                         Output:["_col0","_col1"]
-                                        Filter Operator [FIL_115] (rows=73049 width=1119)
+                                        Filter Operator [FIL_175] (rows=73049 width=1119)
                                           predicate:(d_date_sk is not null and d_month_seq is not null)
                                           TableScan [TS_0] (rows=73049 width=1119)
                                             default@date_dim,d,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
-                                  <-Reducer 9 [ONE_TO_ONE_EDGE] vectorized
-                                    FORWARD [RS_127]
+                                  <-Reducer 10 [ONE_TO_ONE_EDGE] vectorized
+                                    FORWARD [RS_187]
                                       PartitionCols:_col0
-                                      Group By Operator [GBY_126] (rows=9131 width=1119)
+                                      Group By Operator [GBY_186] (rows=9131 width=1119)
                                         Output:["_col0"],keys:KEY._col0
-                                      <-Map 8 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_124]
+                                      <-Map 9 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_184]
                                           PartitionCols:_col0
-                                          Group By Operator [GBY_122] (rows=18262 width=1119)
+                                          Group By Operator [GBY_182] (rows=18262 width=1119)
                                             Output:["_col0"],keys:d_month_seq
-                                            Select Operator [SEL_120] (rows=18262 width=1119)
+                                            Select Operator [SEL_180] (rows=18262 width=1119)
                                               Output:["d_month_seq"]
-                                              Filter Operator [FIL_118] (rows=18262 width=1119)
+                                              Filter Operator [FIL_178] (rows=18262 width=1119)
                                                 predicate:((d_moy = 2) and (d_year = 2000) and d_month_seq is not null)
                                                  Please refer to the previous TableScan [TS_3]
+                              <-Map 16 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_219]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_218] (rows=575995635 width=88)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_217] (rows=575995635 width=88)
+                                      predicate:((ss_customer_sk BETWEEN DynamicValue(RS_62_c_c_customer_sk_min) AND DynamicValue(RS_62_c_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_62_c_c_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_65_i_i_item_sk_min) AND DynamicValue(RS_65_i_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_65_i_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_58_d_d_date_sk_min) AND DynamicValue(RS_58_d_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_58_d_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                      TableScan [TS_10] (rows=575995635 width=88)
+                                        default@store_sales,s,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
+                                      <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_216]
+                                          Group By Operator [GBY_215] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Reducer 14 [CUSTOM_SIMPLE_EDGE]
+                                            SHUFFLE [RS_135]
+                                              Group By Operator [GBY_134] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_133] (rows=169400 width=1436)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_54]
+                                      <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_197]
+                                          Group By Operator [GBY_196] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=88000000)"]
+                                          <-Reducer 18 [CUSTOM_SIMPLE_EDGE]
+                                            SHUFFLE [RS_130]
+                                              Group By Operator [GBY_129] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=88000000)"]
+                                                Select Operator [SEL_128] (rows=88000001 width=860)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Merge Join Operator [MERGEJOIN_170]
+                                      <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_189]
+                                          Group By Operator [GBY_188] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                            PARTITION_ONLY_SHUFFLE [RS_125]
+                                              Group By Operator [GBY_124] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_123] (rows=80353 width=1119)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Merge Join Operator [MERGEJOIN_168]
 


[51/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f2c4f319
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f2c4f319
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f2c4f319

Branch: refs/heads/master-txnstats
Commit: f2c4f3193637b6268edfd60cea054fa9723dcfd0
Parents: 33088de
Author: Igor Kryvenko <kr...@gmail.com>
Authored: Mon Jun 25 09:03:01 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Mon Jun 25 09:03:01 2018 -0700

----------------------------------------------------------------------
 .../positive/accumulo_predicate_pushdown.q.out  |    2 +
 .../org/apache/hadoop/hive/conf/HiveConf.java   |    2 +-
 .../test/results/clientpositive/dboutput.q.out  |    1 +
 .../clientpositive/serde_typedbytes4.q.out      |    1 +
 .../results/positive/hbase_custom_key3.q.out    |    1 +
 .../src/test/results/positive/hbase_ddl.q.out   |    1 +
 .../test/results/positive/hbase_queries.q.out   |    3 +
 .../hadoop/hive/ql/parse/ParseContext.java      |    3 +-
 .../hive/ql/plan/mapping/TestOperatorCmp.java   |    3 +-
 .../bucket_mapjoin_mismatch1.q.out              |    4 +
 .../sortmerge_mapjoin_mismatch_1.q.out          |    2 +
 .../results/clientpositive/acid_mapjoin.q.out   |    2 +
 .../clientpositive/acid_table_stats.q.out       |    4 +
 .../clientpositive/allcolref_in_udf.q.out       |    3 +
 .../clientpositive/alterColumnStatsPart.q.out   |    4 +
 .../alter_partition_coltype.q.out               |    3 +
 .../results/clientpositive/ambiguous_col.q.out  |    6 +
 .../clientpositive/analyze_tbl_date.q.out       |    1 +
 .../annotate_stats_deep_filters.q.out           |    2 +
 .../clientpositive/annotate_stats_filter.q.out  |   19 +
 .../clientpositive/annotate_stats_join.q.out    |   19 +
 .../annotate_stats_join_pkfk.q.out              |   27 +
 .../clientpositive/annotate_stats_part.q.out    |    9 +
 .../clientpositive/annotate_stats_select.q.out  |    1 +
 .../clientpositive/autoColumnStats_1.q.out      |    1 +
 .../clientpositive/autoColumnStats_2.q.out      |    2 +
 .../clientpositive/autoColumnStats_4.q.out      |    1 +
 .../clientpositive/autoColumnStats_9.q.out      |    2 +
 .../results/clientpositive/auto_join0.q.out     |    2 +
 .../results/clientpositive/auto_join1.q.out     |    2 +
 .../results/clientpositive/auto_join10.q.out    |    2 +
 .../results/clientpositive/auto_join11.q.out    |    2 +
 .../results/clientpositive/auto_join12.q.out    |    3 +
 .../results/clientpositive/auto_join13.q.out    |    3 +
 .../results/clientpositive/auto_join14.q.out    |    2 +
 .../results/clientpositive/auto_join15.q.out    |    2 +
 .../results/clientpositive/auto_join16.q.out    |    2 +
 .../results/clientpositive/auto_join17.q.out    |    2 +
 .../results/clientpositive/auto_join19.q.out    |    2 +
 .../clientpositive/auto_join19_inclause.q.out   |    2 +
 .../results/clientpositive/auto_join2.q.out     |    3 +
 .../results/clientpositive/auto_join20.q.out    |    4 +
 .../results/clientpositive/auto_join21.q.out    |    1 +
 .../results/clientpositive/auto_join22.q.out    |    3 +
 .../results/clientpositive/auto_join23.q.out    |    2 +
 .../results/clientpositive/auto_join24.q.out    |    2 +
 .../results/clientpositive/auto_join26.q.out    |    2 +
 .../results/clientpositive/auto_join27.q.out    |    3 +
 .../results/clientpositive/auto_join28.q.out    |    6 +
 .../results/clientpositive/auto_join29.q.out    |   19 +
 .../results/clientpositive/auto_join3.q.out     |    3 +
 .../results/clientpositive/auto_join32.q.out    |    5 +
 .../results/clientpositive/auto_join33.q.out    |    2 +
 .../results/clientpositive/auto_join4.q.out     |    2 +
 .../results/clientpositive/auto_join5.q.out     |    2 +
 .../results/clientpositive/auto_join6.q.out     |    2 +
 .../results/clientpositive/auto_join7.q.out     |    3 +
 .../results/clientpositive/auto_join8.q.out     |    2 +
 .../results/clientpositive/auto_join9.q.out     |    2 +
 .../auto_join_reordering_values.q.out           |    5 +
 .../clientpositive/auto_join_stats.q.out        |   15 +
 .../clientpositive/auto_join_stats2.q.out       |    7 +
 .../auto_join_without_localtask.q.out           |   24 +
 .../avro_schema_evolution_native.q.out          |    2 +
 .../beeline/explain_outputs.q.out               |    6 +
 .../materialized_view_create_rewrite.q.out      |    5 +
 .../clientpositive/beeline/smb_mapjoin_1.q.out  |    2 +
 .../clientpositive/beeline/smb_mapjoin_10.q.out |    1 +
 .../clientpositive/beeline/smb_mapjoin_11.q.out |    1 +
 .../clientpositive/beeline/smb_mapjoin_12.q.out |    2 +
 .../clientpositive/beeline/smb_mapjoin_13.q.out |    3 +
 .../clientpositive/beeline/smb_mapjoin_16.q.out |    1 +
 .../clientpositive/beeline/smb_mapjoin_2.q.out  |    2 +
 .../clientpositive/beeline/smb_mapjoin_3.q.out  |    2 +
 .../test/results/clientpositive/bucket3.q.out   |    1 +
 .../clientpositive/bucket_map_join_1.q.out      |    2 +
 .../clientpositive/bucket_map_join_2.q.out      |    2 +
 .../clientpositive/bucket_map_join_spark1.q.out |    4 +
 .../clientpositive/bucket_map_join_spark2.q.out |    4 +
 .../clientpositive/bucket_map_join_spark3.q.out |    4 +
 .../clientpositive/bucket_map_join_spark4.q.out |    6 +
 .../clientpositive/bucketcontext_1.q.out        |    3 +
 .../clientpositive/bucketcontext_2.q.out        |    3 +
 .../clientpositive/bucketcontext_3.q.out        |    3 +
 .../clientpositive/bucketcontext_4.q.out        |    3 +
 .../clientpositive/bucketcontext_5.q.out        |    3 +
 .../clientpositive/bucketcontext_6.q.out        |    3 +
 .../clientpositive/bucketcontext_7.q.out        |    3 +
 .../clientpositive/bucketcontext_8.q.out        |    3 +
 .../clientpositive/bucketmapjoin10.q.out        |    2 +
 .../clientpositive/bucketmapjoin11.q.out        |    4 +
 .../clientpositive/bucketmapjoin12.q.out        |    4 +
 .../clientpositive/bucketmapjoin13.q.out        |    8 +
 .../results/clientpositive/bucketmapjoin5.q.out |    4 +
 .../results/clientpositive/bucketmapjoin8.q.out |    4 +
 .../results/clientpositive/bucketmapjoin9.q.out |    4 +
 .../clientpositive/bucketmapjoin_negative.q.out |    2 +
 .../bucketmapjoin_negative2.q.out               |    2 +
 .../bucketmapjoin_negative3.q.out               |   18 +
 .../bucketsortoptimize_insert_1.q.out           |    5 +
 .../bucketsortoptimize_insert_3.q.out           |    2 +
 .../bucketsortoptimize_insert_4.q.out           |    2 +
 .../bucketsortoptimize_insert_5.q.out           |    2 +
 .../bucketsortoptimize_insert_8.q.out           |    2 +
 .../clientpositive/case_sensitivity.q.out       |    1 +
 ql/src/test/results/clientpositive/cast1.q.out  |    1 +
 .../clientpositive/cast_on_constant.q.out       |    5 +
 .../test/results/clientpositive/cbo_const.q.out |    4 +
 .../results/clientpositive/cbo_input26.q.out    |    8 +
 .../cbo_ppd_non_deterministic.q.out             |    2 +
 .../clientpositive/cbo_rp_auto_join0.q.out      |    4 +
 .../clientpositive/cbo_rp_auto_join1.q.out      |   19 +
 .../clientpositive/cbo_rp_auto_join17.q.out     |    2 +
 .../cbo_rp_cross_product_check_2.q.out          |    6 +
 .../results/clientpositive/cbo_rp_join0.q.out   |    4 +
 .../clientpositive/cbo_rp_outer_join_ppr.q.out  |    4 +
 .../clientpositive/cbo_rp_simple_select.q.out   |    6 +
 .../clientpositive/cbo_simple_select.q.out      |    6 +
 .../results/clientpositive/cbo_union_view.q.out |    6 +
 .../clientpositive/columnstats_partlvl.q.out    |    5 +
 .../clientpositive/columnstats_partlvl_dp.q.out |    2 +
 .../test/results/clientpositive/combine2.q.out  |    2 +
 .../test/results/clientpositive/comments.q.out  |    2 +
 .../results/clientpositive/complex_alias.q.out  |    2 +
 .../constantPropagateForSubQuery.q.out          |    1 +
 .../clientpositive/constant_prop_1.q.out        |    7 +
 .../clientpositive/constant_prop_2.q.out        |    1 +
 .../clientpositive/constant_prop_3.q.out        |    4 +
 .../results/clientpositive/constprog2.q.out     |    4 +
 .../results/clientpositive/constprog_dp.q.out   |    1 +
 .../clientpositive/constprog_partitioner.q.out  |    4 +
 .../clientpositive/correlated_join_keys.q.out   |    4 +
 .../clientpositive/correlationoptimizer10.q.out |   18 +
 .../clientpositive/correlationoptimizer11.q.out |    8 +
 .../clientpositive/correlationoptimizer12.q.out |    2 +
 .../clientpositive/correlationoptimizer13.q.out |    2 +
 .../clientpositive/correlationoptimizer14.q.out |   20 +
 .../clientpositive/correlationoptimizer15.q.out |    6 +
 .../clientpositive/correlationoptimizer5.q.out  |   12 +
 .../clientpositive/correlationoptimizer7.q.out  |   12 +
 .../clientpositive/correlationoptimizer8.q.out  |   15 +
 .../clientpositive/correlationoptimizer9.q.out  |    8 +
 ql/src/test/results/clientpositive/cp_sel.q.out |    2 +
 .../results/clientpositive/create_view.q.out    |    1 +
 .../results/clientpositive/cross_join.q.out     |    4 +
 .../clientpositive/cross_join_merge.q.out       |   12 +
 .../clientpositive/cross_product_check_1.q.out  |    6 +
 .../clientpositive/cross_product_check_2.q.out  |    6 +
 .../results/clientpositive/ctas_colname.q.out   |    2 +
 ql/src/test/results/clientpositive/cte_1.q.out  |    3 +
 ql/src/test/results/clientpositive/cte_3.q.out  |    4 +
 ql/src/test/results/clientpositive/cte_5.q.out  |    2 +
 ql/src/test/results/clientpositive/cte_6.q.out  |    2 +
 .../test/results/clientpositive/cte_mat_1.q.out |    2 +
 .../test/results/clientpositive/cte_mat_2.q.out |    2 +
 .../test/results/clientpositive/cte_mat_3.q.out |    3 +
 .../test/results/clientpositive/cte_mat_4.q.out |    6 +
 .../test/results/clientpositive/cte_mat_5.q.out |    3 +
 .../results/clientpositive/decimal_join2.q.out  |    4 +
 .../results/clientpositive/decimal_udf.q.out    |    4 +
 .../results/clientpositive/decimal_udf2.q.out   |    2 +
 .../results/clientpositive/deleteAnalyze.q.out  |    2 +
 .../druid/druidkafkamini_basic.q.out            |    1 +
 .../druid/druidmini_dynamic_partition.q.out     |    3 +
 .../clientpositive/druid/druidmini_mv.q.out     |    7 +
 .../dynamic_partition_skip_default.q.out        |    3 +
 .../results/clientpositive/empty_join.q.out     |    3 +
 .../encryption_join_unencrypted_tbl.q.out       |    2 +
 ...on_join_with_different_encryption_keys.q.out |    2 +
 .../clientpositive/explain_logical.q.out        |   13 +
 .../clientpositive/explain_outputs.q.out        |    6 +
 .../clientpositive/explain_rearrange.q.out      |    8 +
 .../extrapolate_part_stats_date.q.out           |    1 +
 .../clientpositive/filter_cond_pushdown.q.out   |   11 +
 .../filter_cond_pushdown_HIVE_15647.q.out       |    8 +
 .../clientpositive/filter_in_or_dup.q.out       |    3 +
 .../clientpositive/filter_join_breaktask.q.out  |    3 +
 .../results/clientpositive/filter_numeric.q.out |    5 +
 .../results/clientpositive/flatten_and_or.q.out |    1 +
 .../test/results/clientpositive/fold_case.q.out |    6 +
 .../clientpositive/fold_eq_with_case_when.q.out |    5 +
 .../test/results/clientpositive/fold_when.q.out |    5 +
 .../clientpositive/folder_predicate.q.out       |    7 +
 .../clientpositive/fp_literal_arithmetic.q.out  |    4 +
 .../test/results/clientpositive/gby_star.q.out  |    4 +
 .../clientpositive/groupby_grouping_sets4.q.out |    6 +
 .../clientpositive/groupby_join_pushdown.q.out  |   24 +
 .../clientpositive/groupby_map_ppr.q.out        |    1 +
 .../groupby_map_ppr_multi_distinct.q.out        |    1 +
 .../groupby_multi_single_reducer2.q.out         |    1 +
 .../groupby_multi_single_reducer3.q.out         |    2 +
 .../clientpositive/groupby_position.q.out       |    3 +
 .../results/clientpositive/groupby_ppd.q.out    |    2 +
 .../results/clientpositive/groupby_ppr.q.out    |    1 +
 .../groupby_ppr_multi_distinct.q.out            |    2 +
 .../clientpositive/groupby_rollup_empty.q.out   |    1 +
 .../clientpositive/groupby_sort_1_23.q.out      |    5 +
 .../results/clientpositive/groupby_sort_6.q.out |    3 +
 .../results/clientpositive/groupby_sort_7.q.out |    1 +
 .../clientpositive/groupby_sort_skew_1_23.q.out |    5 +
 ql/src/test/results/clientpositive/having.q.out |    2 +
 .../test/results/clientpositive/having2.q.out   |    6 +
 .../identity_project_remove_skip.q.out          |    2 +
 .../results/clientpositive/implicit_cast1.q.out |    1 +
 .../implicit_cast_during_insert.q.out           |    1 +
 .../clientpositive/implicit_decimal.q.out       |    1 +
 .../infer_bucket_sort_dyn_part.q.out            |    1 +
 .../infer_bucket_sort_map_operators.q.out       |    3 +
 .../infer_bucket_sort_num_buckets.q.out         |    1 +
 .../clientpositive/infer_const_type.q.out       |    4 +
 .../clientpositive/infer_join_preds.q.out       |    7 +
 .../test/results/clientpositive/innerjoin.q.out |    2 +
 .../results/clientpositive/innerjoin1.q.out     |    4 +
 .../test/results/clientpositive/input11.q.out   |    1 +
 .../results/clientpositive/input11_limit.q.out  |    1 +
 .../test/results/clientpositive/input23.q.out   |    2 +
 .../test/results/clientpositive/input25.q.out   |    2 +
 .../test/results/clientpositive/input26.q.out   |    2 +
 .../results/clientpositive/input2_limit.q.out   |    1 +
 .../test/results/clientpositive/input42.q.out   |    2 +
 ql/src/test/results/clientpositive/input6.q.out |    1 +
 .../results/clientpositive/input_part0.q.out    |    1 +
 .../results/clientpositive/input_part1.q.out    |    1 +
 .../results/clientpositive/input_part3.q.out    |    1 +
 .../results/clientpositive/input_part4.q.out    |    1 +
 .../results/clientpositive/input_part5.q.out    |    1 +
 .../results/clientpositive/input_part6.q.out    |    1 +
 .../results/clientpositive/input_part7.q.out    |    2 +
 .../results/clientpositive/input_part8.q.out    |    1 +
 .../results/clientpositive/input_part9.q.out    |    1 +
 .../clientpositive/input_testxpath2.q.out       |    1 +
 .../clientpositive/input_testxpath4.q.out       |    1 +
 .../test/results/clientpositive/insert1.q.out   |    4 +
 .../insert2_overwrite_partitions.q.out          |    2 +
 .../results/clientpositive/insert_into2.q.out   |    1 +
 ql/src/test/results/clientpositive/join0.q.out  |    4 +-
 ql/src/test/results/clientpositive/join10.q.out |    2 +
 ql/src/test/results/clientpositive/join11.q.out |    2 +
 ql/src/test/results/clientpositive/join12.q.out |    3 +
 ql/src/test/results/clientpositive/join13.q.out |    3 +
 ql/src/test/results/clientpositive/join14.q.out |    2 +
 ql/src/test/results/clientpositive/join15.q.out |    2 +
 ql/src/test/results/clientpositive/join16.q.out |    2 +
 ql/src/test/results/clientpositive/join17.q.out |    2 +
 ql/src/test/results/clientpositive/join19.q.out |    6 +
 ql/src/test/results/clientpositive/join2.q.out  |    3 +
 ql/src/test/results/clientpositive/join20.q.out |    4 +
 ql/src/test/results/clientpositive/join21.q.out |    1 +
 ql/src/test/results/clientpositive/join22.q.out |    3 +
 ql/src/test/results/clientpositive/join23.q.out |    2 +
 ql/src/test/results/clientpositive/join25.q.out |    2 +
 ql/src/test/results/clientpositive/join26.q.out |    3 +
 ql/src/test/results/clientpositive/join27.q.out |    2 +
 ql/src/test/results/clientpositive/join28.q.out |    3 +
 ql/src/test/results/clientpositive/join29.q.out |    2 +
 ql/src/test/results/clientpositive/join3.q.out  |    3 +
 ql/src/test/results/clientpositive/join30.q.out |    2 +
 ql/src/test/results/clientpositive/join31.q.out |    2 +
 ql/src/test/results/clientpositive/join32.q.out |    3 +
 ql/src/test/results/clientpositive/join33.q.out |    3 +
 ql/src/test/results/clientpositive/join34.q.out |    3 +
 ql/src/test/results/clientpositive/join35.q.out |    3 +
 ql/src/test/results/clientpositive/join36.q.out |    2 +
 ql/src/test/results/clientpositive/join37.q.out |    2 +
 ql/src/test/results/clientpositive/join38.q.out |    2 +
 ql/src/test/results/clientpositive/join39.q.out |    1 +
 ql/src/test/results/clientpositive/join4.q.out  |    2 +
 ql/src/test/results/clientpositive/join40.q.out |   10 +
 ql/src/test/results/clientpositive/join41.q.out |    2 +
 ql/src/test/results/clientpositive/join42.q.out |    6 +
 ql/src/test/results/clientpositive/join43.q.out |    6 +
 ql/src/test/results/clientpositive/join44.q.out |    2 +
 ql/src/test/results/clientpositive/join45.q.out |    6 +
 ql/src/test/results/clientpositive/join46.q.out |    2 +
 ql/src/test/results/clientpositive/join47.q.out |    6 +
 ql/src/test/results/clientpositive/join5.q.out  |    2 +
 ql/src/test/results/clientpositive/join6.q.out  |    2 +
 ql/src/test/results/clientpositive/join7.q.out  |    3 +
 ql/src/test/results/clientpositive/join8.q.out  |    2 +
 ql/src/test/results/clientpositive/join9.q.out  |    2 +
 .../clientpositive/join_alt_syntax.q.out        |   16 +
 .../clientpositive/join_cond_pushdown_1.q.out   |   10 +
 .../clientpositive/join_cond_pushdown_2.q.out   |    8 +
 .../clientpositive/join_cond_pushdown_3.q.out   |   10 +
 .../clientpositive/join_cond_pushdown_4.q.out   |    8 +
 .../join_cond_pushdown_unqual1.q.out            |   10 +
 .../join_cond_pushdown_unqual2.q.out            |    8 +
 .../join_cond_pushdown_unqual3.q.out            |   10 +
 .../join_cond_pushdown_unqual4.q.out            |    8 +
 .../clientpositive/join_filters_overlap.q.out   |   11 +
 .../clientpositive/join_grp_diff_keys.q.out     |    4 +
 .../results/clientpositive/join_hive_626.q.out  |    3 +
 .../results/clientpositive/join_map_ppr.q.out   |    6 +
 .../join_merge_multi_expressions.q.out          |    3 +
 .../results/clientpositive/join_merging.q.out   |    3 +
 .../clientpositive/join_on_varchar.q.out        |    2 +
 .../results/clientpositive/join_parse.q.out     |   13 +
 .../test/results/clientpositive/join_rc.q.out   |    2 +
 .../results/clientpositive/join_reorder.q.out   |    4 +
 .../results/clientpositive/join_reorder2.q.out  |    8 +
 .../results/clientpositive/join_reorder3.q.out  |    8 +
 .../results/clientpositive/join_reorder4.q.out  |    9 +
 .../test/results/clientpositive/join_star.q.out |    8 +
 .../results/clientpositive/join_thrift.q.out    |    2 +
 .../test/results/clientpositive/join_vc.q.out   |    5 +
 .../test/results/clientpositive/join_view.q.out |    2 +
 .../clientpositive/lateral_view_cp.q.out        |    2 +
 .../clientpositive/lateral_view_onview.q.out    |    2 +
 .../clientpositive/lateral_view_ppd.q.out       |    5 +
 .../results/clientpositive/leftsemijoin.q.out   |    2 +
 .../limit_pushdown_negative.q.out               |    2 +
 .../clientpositive/list_bucket_dml_1.q.out      |    2 +
 .../clientpositive/list_bucket_dml_11.q.out     |    1 +
 .../clientpositive/list_bucket_dml_12.q.out     |    2 +
 .../clientpositive/list_bucket_dml_13.q.out     |    1 +
 .../clientpositive/list_bucket_dml_14.q.out     |    1 +
 .../clientpositive/list_bucket_dml_2.q.out      |    2 +
 .../clientpositive/list_bucket_dml_3.q.out      |    2 +
 .../clientpositive/list_bucket_dml_4.q.out      |    3 +
 .../clientpositive/list_bucket_dml_5.q.out      |    2 +
 .../clientpositive/list_bucket_dml_6.q.out      |    3 +
 .../clientpositive/list_bucket_dml_7.q.out      |    3 +
 .../clientpositive/list_bucket_dml_8.q.out      |    2 +
 .../clientpositive/list_bucket_dml_9.q.out      |    3 +
 .../list_bucket_query_multiskew_1.q.out         |    4 +
 .../list_bucket_query_multiskew_2.q.out         |    3 +
 .../list_bucket_query_multiskew_3.q.out         |    3 +
 .../list_bucket_query_oneskew_1.q.out           |    3 +
 .../list_bucket_query_oneskew_2.q.out           |    4 +
 .../list_bucket_query_oneskew_3.q.out           |    1 +
 .../clientpositive/llap/acid_no_buckets.q.out   |    4 +
 .../clientpositive/llap/autoColumnStats_1.q.out |    1 +
 .../clientpositive/llap/autoColumnStats_2.q.out |    2 +
 .../clientpositive/llap/auto_join0.q.out        |    1 +
 .../clientpositive/llap/auto_join1.q.out        |    2 +
 .../clientpositive/llap/auto_join21.q.out       |    1 +
 .../clientpositive/llap/auto_join29.q.out       |   19 +
 .../clientpositive/llap/auto_join30.q.out       |    5 +
 .../llap/auto_smb_mapjoin_14.q.out              |   29 +
 .../llap/auto_sortmerge_join_1.q.out            |    6 +
 .../llap/auto_sortmerge_join_10.q.out           |    5 +
 .../llap/auto_sortmerge_join_11.q.out           |    9 +
 .../llap/auto_sortmerge_join_12.q.out           |    7 +-
 .../llap/auto_sortmerge_join_13.q.out           |    6 +
 .../llap/auto_sortmerge_join_16.q.out           |    6 +
 .../llap/auto_sortmerge_join_2.q.out            |    4 +
 .../llap/auto_sortmerge_join_3.q.out            |    6 +
 .../llap/auto_sortmerge_join_4.q.out            |    6 +
 .../llap/auto_sortmerge_join_5.q.out            |    6 +
 .../llap/auto_sortmerge_join_6.q.out            |   30 +
 .../llap/auto_sortmerge_join_7.q.out            |    6 +
 .../llap/auto_sortmerge_join_8.q.out            |    6 +
 .../llap/auto_sortmerge_join_9.q.out            |   56 +
 .../results/clientpositive/llap/bucket3.q.out   |    1 +
 .../clientpositive/llap/bucket_groupby.q.out    |   11 +
 .../llap/bucket_map_join_tez2.q.out             |   41 +
 .../llap/bucket_map_join_tez_empty.q.out        |    2 +
 .../clientpositive/llap/bucketmapjoin1.q.out    |    8 +
 .../clientpositive/llap/bucketmapjoin2.q.out    |    6 +
 .../clientpositive/llap/bucketmapjoin3.q.out    |    4 +
 .../clientpositive/llap/bucketmapjoin4.q.out    |    4 +
 .../clientpositive/llap/bucketmapjoin7.q.out    |    2 +
 .../llap/bucketsortoptimize_insert_2.q.out      |   12 +
 .../llap/bucketsortoptimize_insert_6.q.out      |   14 +
 .../llap/bucketsortoptimize_insert_7.q.out      |    6 +
 .../clientpositive/llap/cbo_simple_select.q.out |    6 +
 .../clientpositive/llap/check_constraint.q.out  |    3 +
 .../results/clientpositive/llap/cluster.q.out   |   18 +
 .../columnStatsUpdateForStatsOptimizer_1.q.out  |    2 +
 .../llap/column_access_stats.q.out              |    9 +
 .../llap/column_table_stats.q.out               |    1 +
 .../llap/column_table_stats_orc.q.out           |    1 +
 .../llap/constprog_semijoin.q.out               |   74 +-
 .../llap/correlationoptimizer1.q.out            |   18 +
 .../llap/correlationoptimizer2.q.out            |    8 +
 .../llap/correlationoptimizer3.q.out            |   20 +
 .../llap/correlationoptimizer4.q.out            |    9 +
 .../llap/correlationoptimizer6.q.out            |   58 +
 .../clientpositive/llap/cross_join.q.out        |    4 +
 .../clientpositive/llap/cross_prod_1.q.out      |    2 +
 .../clientpositive/llap/cross_prod_3.q.out      |    3 +
 .../llap/cross_product_check_1.q.out            |   12 +-
 .../llap/cross_product_check_2.q.out            |   12 +-
 .../results/clientpositive/llap/cte_1.q.out     |    3 +
 .../results/clientpositive/llap/cte_mat_3.q.out |   16 +-
 .../results/clientpositive/llap/cte_mat_4.q.out |   32 +-
 .../results/clientpositive/llap/cte_mat_5.q.out |   16 +-
 .../clientpositive/llap/deleteAnalyze.q.out     |   16 +-
 .../llap/dynpart_sort_opt_vectorization.q.out   |   14 +
 .../llap/dynpart_sort_optimization.q.out        |   21 +
 .../llap/dynpart_sort_optimization2.q.out       |    6 +
 .../llap/dynpart_sort_optimization_acid.q.out   |   12 +
 .../clientpositive/llap/empty_join.q.out        |   22 +-
 .../llap/enforce_constraint_notnull.q.out       |    7 +
 .../clientpositive/llap/explainanalyze_2.q.out  |  508 ++---
 .../clientpositive/llap/explainuser_1.q.out     |  122 +-
 .../clientpositive/llap/explainuser_2.q.out     | 1900 +++++++++---------
 .../clientpositive/llap/explainuser_4.q.out     |  138 +-
 .../llap/filter_join_breaktask.q.out            |    3 +
 .../llap/groupby_resolution.q.out               |    1 +
 .../llap/groupby_rollup_empty.q.out             |    1 +
 .../results/clientpositive/llap/having.q.out    |    2 +
 .../llap/hybridgrace_hashjoin_1.q.out           |   20 +
 .../llap/hybridgrace_hashjoin_2.q.out           |   36 +
 .../llap/identity_project_remove_skip.q.out     |    2 +
 .../results/clientpositive/llap/insert1.q.out   |    4 +
 .../llap/insert1_overwrite_partitions.q.out     |    3 +
 .../clientpositive/llap/insert_into2.q.out      |    1 +
 .../llap/insert_into_default_keyword.q.out      |    4 +
 .../insert_values_orig_table_use_metadata.q.out |    1 +
 .../clientpositive/llap/is_distinct_from.q.out  |    4 +
 .../clientpositive/llap/jdbc_handler.q.out      |    1 +
 .../results/clientpositive/llap/join0.q.out     |    2 +
 .../results/clientpositive/llap/join1.q.out     |    2 +
 .../clientpositive/llap/join32_lessSize.q.out   |   20 +-
 .../results/clientpositive/llap/join46.q.out    |   14 +-
 .../llap/join_is_not_distinct_from.q.out        |    8 +
 .../llap/join_max_hashtable.q.out               |   16 +
 .../clientpositive/llap/join_nullsafe.q.out     |    8 +
 .../llap/join_reordering_no_stats.q.out         |   12 +
 .../test/results/clientpositive/llap/kryo.q.out |    1 +
 .../clientpositive/llap/leftsemijoin.q.out      |    6 +-
 .../llap/limit_join_transpose.q.out             |   48 +
 .../llap/llap_vector_nohybridgrace.q.out        |    4 +
 .../clientpositive/llap/llapdecider.q.out       |   20 +
 .../clientpositive/llap/load_dyn_part2.q.out    |    1 +
 .../clientpositive/llap/load_dyn_part3.q.out    |    1 +
 .../clientpositive/llap/lvj_mapjoin.q.out       |    2 +
 .../results/clientpositive/llap/mapjoin46.q.out |   10 +-
 .../clientpositive/llap/mapjoin_decimal.q.out   |    2 +
 .../clientpositive/llap/mapjoin_mapjoin.q.out   |    9 +
 .../llap/materialized_view_create_rewrite.q.out |    5 +
 .../materialized_view_create_rewrite_2.q.out    |    5 +
 .../materialized_view_create_rewrite_3.q.out    |   14 +
 .../materialized_view_create_rewrite_4.q.out    |   20 +
 .../materialized_view_create_rewrite_5.q.out    |   14 +
 ...materialized_view_create_rewrite_dummy.q.out |    5 +
 ...ized_view_create_rewrite_rebuild_dummy.q.out |   14 +
 ...alized_view_create_rewrite_time_window.q.out |    8 +
 .../llap/materialized_view_rewrite_1.q.out      |    5 +
 .../llap/materialized_view_rewrite_2.q.out      |    6 +
 .../llap/materialized_view_rewrite_3.q.out      |    5 +
 .../llap/materialized_view_rewrite_4.q.out      |    4 +
 .../llap/materialized_view_rewrite_5.q.out      |   11 +-
 .../llap/materialized_view_rewrite_6.q.out      |    8 +
 .../llap/materialized_view_rewrite_7.q.out      |   11 +
 .../llap/materialized_view_rewrite_8.q.out      |    5 +
 .../llap/materialized_view_rewrite_empty.q.out  |    1 +
 .../llap/materialized_view_rewrite_ssb.q.out    |   13 +
 .../llap/materialized_view_rewrite_ssb_2.q.out  |   13 +
 .../clientpositive/llap/metadataonly1.q.out     |    1 +
 .../test/results/clientpositive/llap/mrr.q.out  |    9 +
 .../clientpositive/llap/multiMapJoin1.q.out     |   29 +
 .../clientpositive/llap/multiMapJoin2.q.out     |   27 +
 .../clientpositive/llap/multi_column_in.q.out   |    3 +
 .../llap/multi_column_in_single.q.out           |    3 +
 .../clientpositive/llap/multi_insert.q.out      |    4 +
 .../clientpositive/llap/optimize_join_ptp.q.out |    2 +
 .../llap/orc_merge_incompat1.q.out              |    1 +
 .../llap/orc_struct_type_vectorization.q.out    |    1 +
 .../parquet_complex_types_vectorization.q.out   |    3 +
 .../llap/parquet_map_type_vectorization.q.out   |    1 +
 .../parquet_struct_type_vectorization.q.out     |    1 +
 .../clientpositive/llap/partialdhj.q.out        |    6 +
 .../llap/partition_multilevels.q.out            |    2 +
 .../clientpositive/llap/partition_pruning.q.out |    3 +
 .../llap/partition_shared_scan.q.out            |    5 +
 .../clientpositive/llap/ppd_union_view.q.out    |    6 +
 .../test/results/clientpositive/llap/ptf.q.out  |    5 +
 .../clientpositive/llap/ptf_matchpath.q.out     |    1 +
 .../clientpositive/llap/ptf_streaming.q.out     |    4 +
 .../clientpositive/llap/quotedid_smb.q.out      |    2 +
 .../llap/reduce_deduplicate.q.out               |    1 +
 .../llap/reduce_deduplicate_extended.q.out      |    8 +
 .../clientpositive/llap/results_cache_1.q.out   |    6 +
 .../clientpositive/llap/results_cache_2.q.out   |    4 +
 .../llap/results_cache_capacity.q.out           |    2 +
 .../llap/results_cache_empty_result.q.out       |    1 +
 .../llap/results_cache_invalidation.q.out       |    8 +
 .../llap/results_cache_invalidation2.q.out      |    3 +
 .../llap/results_cache_lifetime.q.out           |    2 +
 .../llap/results_cache_temptable.q.out          |    3 +
 .../llap/results_cache_transactional.q.out      |    6 +
 .../llap/retry_failure_stat_changes.q.out       |    8 +-
 .../clientpositive/llap/runtime_stats_hs2.q.out |   40 +-
 .../results/clientpositive/llap/sample1.q.out   |    1 +
 .../results/clientpositive/llap/sample10.q.out  |    1 +
 .../llap/selectDistinctStar.q.out               |    2 +
 .../results/clientpositive/llap/semijoin.q.out  |   38 +-
 .../results/clientpositive/llap/semijoin6.q.out |    8 +
 .../results/clientpositive/llap/semijoin7.q.out |    8 +
 .../clientpositive/llap/sharedworkext.q.out     |    4 +
 .../results/clientpositive/llap/skewjoin.q.out  |   19 +
 .../clientpositive/llap/skewjoinopt15.q.out     |    4 +
 .../results/clientpositive/llap/smb_cache.q.out |    4 +
 .../clientpositive/llap/smb_mapjoin_14.q.out    |   25 +
 .../clientpositive/llap/smb_mapjoin_15.q.out    |    8 +
 .../clientpositive/llap/smb_mapjoin_17.q.out    |    7 +
 .../clientpositive/llap/smb_mapjoin_18.q.out    |    3 +
 .../clientpositive/llap/smb_mapjoin_19.q.out    |    1 +
 .../clientpositive/llap/smb_mapjoin_4.q.out     |   12 +
 .../clientpositive/llap/smb_mapjoin_5.q.out     |   12 +
 .../clientpositive/llap/smb_mapjoin_6.q.out     |   11 +
 .../results/clientpositive/llap/stats11.q.out   |    4 +
 .../llap/stats_based_fetch_decision.q.out       |    4 +
 .../llap/stats_only_external.q.out              |    1 +
 .../clientpositive/llap/subquery_corr.q.out     |    6 +
 .../clientpositive/llap/subquery_exists.q.out   |    9 +
 .../clientpositive/llap/subquery_in.q.out       |   90 +-
 .../llap/subquery_in_having.q.out               |   33 +-
 .../clientpositive/llap/subquery_multi.q.out    |   98 +-
 .../clientpositive/llap/subquery_notin.q.out    |   57 +-
 .../clientpositive/llap/subquery_scalar.q.out   |   96 +-
 .../clientpositive/llap/subquery_select.q.out   |   54 +-
 .../clientpositive/llap/subquery_views.q.out    |    2 +
 .../llap/table_access_keys_stats.q.out          |    2 +-
 .../clientpositive/llap/temp_table.q.out        |    2 +
 .../llap/tez_bmj_schema_evolution.q.out         |    2 +
 .../llap/tez_dynpart_hashjoin_1.q.out           |   12 +
 .../llap/tez_dynpart_hashjoin_2.q.out           |    9 +
 .../llap/tez_input_counters.q.out               |    2 +
 .../results/clientpositive/llap/tez_join.q.out  |    2 +
 .../clientpositive/llap/tez_join_hash.q.out     |    6 +
 .../llap/tez_join_result_complex.q.out          |    4 +
 .../clientpositive/llap/tez_join_tests.q.out    |    4 +
 .../clientpositive/llap/tez_joins_explain.q.out |    4 +
 .../clientpositive/llap/tez_nway_join.q.out     |    6 +
 .../clientpositive/llap/tez_self_join.q.out     |    7 +-
 .../clientpositive/llap/tez_smb_empty.q.out     |   12 +
 .../clientpositive/llap/tez_smb_main.q.out      |   38 +
 .../results/clientpositive/llap/tez_union.q.out |   21 +
 .../llap/tez_union_group_by.q.out               |    5 +
 .../llap/tez_vector_dynpart_hashjoin_1.q.out    |   12 +
 .../llap/tez_vector_dynpart_hashjoin_2.q.out    |    9 +
 .../clientpositive/llap/unionDistinct_1.q.out   |   38 +
 .../clientpositive/llap/unionDistinct_3.q.out   |    2 +
 .../clientpositive/llap/union_top_level.q.out   |   14 +
 .../llap/vector_adaptor_usage_mode.q.out        |    2 +
 .../llap/vector_aggregate_without_gby.q.out     |    1 +
 .../llap/vector_annotate_stats_select.q.out     |    1 +
 .../llap/vector_auto_smb_mapjoin_14.q.out       |   29 +
 .../clientpositive/llap/vector_between_in.q.out |    8 +
 .../llap/vector_binary_join_groupby.q.out       |    4 +
 .../llap/vector_char_mapjoin1.q.out             |    6 +
 .../llap/vector_complex_join.q.out              |    6 +
 .../clientpositive/llap/vector_date_1.q.out     |    3 +
 .../llap/vector_decimal_cast.q.out              |    2 +
 .../llap/vector_decimal_expressions.q.out       |    2 +
 .../llap/vector_decimal_mapjoin.q.out           |   12 +
 .../llap/vector_decimal_math_funcs.q.out        |    2 +
 .../llap/vector_decimal_udf.q.out               |    8 +
 .../llap/vector_decimal_udf2.q.out              |    4 +
 .../clientpositive/llap/vector_elt.q.out        |    1 +
 .../llap/vector_groupby_grouping_sets4.q.out    |    3 +
 .../llap/vector_groupby_mapjoin.q.out           |    8 +-
 .../llap/vector_groupby_reduce.q.out            |    1 +
 .../clientpositive/llap/vector_if_expr.q.out    |    1 +
 .../clientpositive/llap/vector_inner_join.q.out |   18 +
 .../clientpositive/llap/vector_interval_2.q.out |    6 +
 .../llap/vector_interval_mapjoin.q.out          |    2 +
 .../clientpositive/llap/vector_join30.q.out     |    5 +
 .../llap/vector_leftsemi_mapjoin.q.out          |  128 ++
 .../llap/vector_llap_text_1.q.out               |    2 +
 .../llap/vector_mapjoin_reduce.q.out            |    6 +
 .../llap/vector_mr_diff_schema_alias.q.out      |    3 +
 .../llap/vector_nullsafe_join.q.out             |   12 +
 .../clientpositive/llap/vector_nvl.q.out        |    1 +
 .../llap/vector_orc_nested_column_pruning.q.out |   11 +
 .../llap/vector_outer_reference_windowed.q.out  |   12 +
 .../llap/vector_reduce_groupby_decimal.q.out    |    1 +
 .../vector_reduce_groupby_duplicate_cols.q.out  |    1 +
 .../llap/vector_reuse_scratchcols.q.out         |    2 +
 .../llap/vector_string_decimal.q.out            |    1 +
 .../clientpositive/llap/vector_struct_in.q.out  |    4 +
 .../clientpositive/llap/vector_udf2.q.out       |    2 +
 .../llap/vector_varchar_mapjoin1.q.out          |    6 +
 .../clientpositive/llap/vector_windowing.q.out  |    7 +
 .../llap/vector_windowing_gby.q.out             |    2 +
 .../llap/vector_windowing_gby2.q.out            |    2 +
 .../vector_windowing_multipartitioning.q.out    |    5 +
 .../llap/vector_windowing_navfn.q.out           |    2 +
 .../llap/vector_windowing_rank.q.out            |    6 +
 .../llap/vector_windowing_streaming.q.out       |    1 +
 .../clientpositive/llap/vectorization_0.q.out   |    6 +
 .../clientpositive/llap/vectorization_1.q.out   |    1 +
 .../clientpositive/llap/vectorization_10.q.out  |    1 +
 .../clientpositive/llap/vectorization_11.q.out  |    1 +
 .../clientpositive/llap/vectorization_12.q.out  |    1 +
 .../clientpositive/llap/vectorization_13.q.out  |    2 +
 .../clientpositive/llap/vectorization_14.q.out  |    1 +
 .../clientpositive/llap/vectorization_15.q.out  |    1 +
 .../clientpositive/llap/vectorization_16.q.out  |    1 +
 .../clientpositive/llap/vectorization_17.q.out  |    1 +
 .../clientpositive/llap/vectorization_2.q.out   |    1 +
 .../clientpositive/llap/vectorization_3.q.out   |    1 +
 .../clientpositive/llap/vectorization_4.q.out   |    1 +
 .../clientpositive/llap/vectorization_5.q.out   |    1 +
 .../clientpositive/llap/vectorization_6.q.out   |    1 +
 .../clientpositive/llap/vectorization_7.q.out   |    2 +
 .../clientpositive/llap/vectorization_8.q.out   |    2 +
 .../clientpositive/llap/vectorization_9.q.out   |    1 +
 .../llap/vectorization_decimal_date.q.out       |    1 +
 .../llap/vectorization_div0.q.out               |    3 +
 .../vectorization_input_format_excludes.q.out   |    6 +
 .../llap/vectorization_limit.q.out              |    3 +
 .../llap/vectorization_short_regress.q.out      |   12 +
 .../llap/vectorized_bucketmapjoin1.q.out        |    6 +
 .../clientpositive/llap/vectorized_case.q.out   |    4 +-
 .../clientpositive/llap/vectorized_casts.q.out  |    1 +
 .../llap/vectorized_context.q.out               |    3 +
 .../clientpositive/llap/vectorized_join46.q.out |    2 +
 .../llap/vectorized_mapjoin.q.out               |    2 +
 .../llap/vectorized_mapjoin3.q.out              |    3 +
 .../llap/vectorized_math_funcs.q.out            |    1 +
 .../llap/vectorized_multi_output_select.q.out   |    7 +-
 .../llap/vectorized_nested_mapjoin.q.out        |    3 +
 .../llap/vectorized_parquet.q.out               |    1 +
 .../clientpositive/llap/vectorized_ptf.q.out    |    5 +
 .../llap/vectorized_shufflejoin.q.out           |    2 +
 .../llap/vectorized_string_funcs.q.out          |    1 +
 .../llap/vectorized_timestamp.q.out             |    1 +
 .../llap/vectorized_timestamp_ints_casts.q.out  |    2 +
 .../clientpositive/llap/windowing_gby.q.out     |   30 +-
 .../clientpositive/load_dyn_part10.q.out        |    1 +
 .../clientpositive/load_dyn_part13.q.out        |    2 +
 .../results/clientpositive/load_dyn_part2.q.out |    1 +
 .../results/clientpositive/load_dyn_part3.q.out |    1 +
 .../results/clientpositive/load_dyn_part4.q.out |    1 +
 .../results/clientpositive/load_dyn_part9.q.out |    1 +
 .../clientpositive/louter_join_ppr.q.out        |    8 +
 .../test/results/clientpositive/mapjoin46.q.out |    2 +
 .../test/results/clientpositive/mapjoin47.q.out |    6 +
 .../clientpositive/mapjoin_distinct.q.out       |    8 +
 .../mapjoin_filter_on_outerjoin.q.out           |    6 +
 .../clientpositive/mapjoin_mapjoin.q.out        |    9 +
 .../clientpositive/mapjoin_memcheck.q.out       |    2 +
 .../clientpositive/mapjoin_subquery.q.out       |    6 +
 .../clientpositive/mapjoin_subquery2.q.out      |    3 +
 .../test/results/clientpositive/masking_1.q.out |    8 +
 .../results/clientpositive/masking_10.q.out     |    3 +
 .../results/clientpositive/masking_12.q.out     |    3 +
 .../clientpositive/masking_1_newdb.q.out        |    1 +
 .../test/results/clientpositive/masking_2.q.out |    6 +
 .../test/results/clientpositive/masking_3.q.out |    8 +
 .../test/results/clientpositive/masking_4.q.out |    3 +
 .../test/results/clientpositive/masking_6.q.out |    2 +
 .../test/results/clientpositive/masking_7.q.out |    2 +
 .../test/results/clientpositive/masking_9.q.out |    1 +
 .../clientpositive/masking_disablecbo_1.q.out   |    8 +
 .../clientpositive/masking_disablecbo_2.q.out   |    3 +
 .../clientpositive/masking_disablecbo_3.q.out   |   16 +
 .../clientpositive/masking_disablecbo_4.q.out   |    3 +
 ql/src/test/results/clientpositive/merge3.q.out |    2 +
 ql/src/test/results/clientpositive/merge4.q.out |    3 +
 .../merge_dynamic_partition.q.out               |    3 +
 .../merge_dynamic_partition2.q.out              |    1 +
 .../merge_dynamic_partition3.q.out              |    1 +
 .../merge_dynamic_partition4.q.out              |    1 +
 .../merge_dynamic_partition5.q.out              |    1 +
 .../results/clientpositive/merge_join_1.q.out   |    3 +
 .../results/clientpositive/mergejoins.q.out     |    8 +
 .../clientpositive/mergejoins_mixed.q.out       |   28 +
 .../clientpositive/multi_insert_gby.q.out       |    1 +
 ...i_insert_move_tasks_share_dependencies.q.out |    8 +
 .../clientpositive/multi_insert_union_src.q.out |    2 +
 .../multi_insert_with_join2.q.out               |   12 +
 .../clientpositive/multi_join_union.q.out       |    4 +
 .../clientpositive/named_column_join.q.out      |    2 +
 .../clientpositive/nested_column_pruning.q.out  |   11 +
 .../test/results/clientpositive/no_hooks.q.out  |    2 +
 .../results/clientpositive/noalias_subq1.q.out  |    1 +
 .../results/clientpositive/nonmr_fetch.q.out    |   11 +
 .../clientpositive/nonmr_fetch_threshold.q.out  |    3 +
 .../results/clientpositive/notable_alias1.q.out |    1 +
 .../results/clientpositive/notable_alias2.q.out |    1 +
 .../nullability_transitive_inference.q.out      |    2 +
 .../test/results/clientpositive/nullgroup.q.out |    4 +
 .../results/clientpositive/nullgroup2.q.out     |    4 +
 .../results/clientpositive/nullgroup4.q.out     |    4 +
 .../nullgroup4_multi_distinct.q.out             |    2 +
 .../results/clientpositive/nullgroup5.q.out     |    2 +
 .../clientpositive/orc_merge_incompat1.q.out    |    1 +
 .../orc_nested_column_pruning.q.out             |   11 +
 .../clientpositive/orc_ppd_str_conversion.q.out |    1 +
 .../orc_struct_type_vectorization.q.out         |    1 +
 .../results/clientpositive/outer_join_ppr.q.out |    4 +
 .../outer_reference_windowed.q.out              |    6 +
 .../results/clientpositive/parallel_join0.q.out |    4 +-
 .../results/clientpositive/parallel_join1.q.out |    2 +
 .../parquet_complex_types_vectorization.q.out   |    3 +
 .../results/clientpositive/parquet_join.q.out   |    5 +
 .../parquet_map_type_vectorization.q.out        |    1 +
 .../parquet_struct_type_vectorization.q.out     |    1 +
 .../parquet_vectorization_0.q.out               |    6 +
 .../parquet_vectorization_1.q.out               |    1 +
 .../parquet_vectorization_10.q.out              |    1 +
 .../parquet_vectorization_11.q.out              |    1 +
 .../parquet_vectorization_12.q.out              |    1 +
 .../parquet_vectorization_13.q.out              |    2 +
 .../parquet_vectorization_14.q.out              |    1 +
 .../parquet_vectorization_15.q.out              |    1 +
 .../parquet_vectorization_16.q.out              |    1 +
 .../parquet_vectorization_17.q.out              |    1 +
 .../parquet_vectorization_2.q.out               |    1 +
 .../parquet_vectorization_3.q.out               |    1 +
 .../parquet_vectorization_4.q.out               |    1 +
 .../parquet_vectorization_5.q.out               |    1 +
 .../parquet_vectorization_6.q.out               |    1 +
 .../parquet_vectorization_7.q.out               |    2 +
 .../parquet_vectorization_8.q.out               |    2 +
 .../parquet_vectorization_9.q.out               |    1 +
 .../parquet_vectorization_decimal_date.q.out    |    1 +
 .../parquet_vectorization_div0.q.out            |    2 +
 .../parquet_vectorization_limit.q.out           |    3 +
 .../parquet_vectorization_offset_limit.q.out    |    2 +
 .../clientpositive/partition_boolexpr.q.out     |    1 +
 .../partition_condition_remover.q.out           |    1 +
 .../partition_wise_fileformat2.q.out            |    2 +
 ql/src/test/results/clientpositive/pcr.q.out    |   22 +
 ql/src/test/results/clientpositive/pcs.q.out    |   12 +
 .../clientpositive/perf/spark/query1.q.out      |    6 +
 .../clientpositive/perf/spark/query10.q.out     |    9 +
 .../clientpositive/perf/spark/query11.q.out     |   12 +
 .../clientpositive/perf/spark/query12.q.out     |    3 +
 .../clientpositive/perf/spark/query13.q.out     |    6 +
 .../clientpositive/perf/spark/query15.q.out     |    4 +
 .../clientpositive/perf/spark/query16.q.out     |    6 +
 .../clientpositive/perf/spark/query17.q.out     |    8 +
 .../clientpositive/perf/spark/query18.q.out     |    7 +
 .../clientpositive/perf/spark/query19.q.out     |    6 +
 .../clientpositive/perf/spark/query2.q.out      |    8 +
 .../clientpositive/perf/spark/query20.q.out     |    3 +
 .../clientpositive/perf/spark/query21.q.out     |    4 +
 .../clientpositive/perf/spark/query22.q.out     |    4 +
 .../clientpositive/perf/spark/query23.q.out     |   20 +
 .../clientpositive/perf/spark/query24.q.out     |   12 +
 .../clientpositive/perf/spark/query25.q.out     |    8 +
 .../clientpositive/perf/spark/query26.q.out     |    5 +
 .../clientpositive/perf/spark/query27.q.out     |    5 +
 .../clientpositive/perf/spark/query28.q.out     |    6 +
 .../clientpositive/perf/spark/query29.q.out     |    8 +
 .../clientpositive/perf/spark/query3.q.out      |    3 +
 .../clientpositive/perf/spark/query30.q.out     |    8 +
 .../clientpositive/perf/spark/query31.q.out     |   18 +
 .../clientpositive/perf/spark/query32.q.out     |    5 +
 .../clientpositive/perf/spark/query33.q.out     |   10 +
 .../clientpositive/perf/spark/query34.q.out     |    5 +
 .../clientpositive/perf/spark/query35.q.out     |    9 +
 .../clientpositive/perf/spark/query36.q.out     |    4 +
 .../clientpositive/perf/spark/query37.q.out     |    4 +
 .../clientpositive/perf/spark/query38.q.out     |    8 +
 .../clientpositive/perf/spark/query39.q.out     |    8 +
 .../clientpositive/perf/spark/query4.q.out      |   18 +
 .../clientpositive/perf/spark/query40.q.out     |    5 +
 .../clientpositive/perf/spark/query42.q.out     |    3 +
 .../clientpositive/perf/spark/query43.q.out     |    3 +
 .../clientpositive/perf/spark/query44.q.out     |    5 +
 .../clientpositive/perf/spark/query45.q.out     |    7 +
 .../clientpositive/perf/spark/query46.q.out     |    7 +
 .../clientpositive/perf/spark/query47.q.out     |   12 +
 .../clientpositive/perf/spark/query48.q.out     |    5 +
 .../clientpositive/perf/spark/query49.q.out     |    7 +
 .../clientpositive/perf/spark/query5.q.out      |   12 +
 .../clientpositive/perf/spark/query50.q.out     |    5 +
 .../clientpositive/perf/spark/query51.q.out     |    4 +
 .../clientpositive/perf/spark/query52.q.out     |    3 +
 .../clientpositive/perf/spark/query53.q.out     |    4 +
 .../clientpositive/perf/spark/query54.q.out     |   12 +
 .../clientpositive/perf/spark/query55.q.out     |    3 +
 .../clientpositive/perf/spark/query56.q.out     |   10 +
 .../clientpositive/perf/spark/query57.q.out     |   12 +
 .../clientpositive/perf/spark/query58.q.out     |   18 +
 .../clientpositive/perf/spark/query59.q.out     |    8 +
 .../clientpositive/perf/spark/query6.q.out      |    8 +
 .../clientpositive/perf/spark/query60.q.out     |   10 +
 .../clientpositive/perf/spark/query61.q.out     |   13 +
 .../clientpositive/perf/spark/query63.q.out     |    4 +
 .../clientpositive/perf/spark/query65.q.out     |    6 +
 .../clientpositive/perf/spark/query66.q.out     |   10 +
 .../clientpositive/perf/spark/query67.q.out     |    4 +
 .../clientpositive/perf/spark/query68.q.out     |    7 +
 .../clientpositive/perf/spark/query69.q.out     |    9 +
 .../clientpositive/perf/spark/query7.q.out      |    5 +
 .../clientpositive/perf/spark/query70.q.out     |    6 +
 .../clientpositive/perf/spark/query71.q.out     |    7 +
 .../clientpositive/perf/spark/query72.q.out     |   10 +
 .../clientpositive/perf/spark/query73.q.out     |    5 +
 .../clientpositive/perf/spark/query74.q.out     |   12 +
 .../clientpositive/perf/spark/query75.q.out     |   16 +
 .../clientpositive/perf/spark/query76.q.out     |    9 +
 .../clientpositive/perf/spark/query77.q.out     |   15 +
 .../clientpositive/perf/spark/query78.q.out     |    5 +
 .../clientpositive/perf/spark/query79.q.out     |    5 +
 .../clientpositive/perf/spark/query8.q.out      |    6 +
 .../clientpositive/perf/spark/query80.q.out     |   17 +
 .../clientpositive/perf/spark/query81.q.out     |    8 +
 .../clientpositive/perf/spark/query82.q.out     |    4 +
 .../clientpositive/perf/spark/query83.q.out     |   15 +
 .../clientpositive/perf/spark/query84.q.out     |    6 +
 .../clientpositive/perf/spark/query85.q.out     |    8 +
 .../clientpositive/perf/spark/query86.q.out     |    3 +
 .../clientpositive/perf/spark/query87.q.out     |    7 +
 .../clientpositive/perf/spark/query88.q.out     |   32 +
 .../clientpositive/perf/spark/query89.q.out     |    4 +
 .../clientpositive/perf/spark/query9.q.out      |   16 +
 .../clientpositive/perf/spark/query90.q.out     |    8 +
 .../clientpositive/perf/spark/query91.q.out     |    7 +
 .../clientpositive/perf/spark/query92.q.out     |    5 +
 .../clientpositive/perf/spark/query93.q.out     |    3 +
 .../clientpositive/perf/spark/query94.q.out     |    6 +
 .../clientpositive/perf/spark/query95.q.out     |    9 +
 .../clientpositive/perf/spark/query96.q.out     |    4 +
 .../clientpositive/perf/spark/query97.q.out     |    4 +
 .../clientpositive/perf/spark/query98.q.out     |    3 +
 .../clientpositive/perf/spark/query99.q.out     |    5 +
 .../clientpositive/perf/tez/query1.q.out        |   76 +-
 .../clientpositive/perf/tez/query10.q.out       |  239 ++-
 .../clientpositive/perf/tez/query11.q.out       |  346 ++--
 .../clientpositive/perf/tez/query12.q.out       |   85 +-
 .../clientpositive/perf/tez/query13.q.out       |  145 +-
 .../clientpositive/perf/tez/query14.q.out       | 1466 ++++++++------
 .../clientpositive/perf/tez/query15.q.out       |   69 +-
 .../clientpositive/perf/tez/query16.q.out       |  151 +-
 .../clientpositive/perf/tez/query17.q.out       |  190 +-
 .../clientpositive/perf/tez/query18.q.out       |  201 +-
 .../clientpositive/perf/tez/query19.q.out       |  169 +-
 .../clientpositive/perf/tez/query2.q.out        |  181 +-
 .../clientpositive/perf/tez/query20.q.out       |   85 +-
 .../clientpositive/perf/tez/query21.q.out       |   42 +-
 .../clientpositive/perf/tez/query22.q.out       |   48 +-
 .../clientpositive/perf/tez/query23.q.out       |  554 +++--
 .../clientpositive/perf/tez/query24.q.out       |  311 ++-
 .../clientpositive/perf/tez/query25.q.out       |  191 +-
 .../clientpositive/perf/tez/query26.q.out       |  131 +-
 .../clientpositive/perf/tez/query27.q.out       |  131 +-
 .../clientpositive/perf/tez/query29.q.out       |  218 +-
 .../clientpositive/perf/tez/query3.q.out        |   77 +-
 .../clientpositive/perf/tez/query30.q.out       |   94 +-
 .../clientpositive/perf/tez/query31.q.out       |  486 +++--
 .../clientpositive/perf/tez/query32.q.out       |  125 +-
 .../clientpositive/perf/tez/query33.q.out       |  381 ++--
 .../clientpositive/perf/tez/query34.q.out       |  135 +-
 .../clientpositive/perf/tez/query35.q.out       |  239 ++-
 .../clientpositive/perf/tez/query36.q.out       |  113 +-
 .../clientpositive/perf/tez/query37.q.out       |  101 +-
 .../clientpositive/perf/tez/query38.q.out       |  223 +-
 .../clientpositive/perf/tez/query39.q.out       |   94 +-
 .../clientpositive/perf/tez/query4.q.out        |  499 +++--
 .../clientpositive/perf/tez/query40.q.out       |  103 +-
 .../clientpositive/perf/tez/query42.q.out       |   79 +-
 .../clientpositive/perf/tez/query43.q.out       |   77 +-
 .../clientpositive/perf/tez/query44.q.out       |  102 +-
 .../clientpositive/perf/tez/query45.q.out       |  159 +-
 .../clientpositive/perf/tez/query46.q.out       |  177 +-
 .../clientpositive/perf/tez/query47.q.out       |  121 +-
 .../clientpositive/perf/tez/query48.q.out       |  117 +-
 .../clientpositive/perf/tez/query49.q.out       |  261 ++-
 .../clientpositive/perf/tez/query5.q.out        |  326 +--
 .../clientpositive/perf/tez/query50.q.out       |  145 +-
 .../clientpositive/perf/tez/query51.q.out       |  118 +-
 .../clientpositive/perf/tez/query52.q.out       |   79 +-
 .../clientpositive/perf/tez/query53.q.out       |   99 +-
 .../clientpositive/perf/tez/query54.q.out       |  349 ++--
 .../clientpositive/perf/tez/query55.q.out       |   79 +-
 .../clientpositive/perf/tez/query56.q.out       |  381 ++--
 .../clientpositive/perf/tez/query57.q.out       |  121 +-
 .../clientpositive/perf/tez/query58.q.out       |  271 ++-
 .../clientpositive/perf/tez/query59.q.out       |  183 +-
 .../clientpositive/perf/tez/query6.q.out        |  213 +-
 .../clientpositive/perf/tez/query60.q.out       |  381 ++--
 .../clientpositive/perf/tez/query61.q.out       |  292 ++-
 .../clientpositive/perf/tez/query63.q.out       |   99 +-
 .../clientpositive/perf/tez/query64.q.out       |  675 +++++--
 .../clientpositive/perf/tez/query65.q.out       |  188 +-
 .../clientpositive/perf/tez/query66.q.out       |  254 ++-
 .../clientpositive/perf/tez/query67.q.out       |  115 +-
 .../clientpositive/perf/tez/query68.q.out       |  177 +-
 .../clientpositive/perf/tez/query69.q.out       |  245 ++-
 .../clientpositive/perf/tez/query7.q.out        |  131 +-
 .../clientpositive/perf/tez/query70.q.out       |  195 +-
 .../clientpositive/perf/tez/query71.q.out       |  213 +-
 .../clientpositive/perf/tez/query72.q.out       |  267 ++-
 .../clientpositive/perf/tez/query73.q.out       |  135 +-
 .../clientpositive/perf/tez/query74.q.out       |  354 ++--
 .../clientpositive/perf/tez/query75.q.out       |  565 ++++--
 .../clientpositive/perf/tez/query76.q.out       |  215 +-
 .../clientpositive/perf/tez/query77.q.out       |  339 ++--
 .../clientpositive/perf/tez/query78.q.out       |  187 +-
 .../clientpositive/perf/tez/query79.q.out       |  143 +-
 .../clientpositive/perf/tez/query8.q.out        |  165 +-
 .../clientpositive/perf/tez/query80.q.out       |  425 ++--
 .../clientpositive/perf/tez/query81.q.out       |   94 +-
 .../clientpositive/perf/tez/query82.q.out       |  101 +-
 .../clientpositive/perf/tez/query83.q.out       |  108 +-
 .../clientpositive/perf/tez/query84.q.out       |   56 +-
 .../clientpositive/perf/tez/query85.q.out       |  129 +-
 .../clientpositive/perf/tez/query86.q.out       |   87 +-
 .../clientpositive/perf/tez/query87.q.out       |  249 ++-
 .../clientpositive/perf/tez/query88.q.out       |  819 +++++---
 .../clientpositive/perf/tez/query89.q.out       |  103 +-
 .../clientpositive/perf/tez/query90.q.out       |  207 +-
 .../clientpositive/perf/tez/query91.q.out       |   74 +-
 .../clientpositive/perf/tez/query92.q.out       |  147 +-
 .../clientpositive/perf/tez/query93.q.out       |   81 +-
 .../clientpositive/perf/tez/query94.q.out       |  151 +-
 .../clientpositive/perf/tez/query95.q.out       |  246 ++-
 .../clientpositive/perf/tez/query96.q.out       |  105 +-
 .../clientpositive/perf/tez/query97.q.out       |   90 +-
 .../clientpositive/perf/tez/query98.q.out       |   83 +-
 .../clientpositive/perf/tez/query99.q.out       |  131 +-
 .../results/clientpositive/pointlookup.q.out    |    3 +
 .../results/clientpositive/pointlookup2.q.out   |   18 +
 .../results/clientpositive/pointlookup3.q.out   |   16 +
 .../results/clientpositive/pointlookup4.q.out   |    2 +
 ql/src/test/results/clientpositive/ppd1.q.out   |    2 +
 ql/src/test/results/clientpositive/ppd2.q.out   |    5 +
 .../results/clientpositive/ppd_clusterby.q.out  |    6 +
 .../test/results/clientpositive/ppd_gby.q.out   |    2 +
 .../test/results/clientpositive/ppd_gby2.q.out  |    2 +
 .../results/clientpositive/ppd_gby_join.q.out   |    4 +
 .../test/results/clientpositive/ppd_join.q.out  |    4 +
 .../test/results/clientpositive/ppd_join2.q.out |    6 +
 .../test/results/clientpositive/ppd_join3.q.out |    6 +
 .../test/results/clientpositive/ppd_join4.q.out |    2 +
 .../test/results/clientpositive/ppd_join5.q.out |    3 +
 .../clientpositive/ppd_join_filter.q.out        |    6 +
 .../clientpositive/ppd_multi_insert.q.out       |    4 +
 .../clientpositive/ppd_outer_join1.q.out        |    4 +
 .../clientpositive/ppd_outer_join2.q.out        |    4 +
 .../clientpositive/ppd_outer_join3.q.out        |    4 +
 .../clientpositive/ppd_outer_join4.q.out        |    6 +
 .../clientpositive/ppd_outer_join5.q.out        |    9 +
 .../results/clientpositive/ppd_random.q.out     |    4 +
 .../clientpositive/ppd_repeated_alias.q.out     |    9 +
 .../results/clientpositive/ppd_udf_case.q.out   |    4 +
 .../results/clientpositive/ppd_udf_col.q.out    |    4 +
 .../test/results/clientpositive/ppd_udtf.q.out  |    1 +
 .../test/results/clientpositive/ppd_union.q.out |    2 +
 ql/src/test/results/clientpositive/ppd_vc.q.out |    3 +
 .../results/clientpositive/ppd_windowing1.q.out |   18 +
 .../clientpositive/ppr_allchildsarenull.q.out   |    1 +
 .../results/clientpositive/ppr_pushdown3.q.out  |    1 +
 .../results/clientpositive/ptf_matchpath.q.out  |    1 +
 .../results/clientpositive/ptfgroupbyjoin.q.out |    4 +
 .../test/results/clientpositive/push_or.q.out   |    1 +
 .../query_result_fileformat.q.out               |    2 +
 ql/src/test/results/clientpositive/quote1.q.out |    2 +
 .../results/clientpositive/quotedid_basic.q.out |    4 +
 .../clientpositive/quotedid_partition.q.out     |    1 +
 .../results/clientpositive/quotedid_skew.q.out  |    2 +
 .../clientpositive/rand_partitionpruner3.q.out  |    1 +
 .../clientpositive/rcfile_null_value.q.out      |    2 +
 .../reduce_deduplicate_exclude_join.q.out       |    2 +
 .../reduce_deduplicate_extended2.q.out          |   12 +
 .../test/results/clientpositive/regex_col.q.out |    4 +
 .../clientpositive/remove_exprs_stats.q.out     |    9 +
 .../clientpositive/router_join_ppr.q.out        |    8 +
 .../test/results/clientpositive/row__id.q.out   |    1 +
 .../runtime_skewjoin_mapjoin_spark.q.out        |    8 +
 .../test/results/clientpositive/sample1.q.out   |    1 +
 .../test/results/clientpositive/sample7.q.out   |    1 +
 .../test/results/clientpositive/sample8.q.out   |    5 +
 .../clientpositive/select_column_pruning.q.out  |    1 +
 .../clientpositive/select_transform_hint.q.out  |    4 +
 .../clientpositive/select_unquote_and.q.out     |    1 +
 .../clientpositive/select_unquote_not.q.out     |    1 +
 .../clientpositive/select_unquote_or.q.out      |    1 +
 .../test/results/clientpositive/semijoin2.q.out |    4 +
 .../test/results/clientpositive/semijoin3.q.out |    2 +
 .../test/results/clientpositive/semijoin4.q.out |    4 +
 .../test/results/clientpositive/semijoin5.q.out |    4 +
 .../set_processor_namespaces.q.out              |    1 +
 .../clientpositive/set_variable_sub.q.out       |    3 +
 .../results/clientpositive/setop_subq.q.out     |    2 +
 .../test/results/clientpositive/skewjoin.q.out  |   19 +
 .../clientpositive/skewjoin_mapjoin1.q.out      |    4 +
 .../clientpositive/skewjoin_mapjoin10.q.out     |    4 +
 .../clientpositive/skewjoin_mapjoin11.q.out     |    2 +
 .../clientpositive/skewjoin_mapjoin2.q.out      |    2 +
 .../clientpositive/skewjoin_mapjoin3.q.out      |    2 +
 .../clientpositive/skewjoin_mapjoin4.q.out      |    3 +
 .../clientpositive/skewjoin_mapjoin5.q.out      |    5 +
 .../clientpositive/skewjoin_mapjoin6.q.out      |    2 +
 .../clientpositive/skewjoin_mapjoin7.q.out      |    4 +
 .../clientpositive/skewjoin_mapjoin8.q.out      |    3 +
 .../clientpositive/skewjoin_mapjoin9.q.out      |    3 +
 .../clientpositive/skewjoin_noskew.q.out        |    2 +
 .../clientpositive/skewjoin_onesideskew.q.out   |    2 +
 .../skewjoin_union_remove_1.q.out               |    4 +
 .../skewjoin_union_remove_2.q.out               |    3 +
 .../results/clientpositive/skewjoinopt1.q.out   |    4 +
 .../results/clientpositive/skewjoinopt10.q.out  |    2 +
 .../results/clientpositive/skewjoinopt11.q.out  |    4 +
 .../results/clientpositive/skewjoinopt12.q.out  |    2 +
 .../results/clientpositive/skewjoinopt13.q.out  |    3 +
 .../results/clientpositive/skewjoinopt14.q.out  |    3 +
 .../results/clientpositive/skewjoinopt16.q.out  |    2 +
 .../results/clientpositive/skewjoinopt17.q.out  |    4 +
 .../results/clientpositive/skewjoinopt18.q.out  |    2 +
 .../results/clientpositive/skewjoinopt19.q.out  |    2 +
 .../results/clientpositive/skewjoinopt2.q.out   |    4 +
 .../results/clientpositive/skewjoinopt20.q.out  |    2 +
 .../results/clientpositive/skewjoinopt21.q.out  |    2 +
 .../results/clientpositive/skewjoinopt3.q.out   |    2 +
 .../results/clientpositive/skewjoinopt4.q.out   |    4 +
 .../results/clientpositive/skewjoinopt5.q.out   |    2 +
 .../results/clientpositive/skewjoinopt6.q.out   |    2 +
 .../results/clientpositive/skewjoinopt7.q.out   |    3 +
 .../results/clientpositive/skewjoinopt8.q.out   |    3 +
 .../results/clientpositive/skewjoinopt9.q.out   |    5 +
 .../results/clientpositive/smb_mapjoin9.q.out   |    3 +
 .../results/clientpositive/smb_mapjoin_1.q.out  |    2 +
 .../results/clientpositive/smb_mapjoin_10.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_11.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_12.q.out |    2 +
 .../results/clientpositive/smb_mapjoin_13.q.out |    3 +
 .../results/clientpositive/smb_mapjoin_16.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_2.q.out  |    2 +
 .../results/clientpositive/smb_mapjoin_20.q.out |    3 +
 .../results/clientpositive/smb_mapjoin_21.q.out |    6 +
 .../results/clientpositive/smb_mapjoin_25.q.out |    8 +
 .../results/clientpositive/smb_mapjoin_3.q.out  |    2 +
 .../results/clientpositive/smb_mapjoin_46.q.out |    1 +
 .../results/clientpositive/smb_mapjoin_47.q.out |    4 +
 .../clientpositive/sort_merge_join_desc_1.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_2.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_3.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_4.q.out |    2 +
 .../clientpositive/sort_merge_join_desc_5.q.out |    1 +
 .../clientpositive/sort_merge_join_desc_6.q.out |    2 +
 .../clientpositive/sort_merge_join_desc_7.q.out |    2 +
 .../clientpositive/sort_merge_join_desc_8.q.out |    3 +
 .../spark/annotate_stats_join.q.out             |   19 +
 .../clientpositive/spark/auto_join0.q.out       |    2 +
 .../clientpositive/spark/auto_join1.q.out       |    2 +
 .../clientpositive/spark/auto_join10.q.out      |    2 +
 .../clientpositive/spark/auto_join11.q.out      |    2 +
 .../clientpositive/spark/auto_join12.q.out      |    3 +
 .../clientpositive/spark/auto_join13.q.out      |    3 +
 .../clientpositive/spark/auto_join14.q.out      |    2 +
 .../clientpositive/spark/auto_join15.q.out      |    2 +
 .../clientpositive/spark/auto_join16.q.out      |    2 +
 .../clientpositive/spark/auto_join17.q.out      |    2 +
 .../clientpositive/spark/auto_join19.q.out      |    2 +
 .../clientpositive/spark/auto_join2.q.out       |    3 +
 .../clientpositive/spark/auto_join20.q.out      |    4 +
 .../clientpositive/spark/auto_join21.q.out      |    1 +
 .../clientpositive/spark/auto_join22.q.out      |    3 +
 .../clientpositive/spark/auto_join23.q.out      |    2 +
 .../clientpositive/spark/auto_join24.q.out      |    2 +
 .../clientpositive/spark/auto_join26.q.out      |    2 +
 .../clientpositive/spark/auto_join27.q.out      |    3 +
 .../clientpositive/spark/auto_join28.q.out      |    6 +
 .../clientpositive/spark/auto_join29.q.out      |   19 +
 .../clientpositive/spark/auto_join3.q.out       |    3 +
 .../clientpositive/spark/auto_join30.q.out      |    5 +
 .../clientpositive/spark/auto_join32.q.out      |    5 +
 .../clientpositive/spark/auto_join4.q.out       |    2 +
 .../clientpositive/spark/auto_join5.q.out       |    2 +
 .../clientpositive/spark/auto_join6.q.out       |    2 +
 .../clientpositive/spark/auto_join7.q.out       |    3 +
 .../clientpositive/spark/auto_join8.q.out       |    2 +
 .../clientpositive/spark/auto_join9.q.out       |    2 +
 .../spark/auto_join_reordering_values.q.out     |    5 +
 .../clientpositive/spark/auto_join_stats.q.out  |    7 +
 .../clientpositive/spark/auto_join_stats2.q.out |    7 +
 .../spark/auto_join_without_localtask.q.out     |    8 +
 .../spark/auto_smb_mapjoin_14.q.out             |   14 +
 .../spark/auto_sortmerge_join_1.q.out           |    3 +
 .../spark/auto_sortmerge_join_12.q.out          |    3 +
 .../spark/auto_sortmerge_join_13.q.out          |    4 +
 .../spark/auto_sortmerge_join_16.q.out          |    4 +
 .../spark/auto_sortmerge_join_16.q.out_spark    |    4 +
 .../spark/auto_sortmerge_join_2.q.out           |    2 +
 .../spark/auto_sortmerge_join_3.q.out           |    3 +
 .../spark/auto_sortmerge_join_4.q.out           |    3 +
 .../spark/auto_sortmerge_join_5.q.out           |    3 +
 .../spark/auto_sortmerge_join_6.q.out           |   24 +
 .../spark/auto_sortmerge_join_7.q.out           |    3 +
 .../spark/auto_sortmerge_join_8.q.out           |    3 +
 .../spark/auto_sortmerge_join_9.q.out           |   26 +
 .../results/clientpositive/spark/bucket3.q.out  |    1 +
 .../spark/bucket_map_join_1.q.out               |    2 +
 .../spark/bucket_map_join_2.q.out               |    2 +
 .../spark/bucket_map_join_spark1.q.out          |    4 +
 .../spark/bucket_map_join_spark2.q.out          |    4 +
 .../spark/bucket_map_join_spark3.q.out          |    4 +
 .../spark/bucket_map_join_spark4.q.out          |    6 +
 .../spark/bucket_map_join_tez1.q.out            |   82 +
 .../spark/bucket_map_join_tez2.q.out            |   42 +
 .../clientpositive/spark/bucketmapjoin1.q.out   |    6 +
 .../clientpositive/spark/bucketmapjoin10.q.out  |    2 +
 .../clientpositive/spark/bucketmapjoin11.q.out  |    4 +
 .../clientpositive/spark/bucketmapjoin12.q.out  |    4 +
 .../clientpositive/spark/bucketmapjoin13.q.out  |    8 +
 .../clientpositive/spark/bucketmapjoin2.q.out   |    6 +
 .../clientpositive/spark/bucketmapjoin3.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin4.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin5.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin7.q.out   |    2 +
 .../spark/bucketmapjoin7.q.out_spark            |    2 +
 .../clientpositive/spark/bucketmapjoin8.q.out   |    4 +
 .../clientpositive/spark/bucketmapjoin9.q.out   |    4 +
 .../spark/bucketmapjoin_negative.q.out          |    2 +
 .../spark/bucketmapjoin_negative2.q.out         |    2 +
 .../spark/bucketmapjoin_negative3.q.out         |   18 +
 .../spark/bucketsortoptimize_insert_2.q.out     |    6 +
 .../spark/bucketsortoptimize_insert_4.q.out     |    4 +
 .../spark/bucketsortoptimize_insert_6.q.out     |   14 +
 .../spark/bucketsortoptimize_insert_7.q.out     |    3 +
 .../spark/bucketsortoptimize_insert_8.q.out     |    4 +
 .../spark/cbo_simple_select.q.out               |    6 +
 .../spark/column_access_stats.q.out             |    9 +
 .../spark/constprog_partitioner.q.out           |    4 +
 .../spark/constprog_semijoin.q.out              |   16 +
 .../clientpositive/spark/cross_join.q.out       |    4 +
 .../spark/cross_product_check_1.q.out           |    6 +
 .../spark/cross_product_check_2.q.out           |    6 +
 .../spark/dynamic_rdd_cache.q.out               |   10 +
 .../spark/filter_join_breaktask.q.out           |    3 +
 .../clientpositive/spark/groupby_map_ppr.q.out  |    1 +
 .../spark/groupby_map_ppr_multi_distinct.q.out  |    1 +
 .../spark/groupby_multi_single_reducer2.q.out   |    1 +
 .../spark/groupby_multi_single_reducer3.q.out   |    2 +
 .../clientpositive/spark/groupby_position.q.out |    3 +
 .../clientpositive/spark/groupby_ppr.q.out      |    1 +
 .../spark/groupby_ppr_multi_distinct.q.out      |    2 +
 .../spark/groupby_resolution.q.out              |    1 +
 .../spark/groupby_sort_1_23.q.out               |    5 +
 .../spark/groupby_sort_skew_1_23.q.out          |    5 +
 .../results/clientpositive/spark/having.q.out   |    2 +
 .../spark/identity_project_remove_skip.q.out    |    2 +
 .../spark/infer_bucket_sort_map_operators.q.out |    3 +
 .../spark/infer_bucket_sort_num_buckets.q.out   |    1 +
 .../clientpositive/spark/innerjoin.q.out        |    2 +
 .../results/clientpositive/spark/insert1.q.out  |    4 +
 .../clientpositive/spark/insert_into2.q.out     |    1 +
 .../results/clientpositive/spark/join0.q.out    |    2 +
 .../results/clientpositive/spark/join1.q.out    |    2 +
 .../results/clientpositive/spark/join10.q.out   |    2 +
 .../results/clientpositive/spark/join11.q.out   |    2 +
 .../results/clientpositive/spark/join12.q.out   |    3 +
 .../results/clientpositive/spark/join13.q.out   |    3 +
 .../results/clientpositive/spark/join14.q.out   |    2 +
 .../results/clientpositive/spark/join15.q.out   |    2 +
 .../results/clientpositive/spark/join16.q.out   |    2 +
 .../results/clientpositive/spark/join17.q.out   |    2 +
 .../results/clientpositive/spark/join19.q.out   |    6 +
 .../results/clientpositive/spark/join2.q.out    |    3 +
 .../results/clientpositive/spark/join20.q.out   |    4 +
 .../results/clientpositive/spark/join21.q.out   |    1 +
 .../results/clientpositive/spark/join22.q.out   |   23 +-
 .../results/clientpositive/spark/join23.q.out   |    2 +
 .../results/clientpositive/spark/join25.q.out   |    2 +
 .../results/clientpositive/spark/join26.q.out   |    3 +
 .../results/clientpositive/spark/join27.q.out   |    2 +
 .../results/clientpositive/spark/join28.q.out   |    3 +
 .../results/clientpositive/spark/join29.q.out   |    2 +
 .../results/clientpositive/spark/join3.q.out    |    3 +
 .../results/clientpositive/spark/join30.q.out   |    2 +
 .../results/clientpositive/spark/join31.q.out   |    2 +
 .../results/clientpositive/spark/join32.q.out   |    3 +
 .../clientpositive/spark/join32_lessSize.q.out  |   18 +
 .../results/clientpositive/spark/join33.q.out   |    3 +
 .../results/clientpositive/spark/join34.q.out   |    3 +
 .../results/clientpositive/spark/join35.q.out   |    3 +
 .../results/clientpositive/spark/join36.q.out   |    2 +
 .../results/clientpositive/spark/join37.q.out   |    2 +
 .../results/clientpositive/spark/join38.q.out   |    2 +
 .../results/clientpositive/spark/join39.q.out   |    1 +
 .../results/clientpositive/spark/join4.q.out    |    2 +
 .../results/clientpositive/spark/join40.q.out   |   10 +
 .../results/clientpositive/spark/join41.q.out   |    2 +
 .../results/clientpositive/spark/join5.q.out    |    2 +
 .../results/clientpositive/spark/join6.q.out    |    2 +
 .../results/clientpositive/spark/join7.q.out    |    3 +
 .../results/clientpositive/spark/join8.q.out    |    2 +
 .../results/clientpositive/spark/join9.q.out    |    2 +
 .../clientpositive/spark/join_alt_syntax.q.out  |   16 +
 .../spark/join_cond_pushdown_1.q.out            |   10 +
 .../spark/join_cond_pushdown_2.q.out            |    8 +
 .../spark/join_cond_pushdown_3.q.out            |   10 +
 .../spark/join_cond_pushdown_4.q.out            |    8 +
 .../spark/join_cond_pushdown_unqual1.q.out      |   10 +
 .../spark/join_cond_pushdown_unqual2.q.out      |    8 +
 .../spark/join_cond_pushdown_unqual3.q.out      |   10 +
 .../spark/join_cond_pushdown_unqual4.q.out      |    8 +
 .../spark/join_filters_overlap.q.out            |   11 +
 .../clientpositive/spark/join_hive_626.q.out    |    3 +
 .../clientpositive/spark/join_map_ppr.q.out     |    6 +
 .../spark/join_merge_multi_expressions.q.out    |    3 +
 .../clientpositive/spark/join_merging.q.out     |    3 +
 .../clientpositive/spark/join_nullsafe.q.out    |    8 +
 .../results/clientpositive/spark/join_rc.q.out  |    2 +
 .../clientpositive/spark/join_reorder.q.out     |    4 +
 .../clientpositive/spark/join_reorder2.q.out    |    8 +
 .../clientpositive/spark/join_reorder3.q.out    |    8 +
 .../clientpositive/spark/join_reorder4.q.out    |    9 +
 .../clientpositive/spark/join_star.q.out        |    8 +
 .../clientpositive/spark/join_thrift.q.out      |    2 +
 .../results/clientpositive/spark/join_vc.q.out  |    5 +
 .../clientpositive/spark/join_view.q.out        |    2 +
 .../clientpositive/spark/leftsemijoin.q.out     |    2 +
 .../spark/list_bucket_dml_2.q.out               |    2 +
 .../clientpositive/spark/load_dyn_part10.q.out  |    1 +
 .../clientpositive/spark/load_dyn_part13.q.out  |    2 +
 .../clientpositive/spark/load_dyn_part2.q.out   |    1 +
 .../clientpositive/spark/load_dyn_part3.q.out   |    1 +
 .../clientpositive/spark/load_dyn_part4.q.out   |    1 +
 .../clientpositive/spark/load_dyn_part9.q.out   |    1 +
 .../clientpositive/spark/louter_join_ppr.q.out  |    8 +
 .../clientpositive/spark/mapjoin_decimal.q.out  |    2 +
 .../clientpositive/spark/mapjoin_distinct.q.out |    8 +
 .../spark/mapjoin_filter_on_outerjoin.q.out     |    6 +
 .../clientpositive/spark/mapjoin_mapjoin.q.out  |    9 +
 .../clientpositive/spark/mapjoin_memcheck.q.out |    2 +
 .../clientpositive/spark/mapjoin_subquery.q.out |    6 +
 .../spark/mapjoin_subquery2.q.out               |    3 +
 .../clientpositive/spark/mergejoins.q.out       |    8 +
 .../clientpositive/spark/mergejoins_mixed.q.out |   28 +
 .../clientpositive/spark/multi_insert.q.out     |    4 +
 .../clientpositive/spark/multi_insert_gby.q.out |    1 +
 ...i_insert_move_tasks_share_dependencies.q.out |    8 +
 .../clientpositive/spark/multi_join_union.q.out |    4 +
 .../clientpositive/spark/nullgroup.q.out        |    4 +
 .../clientpositive/spark/nullgroup2.q.out       |    4 +
 .../clientpositive/spark/nullgroup4.q.out       |    4 +
 .../spark/nullgroup4_multi_distinct.q.out       |    2 +
 .../spark/orc_merge_incompat1.q.out             |    1 +
 .../clientpositive/spark/outer_join_ppr.q.out   |    4 +
 .../clientpositive/spark/parallel_join0.q.out   |    2 +
 .../clientpositive/spark/parallel_join1.q.out   |    2 +
 .../clientpositive/spark/parquet_join.q.out     |    5 +
 .../spark/parquet_vectorization_0.q.out         |    6 +
 .../spark/parquet_vectorization_1.q.out         |    1 +
 .../spark/parquet_vectorization_10.q.out        |    1 +
 .../spark/parquet_vectorization_11.q.out        |    1 +
 .../spark/parquet_vectorization_12.q.out        |    1 +
 .../spark/parquet_vectorization_13.q.out        |    2 +
 .../spark/parquet_vectorization_14.q.out        |    1 +
 .../spark/parquet_vectorization_15.q.out        |    1 +
 .../spark/parquet_vectorization_16.q.out        |    1 +
 .../spark/parquet_vectorization_17.q.out        |    1 +
 .../spark/parquet_vectorization_2.q.out         |    1 +
 .../spark/parquet_vectorization_3.q.out         |    1 +
 .../spark/parquet_vectorization_4.q.out         |    1 +
 .../spark/parquet_vectorization_5.q.out         |    1 +
 .../spark/parquet_vectorization_6.q.out         |    1 +
 .../spark/parquet_vectorization_7.q.out         |    2 +
 .../spark/parquet_vectorization_8.q.out         |    2 +
 .../spark/parquet_vectorization_9.q.out         |    1 +
 .../parquet_vectorization_decimal_date.q.out    |    1 +
 .../spark/parquet_vectorization_div0.q.out      |    2 +
 .../spark/parquet_vectorization_limit.q.out     |    3 +
 .../parquet_vectorization_offset_limit.q.out    |    2 +
 .../test/results/clientpositive/spark/pcr.q.out |   22 +
 .../clientpositive/spark/ppd_gby_join.q.out     |    4 +
 .../results/clientpositive/spark/ppd_join.q.out |    4 +
 .../clientpositive/spark/ppd_join2.q.out        |    6 +
 .../clientpositive/spark/ppd_join3.q.out        |    6 +
 .../clientpositive/spark/ppd_join4.q.out        |    2 +
 .../clientpositive/spark/ppd_join5.q.out        |    3 +
 .../clientpositive/spark/ppd_join_filter.q.out  |    6 +
 .../clientpositive/spark/ppd_multi_insert.q.out |    4 +
 .../clientpositive/spark/ppd_outer_join1.q.out  |    4 +
 .../clientpositive/spark/ppd_outer_join2.q.out  |    4 +
 .../clientpositive/spark/ppd_outer_join3.q.out  |    4 +
 .../clientpositive/spark/ppd_outer_join4.q.out  |    6 +
 .../clientpositive/spark/ppd_outer_join5.q.out  |    9 +
 .../test/results/clientpositive/spark/ptf.q.out |    5 +
 .../clientpositive/spark/ptf_matchpath.q.out    |    1 +
 .../clientpositive/spark/ptf_streaming.q.out    |    4 +
 .../clientpositive/spark/quotedid_smb.q.out     |    1 +
 .../spark/reduce_deduplicate.q.out              |    1 +
 .../spark/reduce_deduplicate_exclude_join.q.out |    2 +
 .../clientpositive/spark/router_join_ppr.q.out  |    8 +
 .../spark/runtime_skewjoin_mapjoin_spark.q.out  |    4 +
 .../results/clientpositive/spark/sample1.q.out  |    1 +
 .../results/clientpositive/spark/sample10.q.out |    1 +
 .../results/clientpositive/spark/sample7.q.out  |    1 +
 .../results/clientpositive/spark/sample8.q.out  |    5 +
 .../results/clientpositive/spark/semijoin.q.out |   35 +
 .../results/clientpositive/spark/skewjoin.q.out |   19 +
 .../clientpositive/spark/skewjoin_noskew.q.out  |    2 +
 .../spark/skewjoin_union_remove_1.q.out         |    4 +
 .../spark/skewjoin_union_remove_2.q.out         |    3 +
 .../clientpositive/spark/skewjoinopt1.q.out     |    4 +
 .../clientpositive/spark/skewjoinopt10.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt11.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt12.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt13.q.out    |    3 +
 .../clientpositive/spark/skewjoinopt14.q.out    |    3 +
 .../clientpositive/spark/skewjoinopt15.q.out    |    4 +
 .../clientpositive/spark/skewjoinopt16.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt17.q.out    |    4 +
 .../clientpositive/spark/skewjoinopt18.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt19.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt2.q.out     |    4 +
 .../clientpositive/spark/skewjoinopt20.q.out    |    2 +
 .../clientpositive/spark/skewjoinopt3.q.out     |    2 +
 .../clientpositive/spark/skewjoinopt4.q.out     |    4 +
 .../clientpositive/spark/skewjoinopt5.q.out     |    2 +
 .../clientpositive/spark/skewjoinopt6.q.out     |    2 +
 .../clientpositive/spark/skewjoinopt7.q.out     |    3 +
 .../clientpositive/spark/skewjoinopt8.q.out     |    3 +
 .../clientpositive/spark/skewjoinopt9.q.out     |    4 +
 .../clientpositive/spark/smb_mapjoin_1.q.out    |    2 +
 .../clientpositive/spark/smb_mapjoin_10.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_11.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_12.q.out   |    2 +
 .../clientpositive/spark/smb_mapjoin_13.q.out   |    3 +
 .../clientpositive/spark/smb_mapjoin_14.q.out   |   13 +
 .../clientpositive/spark/smb_mapjoin_15.q.out   |    5 +
 .../clientpositive/spark/smb_mapjoin_16.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_17.q.out   |    7 +
 .../clientpositive/spark/smb_mapjoin_18.q.out   |    3 +
 .../clientpositive/spark/smb_mapjoin_19.q.out   |    1 +
 .../clientpositive/spark/smb_mapjoin_2.q.out    |    2 +
 .../clientpositive/spark/smb_mapjoin_20.q.out   |    3 +
 .../clientpositive/spark/smb_mapjoin_21.q.out   |    6 +
 .../clientpositive/spark/smb_mapjoin_25.q.out   |    8 +
 .../clientpositive/spark/smb_mapjoin_3.q.out    |    2 +
 .../clientpositive/spark/smb_mapjoin_4.q.out    |    4 +
 .../clientpositive/spark/smb_mapjoin_5.q.out    |    4 +
 .../clientpositive/spark/smb_mapjoin_6.q.out    |    5 +
 .../spark_dynamic_partition_pruning_3.q.out     |   17 +
 .../spark_dynamic_partition_pruning_4.q.out     |   27 +
 .../spark_dynamic_partition_pruning_5.q.out     |    7 +
 .../spark_dynamic_partition_pruning_6.q.out     |    4 +
 .../spark_dynamic_partition_pruning_7.q.out     |   10 +
 ...ic_partition_pruning_recursive_mapjoin.q.out |    4 +
 .../spark/spark_union_merge.q.out               |    4 +
 .../spark/spark_use_op_stats.q.out              |    6 +
 .../spark/spark_use_ts_stats_for_mapjoin.q.out  |   10 +
 .../results/clientpositive/spark/stats2.q.out   |    1 +
 .../clientpositive/spark/stats_noscan_2.q.out   |    1 +
 .../clientpositive/spark/subquery_exists.q.out  |    9 +
 .../clientpositive/spark/subquery_in.q.out      |   81 +
 .../clientpositive/spark/subquery_multi.q.out   |   55 +
 .../spark/subquery_multiinsert.q.out            |    6 +
 .../clientpositive/spark/subquery_notin.q.out   |   45 +
 .../clientpositive/spark/subquery_scalar.q.out  |   54 +
 .../clientpositive/spark/subquery_select.q.out  |   54 +-
 .../clientpositive/spark/subquery_views.q.out   |    5 +
 .../clientpositive/spark/temp_table.q.out       |    2 +
 .../clientpositive/spark/temp_table_join1.q.out |    6 +
 .../clientpositive/spark/transform_ppr2.q.out   |    1 +
 .../results/clientpositive/spark/union.q.out    |    2 +
 .../results/clientpositive/spark/union20.q.out  |    2 +
 .../results/clientpositive/spark/union22.q.out  |    3 +
 .../results/clientpositive/spark/union24.q.out  |   12 +
 .../results/clientpositive/spark/union25.q.out  |   25 +-
 .../results/clientpositive/spark/union26.q.out  |    3 +
 .../results/clientpositive/spark/union27.q.out  |    3 +
 .../results/clientpositive/spark/union32.q.out  |    8 +
 .../results/clientpositive/spark/union33.q.out  |    2 +
 .../results/clientpositive/spark/union34.q.out  |    4 +
 .../spark/union_lateralview.q.out               |    1 +
 .../clientpositive/spark/union_ppr.q.out        |  134 +-
 .../clientpositive/spark/union_remove_12.q.out  |    2 +
 .../clientpositive/spark/union_remove_13.q.out  |    2 +
 .../clientpositive/spark/union_remove_14.q.out  |    2 +
 .../clientpositive/spark/union_remove_19.q.out  |    2 +
 .../clientpositive/spark/union_remove_23.q.out  |    2 +
 .../clientpositive/spark/union_remove_25.q.out  |    2 +
 .../clientpositive/spark/union_top_level.q.out  |   14 +
 .../spark/vector_between_in.q.out               |    8 +
 .../spark/vector_decimal_mapjoin.q.out          |   12 +
 .../clientpositive/spark/vector_elt.q.out       |    1 +
 .../spark/vector_inner_join.q.out               |   18 +
 .../spark/vector_mapjoin_reduce.q.out           |    6 +
 .../clientpositive/spark/vectorization_0.q.out  |    6 +
 .../clientpositive/spark/vectorization_1.q.out  |    1 +
 .../clientpositive/spark/vectorization_10.q.out |    1 +
 .../clientpositive/spark/vectorization_11.q.out |    1 +
 .../clientpositive/spark/vectorization_12.q.out |    1 +
 .../clientpositive/spark/vectorization_13.q.out |    2 +
 .../clientpositive/spark/vectorization_14.q.out |    1 +
 .../clientpositive/spark/vectorization_15.q.out |    1 +
 .../clientpositive/spark/vectorization_16.q.out |    1 +
 .../clientpositive/spark/vectorization_17.q.out |    1 +
 .../clientpositive/spark/vectorization_2.q.out  |    1 +
 .../clientpositive/spark/vectorization_3.q.out  |    1 +
 .../clientpositive/spark/vectorization_4.q.out  |    1 +
 .../clientpositive/spark/vectorization_5.q.out  |    1 +
 .../clientpositive/spark/vectorization_6.q.out  |    1 +
 .../clientpositive/spark/vectorization_9.q.out  |    1 +
 .../spark/vectorization_decimal_date.q.out      |    1 +
 .../spark/vectorization_div0.q.out              |    3 +
 .../vectorization_input_format_excludes.q.out   |    6 +
 .../vectorization_parquet_projection.q.out      |    2 +
 .../spark/vectorization_short_regress.q.out     |   12 +
 .../clientpositive/spark/vectorized_case.q.out  |    4 +-
 .../spark/vectorized_mapjoin.q.out              |    2 +
 .../spark/vectorized_math_funcs.q.out           |    1 +
 .../spark/vectorized_nested_mapjoin.q.out       |    3 +
 .../clientpositive/spark/vectorized_ptf.q.out   |    5 +
 .../spark/vectorized_shufflejoin.q.out          |    2 +
 .../spark/vectorized_string_funcs.q.out         |    1 +
 .../special_character_in_tabnames_2.q.out       |    1 +
 .../stat_estimate_related_col.q.out             |   11 +
 ql/src/test/results/clientpositive/stats2.q.out |    1 +
 .../clientpositive/stats_empty_dyn_part.q.out   |    1 +
 .../clientpositive/stats_empty_partition2.q.out |    2 +
 .../results/clientpositive/stats_noscan_2.q.out |    1 +
 .../clientpositive/stats_partial_size.q.out     |    2 +
 .../results/clientpositive/stats_ppr_all.q.out  |    5 +
 .../test/results/clientpositive/structin.q.out  |    2 +
 ql/src/test/results/clientpositive/subq.q.out   |    1 +
 ql/src/test/results/clientpositive/subq2.q.out  |    1 +
 .../subq_where_serialization.q.out              |    2 +
 .../results/clientpositive/subquery_alias.q.out |    1 +
 .../clientpositive/subquery_exists.q.out        |    9 +
 .../clientpositive/subquery_exists_having.q.out |    4 +
 .../clientpositive/subquery_multiinsert.q.out   |    6 +
 .../clientpositive/subquery_notexists.q.out     |    5 +
 .../subquery_notexists_having.q.out             |    2 +
 .../clientpositive/subquery_notin_having.q.out  |    6 +
 .../subquery_unqual_corr_expr.q.out             |    3 +
 .../subquery_unqualcolumnrefs.q.out             |    8 +
 .../clientpositive/temp_table_join1.q.out       |    6 +
 .../clientpositive/tez/explainanalyze_1.q.out   |    8 +-
 .../clientpositive/tez/explainanalyze_4.q.out   |   12 +-
 .../clientpositive/tez/explainanalyze_5.q.out   |   18 +-
 .../tez/hybridgrace_hashjoin_1.q.out            |   20 +
 .../tez/hybridgrace_hashjoin_2.q.out            |   36 +
 .../tez/vector_non_string_partition.q.out       |    2 +
 .../clientpositive/timestamp_ints_casts.q.out   |    2 +
 .../results/clientpositive/transform_ppr2.q.out |    1 +
 .../truncate_column_list_bucket.q.out           |    2 +
 .../results/clientpositive/type_widening.q.out  |    4 +
 ql/src/test/results/clientpositive/udf1.q.out   |    1 +
 ql/src/test/results/clientpositive/udf9.q.out   |    1 +
 .../results/clientpositive/udf_10_trims.q.out   |    1 +
 .../results/clientpositive/udf_between.q.out    |    2 +
 .../udf_case_column_pruning.q.out               |    2 +
 .../clientpositive/udf_folder_constants.q.out   |    2 +
 .../test/results/clientpositive/udf_hour.q.out  |    1 +
 .../clientpositive/udf_isnull_isnotnull.q.out   |    1 +
 .../test/results/clientpositive/udf_like.q.out  |    1 +
 .../test/results/clientpositive/udf_lower.q.out |    1 +
 .../results/clientpositive/udf_minute.q.out     |    1 +
 .../results/clientpositive/udf_notequal.q.out   |    2 +
 .../results/clientpositive/udf_parse_url.q.out  |    1 +
 .../results/clientpositive/udf_second.q.out     |    1 +
 .../test/results/clientpositive/udf_size.q.out  |    1 +
 .../clientpositive/udf_to_unix_timestamp.q.out  |    2 +
 ql/src/test/results/clientpositive/union.q.out  |    2 +
 .../test/results/clientpositive/union20.q.out   |    2 +
 .../test/results/clientpositive/union22.q.out   |    5 +
 .../test/results/clientpositive/union24.q.out   |   12 +
 .../test/results/clientpositive/union25.q.out   |    3 +
 .../test/results/clientpositive/union26.q.out   |    3 +
 .../test/results/clientpositive/union27.q.out   |    3 +
 .../test/results/clientpositive/union32.q.out   |    8 +
 .../test/results/clientpositive/union33.q.out   |    2 +
 .../test/results/clientpositive/union34.q.out   |    4 +
 .../clientpositive/union_lateralview.q.out      |    1 +
 .../results/clientpositive/union_offcbo.q.out   |   12 +
 .../clientpositive/union_pos_alias.q.out        |    2 +
 .../test/results/clientpositive/union_ppr.q.out |    2 +
 .../clientpositive/union_remove_12.q.out        |    2 +
 .../clientpositive/union_remove_13.q.out        |    2 +
 .../clientpositive/union_remove_14.q.out        |    2 +
 .../clientpositive/union_remove_19.q.out        |    4 +
 .../clientpositive/union_remove_23.q.out        |    2 +
 .../clientpositive/union_remove_25.q.out        |    4 +
 .../clientpositive/unionall_unbalancedppd.q.out |    3 +
 .../clientpositive/updateBasicStats.q.out       |    8 +
 .../vector_aggregate_without_gby.q.out          |    1 +
 .../vector_binary_join_groupby.q.out            |    4 +
 .../clientpositive/vector_char_mapjoin1.q.out   |    6 +
 .../results/clientpositive/vector_date_1.q.out  |    3 +
 .../clientpositive/vector_decimal_cast.q.out    |    2 +
 .../vector_decimal_expressions.q.out            |    2 +
 .../clientpositive/vector_decimal_mapjoin.q.out |   12 +
 .../vector_decimal_math_funcs.q.out             |    2 +
 .../clientpositive/vector_decimal_udf2.q.out    |    4 +
 .../results/clientpositive/vector_elt.q.out     |    1 +
 .../clientpositive/vector_groupby_reduce.q.out  |    1 +
 .../results/clientpositive/vector_if_expr.q.out |    1 +
 .../vector_interval_mapjoin.q.out               |    2 +
 .../vector_join_part_col_char.q.out             |    2 +
 .../vector_mr_diff_schema_alias.q.out           |    3 +
 .../vector_non_constant_in_expr.q.out           |    1 +
 .../vector_non_string_partition.q.out           |    2 +
 .../results/clientpositive/vector_nvl.q.out     |    1 +
 .../vector_reduce_groupby_decimal.q.out         |    1 +
 .../vector_reduce_groupby_duplicate_cols.q.out  |    1 +
 .../clientpositive/vector_struct_in.q.out       |    4 +
 .../vector_varchar_mapjoin1.q.out               |    6 +
 .../clientpositive/vectorization_1.q.out        |    1 +
 .../clientpositive/vectorization_10.q.out       |    1 +
 .../clientpositive/vectorization_11.q.out       |    1 +
 .../clientpositive/vectorization_12.q.out       |    1 +
 .../clientpositive/vectorization_13.q.out       |    2 +
 .../clientpositive/vectorization_14.q.out       |    1 +
 .../clientpositive/vectorization_15.q.out       |    1 +
 .../clientpositive/vectorization_16.q.out       |    1 +
 .../clientpositive/vectorization_17.q.out       |    1 +
 .../clientpositive/vectorization_2.q.out        |    1 +
 .../clientpositive/vectorization_3.q.out        |    1 +
 .../clientpositive/vectorization_4.q.out        |    1 +
 .../clientpositive/vectorization_5.q.out        |    1 +
 .../clientpositive/vectorization_6.q.out        |    1 +
 .../clientpositive/vectorization_7.q.out        |    2 +
 .../clientpositive/vectorization_8.q.out        |    2 +
 .../clientpositive/vectorization_9.q.out        |    1 +
 .../vectorization_decimal_date.q.out            |    1 +
 .../clientpositive/vectorization_limit.q.out    |    3 +
 .../vectorization_numeric_overflows.q.out       |   10 +
 .../vectorization_offset_limit.q.out            |    2 +
 .../vectorization_parquet_projection.q.out      |    2 +
 .../vectorized_bucketmapjoin1.q.out             |    3 +
 .../clientpositive/vectorized_case.q.out        |    2 +
 .../clientpositive/vectorized_casts.q.out       |    1 +
 .../clientpositive/vectorized_context.q.out     |    3 +
 .../clientpositive/vectorized_mapjoin.q.out     |    2 +
 .../clientpositive/vectorized_mapjoin2.q.out    |    2 +
 .../clientpositive/vectorized_mapjoin3.q.out    |    3 +
 .../clientpositive/vectorized_math_funcs.q.out  |    1 +
 .../clientpositive/vectorized_shufflejoin.q.out |    2 +
 .../vectorized_string_funcs.q.out               |    1 +
 .../clientpositive/vectorized_timestamp.q.out   |    1 +
 .../vectorized_timestamp_ints_casts.q.out       |    2 +
 .../results/clientpositive/windowing_gby2.q.out |    2 +
 .../clientpositive/windowing_navfn.q.out        |    1 +
 1527 files changed, 22016 insertions(+), 8750 deletions(-)
----------------------------------------------------------------------



[55/58] [abbrv] hive git commit: HIVE-18434 : Type is not determined correctly for comparison between decimal column and string constant (Ashutosh Chauhan via Gunther Hagleitner)

Posted by se...@apache.org.
HIVE-18434 : Type is not determined correctly for comparison between decimal column and string constant (Ashutosh Chauhan via Gunther Hagleitner)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b5160e74
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b5160e74
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b5160e74

Branch: refs/heads/master-txnstats
Commit: b5160e7441a9eb17e0a745d37f877ecba4ca9e41
Parents: 1a2e378
Author: Ashutosh Chauhan <ha...@apache.org>
Authored: Mon Jun 25 19:14:13 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Mon Jun 25 19:17:33 2018 -0700

----------------------------------------------------------------------
 .../test/resources/testconfiguration.properties |   1 +
 .../hive/ql/parse/TypeCheckProcFactory.java     |   2 +
 ql/src/test/queries/clientpositive/dec_str.q    |   6 +
 .../results/clientpositive/llap/dec_str.q.out   | 118 +++++++++++++++++++
 4 files changed, 127 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/b5160e74/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 517b413..793d8cd 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -416,6 +416,7 @@ minillap.query.files=acid_bucket_pruning.q,\
 
 minillaplocal.query.files=\
   bucket_num_reducers_acid.q,\
+  dec_str.q,\
   dp_counter_non_mm.q,\
   dp_counter_mm.q,\
   acid_export.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/b5160e74/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
index 2506172..036ceca 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
@@ -1154,6 +1154,8 @@ public class TypeCheckProcFactory {
               children.set(constIdx, new ExprNodeConstantDesc(new Byte(constVal.toString())));
             } else if (PrimitiveObjectInspectorUtils.shortTypeEntry.equals(colTypeInfo.getPrimitiveTypeEntry()) && (constVal instanceof Number || constVal instanceof String)) {
               children.set(constIdx, new ExprNodeConstantDesc(new Short(constVal.toString())));
+            } else if (PrimitiveObjectInspectorUtils.decimalTypeEntry.equals(colTypeInfo.getPrimitiveTypeEntry()) && (constVal instanceof Number || constVal instanceof String)) {
+              children.set(constIdx, NumExprProcessor.createDecimal(constVal.toString(),false));
             }
           } catch (NumberFormatException nfe) {
             LOG.trace("Failed to narrow type of constant", nfe);

http://git-wip-us.apache.org/repos/asf/hive/blob/b5160e74/ql/src/test/queries/clientpositive/dec_str.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/dec_str.q b/ql/src/test/queries/clientpositive/dec_str.q
new file mode 100644
index 0000000..6862553
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/dec_str.q
@@ -0,0 +1,6 @@
+create table t1 (a decimal (3,1));
+explain select * from t1 where a = '22.3';
+explain select * from t1 where a = '2.3';
+explain select * from t1 where a = '213.223';
+explain select * from t1 where a = '';
+explain select * from t1 where a = 'ab';

http://git-wip-us.apache.org/repos/asf/hive/blob/b5160e74/ql/src/test/results/clientpositive/llap/dec_str.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dec_str.q.out b/ql/src/test/results/clientpositive/llap/dec_str.q.out
new file mode 100644
index 0000000..3b7f92d
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/dec_str.q.out
@@ -0,0 +1,118 @@
+PREHOOK: query: create table t1 (a decimal (3,1))
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t1
+POSTHOOK: query: create table t1 (a decimal (3,1))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t1
+PREHOOK: query: explain select * from t1 where a = '22.3'
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from t1 where a = '22.3'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        TableScan
+          alias: t1
+          filterExpr: (a = 22.3) (type: boolean)
+          Filter Operator
+            predicate: (a = 22.3) (type: boolean)
+            Select Operator
+              expressions: 22.3 (type: decimal(3,1))
+              outputColumnNames: _col0
+              ListSink
+
+PREHOOK: query: explain select * from t1 where a = '2.3'
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from t1 where a = '2.3'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        TableScan
+          alias: t1
+          filterExpr: (a = 2.3) (type: boolean)
+          Filter Operator
+            predicate: (a = 2.3) (type: boolean)
+            Select Operator
+              expressions: 2.3 (type: decimal(3,1))
+              outputColumnNames: _col0
+              ListSink
+
+PREHOOK: query: explain select * from t1 where a = '213.223'
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from t1 where a = '213.223'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        TableScan
+          alias: t1
+          filterExpr: (a = 213.223) (type: boolean)
+          Filter Operator
+            predicate: (a = 213.223) (type: boolean)
+            Select Operator
+              expressions: null (type: decimal(3,1))
+              outputColumnNames: _col0
+              ListSink
+
+PREHOOK: query: explain select * from t1 where a = ''
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from t1 where a = ''
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        TableScan
+          alias: t1
+          filterExpr: (a = null) (type: boolean)
+          Filter Operator
+            predicate: (a = null) (type: boolean)
+            Select Operator
+              expressions: null (type: decimal(3,1))
+              outputColumnNames: _col0
+              ListSink
+
+PREHOOK: query: explain select * from t1 where a = 'ab'
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from t1 where a = 'ab'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        TableScan
+          alias: t1
+          filterExpr: (a = null) (type: boolean)
+          Filter Operator
+            predicate: (a = null) (type: boolean)
+            Select Operator
+              expressions: null (type: decimal(3,1))
+              outputColumnNames: _col0
+              ListSink
+


[41/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_6.q.out b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_6.q.out
index 7533cf8..e867859 100644
--- a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_6.q.out
@@ -85,6 +85,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -300,6 +302,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -311,6 +314,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -515,6 +519,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -526,6 +531,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -665,6 +671,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -676,6 +683,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -821,6 +829,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -832,6 +841,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -1054,6 +1064,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -1065,6 +1076,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -1297,6 +1309,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 8232 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)
@@ -1308,6 +1321,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key is not null and key2 is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 970 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and key2 is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
index cf7e442..c7f5b88 100644
--- a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
@@ -85,6 +85,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
@@ -297,6 +299,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table2_n19
+                  filterExpr: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
@@ -308,6 +311,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table1_n20
+                  filterExpr: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key = 0) or (key = 5)) and key is not null) (type: boolean)
@@ -515,6 +519,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table2_n19
+                  filterExpr: ((key < 8) and ((key = 0) or (key = 5))) (type: boolean)
                   Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key = 0) or (key = 5)) and (key < 8)) (type: boolean)
@@ -526,6 +531,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: test_table1_n20
+                  filterExpr: ((key < 8) and ((key = 0) or (key = 5))) (type: boolean)
                   Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (((key = 0) or (key = 5)) and (key < 8)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out b/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
index f964cb6..a35edb4 100644
--- a/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
@@ -755,6 +755,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = c_int) (type: boolean)
           Filter Operator
             predicate: (c_int = c_int) (type: boolean)
             Select Operator
@@ -778,6 +779,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = (2 * c_int)) (type: boolean)
           Filter Operator
             predicate: (c_int = (2 * c_int)) (type: boolean)
             Select Operator
@@ -801,6 +803,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = c_int) (type: boolean)
           Filter Operator
             predicate: (c_int = c_int) (type: boolean)
             Select Operator
@@ -824,6 +827,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int = null) (type: boolean)
           Filter Operator
             predicate: (c_int = null) (type: boolean)
             Select Operator
@@ -847,6 +851,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int) IN (c_int, (2 * c_int)) (type: boolean)
           Filter Operator
             predicate: (c_int) IN (c_int, (2 * c_int)) (type: boolean)
             Select Operator
@@ -870,6 +875,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: cbo_t2
+          filterExpr: (c_int) IN (c_int, 0) (type: boolean)
           Filter Operator
             predicate: (c_int) IN (c_int, 0) (type: boolean)
             Select Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/check_constraint.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/check_constraint.q.out b/ql/src/test/results/clientpositive/llap/check_constraint.q.out
index 085b003..411b4a6 100644
--- a/ql/src/test/results/clientpositive/llap/check_constraint.q.out
+++ b/ql/src/test/results/clientpositive/llap/check_constraint.q.out
@@ -1494,6 +1494,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s1
+                  filterExpr: (value > 'val') (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (value > 'val') (type: boolean)
@@ -1928,6 +1929,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_uami_n0
+                  filterExpr: (((de = 103) or (de = 119)) and enforce_constraint((893.14 >= CAST( i AS decimal(5,2))) is not false)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 328 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((de = 103) or (de = 119)) and enforce_constraint((893.14 >= CAST( i AS decimal(5,2))) is not false)) (type: boolean)
@@ -2016,6 +2018,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: acid_uami_n0
+                  filterExpr: (de = 893.14) (type: boolean)
                   Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (de = 893.14) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cluster.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cluster.q.out b/ql/src/test/results/clientpositive/llap/cluster.q.out
index c2a8577..5e6a88b 100644
--- a/ql/src/test/results/clientpositive/llap/cluster.q.out
+++ b/ql/src/test/results/clientpositive/llap/cluster.q.out
@@ -20,6 +20,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 10) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 10) (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -156,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -224,6 +227,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -292,6 +296,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -360,6 +365,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -428,6 +434,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -496,6 +503,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -565,6 +573,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -581,6 +590,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -666,6 +676,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -682,6 +693,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -768,6 +780,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -784,6 +797,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -870,6 +884,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -886,6 +901,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key = 20) (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key = 20) (type: boolean)
@@ -984,6 +1000,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key < 100) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key < 100) (type: boolean)
@@ -1004,6 +1021,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: (key > 100) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key > 100) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/columnStatsUpdateForStatsOptimizer_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/columnStatsUpdateForStatsOptimizer_1.q.out b/ql/src/test/results/clientpositive/llap/columnStatsUpdateForStatsOptimizer_1.q.out
index f9f94be..e8605da 100644
--- a/ql/src/test/results/clientpositive/llap/columnStatsUpdateForStatsOptimizer_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/columnStatsUpdateForStatsOptimizer_1.q.out
@@ -711,6 +711,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: calendarp
+                  filterExpr: (p = 1) (type: boolean)
                   Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: year (type: int)
@@ -889,6 +890,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: calendarp
+                  filterExpr: (p = 1) (type: boolean)
                   Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
                   Select Operator
                     expressions: year (type: int)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/column_access_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/column_access_stats.q.out b/ql/src/test/results/clientpositive/llap/column_access_stats.q.out
index 7c9df96..1c873e2 100644
--- a/ql/src/test/results/clientpositive/llap/column_access_stats.q.out
+++ b/ql/src/test/results/clientpositive/llap/column_access_stats.q.out
@@ -387,6 +387,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n127
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -406,6 +407,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n75
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 425 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -518,6 +520,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n127
+                  filterExpr: ((UDFToDouble(val) = 3.0D) and key is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToDouble(val) = 3.0D) and key is not null) (type: boolean)
@@ -538,6 +541,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n75
+                  filterExpr: ((UDFToDouble(val) = 3.0D) and key is not null) (type: boolean)
                   Statistics: Num rows: 5 Data size: 850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(val) = 3.0D) and key is not null) (type: boolean)
@@ -620,6 +624,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n127
+                  filterExpr: ((UDFToDouble(key) = 5.0D) and val is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((UDFToDouble(key) = 5.0D) and val is not null) (type: boolean)
@@ -639,6 +644,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n75
+                  filterExpr: ((UDFToDouble(key) = 6.0D) and val is not null) (type: boolean)
                   Statistics: Num rows: 5 Data size: 850 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: ((UDFToDouble(key) = 6.0D) and val is not null) (type: boolean)
@@ -734,6 +740,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t2_n75
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 425 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -753,6 +760,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t1_n127
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -772,6 +780,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: t3_n29
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 5 Data size: 865 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/column_table_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/column_table_stats.q.out b/ql/src/test/results/clientpositive/llap/column_table_stats.q.out
index 52c23a4..d319f8a 100644
--- a/ql/src/test/results/clientpositive/llap/column_table_stats.q.out
+++ b/ql/src/test/results/clientpositive/llap/column_table_stats.q.out
@@ -1149,6 +1149,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: spart
+                  filterExpr: (hr = '11') (type: boolean)
                   Statistics: Num rows: 117 Data size: 121232 Basic stats: COMPLETE Column stats: PARTIAL
                   Statistics Aggregation Key Prefix: default.spart/
                   GatherStats: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/column_table_stats_orc.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/column_table_stats_orc.q.out b/ql/src/test/results/clientpositive/llap/column_table_stats_orc.q.out
index 658b057..3ea86e5 100644
--- a/ql/src/test/results/clientpositive/llap/column_table_stats_orc.q.out
+++ b/ql/src/test/results/clientpositive/llap/column_table_stats_orc.q.out
@@ -734,6 +734,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: spart_n0
+                  filterExpr: (hr = '11') (type: boolean)
                   Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: PARTIAL
                   Statistics Aggregation Key Prefix: default.spart_n0/
                   GatherStats: true

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out b/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
index e547a03..46c40b4 100644
--- a/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
@@ -70,25 +70,25 @@ Stage-0
       File Output Operator [FS_12]
         Select Operator [SEL_11] (rows=1 width=185)
           Output:["_col0","_col1","_col2"]
-          Merge Join Operator [MERGEJOIN_17] (rows=1 width=94)
-            Conds:RS_20._col3=RS_24._col0(Left Semi),Output:["_col0","_col2"]
+          Merge Join Operator [MERGEJOIN_27] (rows=1 width=94)
+            Conds:RS_30._col3=RS_34._col0(Left Semi),Output:["_col0","_col2"]
           <-Map 1 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_20]
+            SHUFFLE [RS_30]
               PartitionCols:_col3
-              Select Operator [SEL_19] (rows=2 width=189)
+              Select Operator [SEL_29] (rows=2 width=189)
                 Output:["_col0","_col2","_col3"]
-                Filter Operator [FIL_18] (rows=2 width=189)
+                Filter Operator [FIL_28] (rows=2 width=189)
                   predicate:((val = 't1val01') and dimid is not null)
                   TableScan [TS_0] (rows=10 width=189)
                     default@table1_n10,table1_n10,Tbl:COMPLETE,Col:COMPLETE,Output:["id","val","val1","dimid"]
           <-Map 3 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_24]
+            SHUFFLE [RS_34]
               PartitionCols:_col0
-              Group By Operator [GBY_23] (rows=2 width=4)
+              Group By Operator [GBY_33] (rows=2 width=4)
                 Output:["_col0"],keys:_col0
-                Select Operator [SEL_22] (rows=5 width=4)
+                Select Operator [SEL_32] (rows=5 width=4)
                   Output:["_col0"]
-                  Filter Operator [FIL_21] (rows=5 width=4)
+                  Filter Operator [FIL_31] (rows=5 width=4)
                     predicate:id is not null
                     TableScan [TS_3] (rows=5 width=4)
                       default@table3_n0,table3_n0,Tbl:COMPLETE,Col:COMPLETE,Output:["id"]
@@ -124,39 +124,39 @@ Stage-0
       File Output Operator [FS_18]
         Select Operator [SEL_17] (rows=1 width=187)
           Output:["_col0","_col1","_col2"]
-          Merge Join Operator [MERGEJOIN_28] (rows=1 width=96)
-            Conds:RS_14._col2=RS_38._col0(Left Semi),Output:["_col0","_col4"]
+          Merge Join Operator [MERGEJOIN_48] (rows=1 width=96)
+            Conds:RS_14._col2=RS_58._col0(Left Semi),Output:["_col0","_col4"]
           <-Map 5 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_38]
+            SHUFFLE [RS_58]
               PartitionCols:_col0
-              Group By Operator [GBY_37] (rows=2 width=4)
+              Group By Operator [GBY_57] (rows=2 width=4)
                 Output:["_col0"],keys:_col0
-                Select Operator [SEL_36] (rows=5 width=4)
+                Select Operator [SEL_56] (rows=5 width=4)
                   Output:["_col0"]
-                  Filter Operator [FIL_35] (rows=5 width=4)
+                  Filter Operator [FIL_55] (rows=5 width=4)
                     predicate:id is not null
                     TableScan [TS_6] (rows=5 width=4)
                       default@table3_n0,table3_n0,Tbl:COMPLETE,Col:COMPLETE,Output:["id"]
           <-Reducer 2 [SIMPLE_EDGE] llap
             SHUFFLE [RS_14]
               PartitionCols:_col2
-              Merge Join Operator [MERGEJOIN_27] (rows=2 width=100)
-                Conds:RS_31._col0=RS_34._col0(Inner),Output:["_col0","_col2","_col4"]
+              Merge Join Operator [MERGEJOIN_47] (rows=2 width=100)
+                Conds:RS_51._col0=RS_54._col0(Inner),Output:["_col0","_col2","_col4"]
               <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_31]
+                SHUFFLE [RS_51]
                   PartitionCols:_col0
-                  Select Operator [SEL_30] (rows=2 width=99)
+                  Select Operator [SEL_50] (rows=2 width=99)
                     Output:["_col0","_col2"]
-                    Filter Operator [FIL_29] (rows=2 width=99)
+                    Filter Operator [FIL_49] (rows=2 width=99)
                       predicate:((val = 't1val01') and dimid is not null and id is not null)
                       TableScan [TS_0] (rows=10 width=99)
                         default@table1_n10,table1_n10,Tbl:COMPLETE,Col:COMPLETE,Output:["id","val","dimid"]
               <-Map 4 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_34]
+                SHUFFLE [RS_54]
                   PartitionCols:_col0
-                  Select Operator [SEL_33] (rows=3 width=96)
+                  Select Operator [SEL_53] (rows=3 width=96)
                     Output:["_col0","_col1"]
-                    Filter Operator [FIL_32] (rows=3 width=96)
+                    Filter Operator [FIL_52] (rows=3 width=96)
                       predicate:id is not null
                       TableScan [TS_3] (rows=3 width=96)
                         default@table2_n6,table2_n6,Tbl:COMPLETE,Col:COMPLETE,Output:["id","val2"]
@@ -194,39 +194,39 @@ Stage-0
       File Output Operator [FS_18]
         Select Operator [SEL_17] (rows=1 width=187)
           Output:["_col0","_col1","_col2"]
-          Merge Join Operator [MERGEJOIN_28] (rows=1 width=96)
-            Conds:RS_14._col0=RS_38._col0(Inner),Output:["_col0","_col4"]
+          Merge Join Operator [MERGEJOIN_48] (rows=1 width=96)
+            Conds:RS_14._col0=RS_58._col0(Inner),Output:["_col0","_col4"]
           <-Map 5 [SIMPLE_EDGE] vectorized, llap
-            SHUFFLE [RS_38]
+            SHUFFLE [RS_58]
               PartitionCols:_col0
-              Select Operator [SEL_37] (rows=3 width=96)
+              Select Operator [SEL_57] (rows=3 width=96)
                 Output:["_col0","_col1"]
-                Filter Operator [FIL_36] (rows=3 width=96)
+                Filter Operator [FIL_56] (rows=3 width=96)
                   predicate:id is not null
                   TableScan [TS_6] (rows=3 width=96)
                     default@table2_n6,table2_n6,Tbl:COMPLETE,Col:COMPLETE,Output:["id","val2"]
           <-Reducer 2 [SIMPLE_EDGE] llap
             SHUFFLE [RS_14]
               PartitionCols:_col0
-              Merge Join Operator [MERGEJOIN_27] (rows=1 width=4)
-                Conds:RS_31._col2=RS_35._col0(Left Semi),Output:["_col0"]
+              Merge Join Operator [MERGEJOIN_47] (rows=1 width=4)
+                Conds:RS_51._col2=RS_55._col0(Left Semi),Output:["_col0"]
               <-Map 1 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_31]
+                SHUFFLE [RS_51]
                   PartitionCols:_col2
-                  Select Operator [SEL_30] (rows=2 width=99)
+                  Select Operator [SEL_50] (rows=2 width=99)
                     Output:["_col0","_col2"]
-                    Filter Operator [FIL_29] (rows=2 width=99)
+                    Filter Operator [FIL_49] (rows=2 width=99)
                       predicate:((val = 't1val01') and dimid is not null and id is not null)
                       TableScan [TS_0] (rows=10 width=99)
                         default@table1_n10,table1_n10,Tbl:COMPLETE,Col:COMPLETE,Output:["id","val","dimid"]
               <-Map 4 [SIMPLE_EDGE] vectorized, llap
-                SHUFFLE [RS_35]
+                SHUFFLE [RS_55]
                   PartitionCols:_col0
-                  Group By Operator [GBY_34] (rows=2 width=4)
+                  Group By Operator [GBY_54] (rows=2 width=4)
                     Output:["_col0"],keys:_col0
-                    Select Operator [SEL_33] (rows=5 width=4)
+                    Select Operator [SEL_53] (rows=5 width=4)
                       Output:["_col0"]
-                      Filter Operator [FIL_32] (rows=5 width=4)
+                      Filter Operator [FIL_52] (rows=5 width=4)
                         predicate:id is not null
                         TableScan [TS_3] (rows=5 width=4)
                           default@table3_n0,table3_n0,Tbl:COMPLETE,Col:COMPLETE,Output:["id"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/correlationoptimizer1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/correlationoptimizer1.q.out b/ql/src/test/results/clientpositive/llap/correlationoptimizer1.q.out
index 99f3c56..b156ce3 100644
--- a/ql/src/test/results/clientpositive/llap/correlationoptimizer1.q.out
+++ b/ql/src/test/results/clientpositive/llap/correlationoptimizer1.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -47,6 +48,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -176,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -195,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -324,6 +328,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -343,6 +348,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -466,6 +472,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -485,6 +492,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -619,6 +627,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -638,6 +647,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2454,6 +2464,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2474,6 +2485,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2603,6 +2615,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2623,6 +2636,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2752,6 +2766,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2771,6 +2786,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2900,6 +2916,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)
@@ -2919,6 +2936,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: (key is not null and value is not null) (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: (key is not null and value is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/correlationoptimizer2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/correlationoptimizer2.q.out b/ql/src/test/results/clientpositive/llap/correlationoptimizer2.q.out
index 879c999..eb0dcad 100644
--- a/ql/src/test/results/clientpositive/llap/correlationoptimizer2.q.out
+++ b/ql/src/test/results/clientpositive/llap/correlationoptimizer2.q.out
@@ -29,6 +29,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -51,6 +52,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -178,6 +180,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -200,6 +203,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1633,6 +1637,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1652,6 +1657,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1814,6 +1820,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1833,6 +1840,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/correlationoptimizer3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/correlationoptimizer3.q.out b/ql/src/test/results/clientpositive/llap/correlationoptimizer3.q.out
index 2e4010e..c9bff28 100644
--- a/ql/src/test/results/clientpositive/llap/correlationoptimizer3.q.out
+++ b/ql/src/test/results/clientpositive/llap/correlationoptimizer3.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -56,6 +57,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -76,6 +78,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -249,6 +252,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -273,6 +277,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -293,6 +298,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -465,6 +471,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -516,6 +523,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -536,6 +544,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -572,6 +581,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -677,6 +687,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -701,6 +712,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -721,6 +733,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -894,6 +907,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -918,6 +932,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -938,6 +953,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1110,6 +1126,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1161,6 +1178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1181,6 +1199,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1217,6 +1236,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/correlationoptimizer4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/correlationoptimizer4.q.out b/ql/src/test/results/clientpositive/llap/correlationoptimizer4.q.out
index 027779d..f03e3d1 100644
--- a/ql/src/test/results/clientpositive/llap/correlationoptimizer4.q.out
+++ b/ql/src/test/results/clientpositive/llap/correlationoptimizer4.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -95,6 +96,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -114,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -247,6 +250,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -266,6 +270,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -285,6 +290,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -418,6 +424,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -457,6 +464,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -476,6 +484,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/correlationoptimizer6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/correlationoptimizer6.q.out b/ql/src/test/results/clientpositive/llap/correlationoptimizer6.q.out
index 1fcd6ed..6c3e65d 100644
--- a/ql/src/test/results/clientpositive/llap/correlationoptimizer6.q.out
+++ b/ql/src/test/results/clientpositive/llap/correlationoptimizer6.q.out
@@ -34,6 +34,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -53,6 +54,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -72,6 +74,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -91,6 +94,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -278,6 +282,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -297,6 +302,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -316,6 +322,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -335,6 +342,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -521,6 +529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -557,6 +566,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -576,6 +586,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -612,6 +623,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -741,6 +753,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -760,6 +773,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -882,6 +896,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -901,6 +916,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1024,6 +1040,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1043,6 +1060,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1062,6 +1080,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1205,6 +1224,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1224,6 +1244,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1243,6 +1264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1386,6 +1408,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1405,6 +1428,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1424,6 +1448,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: yy
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1589,6 +1614,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1608,6 +1634,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1627,6 +1654,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: yy
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1794,6 +1822,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1813,6 +1842,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -1837,6 +1867,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2012,6 +2043,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2031,6 +2063,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2055,6 +2088,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2230,6 +2264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2254,6 +2289,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2273,6 +2309,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2448,6 +2485,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2472,6 +2510,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2491,6 +2530,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: xx
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2668,6 +2708,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2690,6 +2731,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2712,6 +2754,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2903,6 +2946,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2925,6 +2969,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -2947,6 +2992,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: z
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3139,6 +3185,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3158,6 +3205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3177,6 +3225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3196,6 +3245,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3395,6 +3445,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3414,6 +3465,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3433,6 +3485,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3453,6 +3506,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3639,6 +3693,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3675,6 +3730,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3694,6 +3750,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: x
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -3730,6 +3787,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cross_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cross_join.q.out b/ql/src/test/results/clientpositive/llap/cross_join.q.out
index 64f669b..f789f18 100644
--- a/ql/src/test/results/clientpositive/llap/cross_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/cross_join.q.out
@@ -156,6 +156,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -175,6 +176,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -373,6 +375,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -404,6 +407,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: src2
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out b/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out
index 13c9965..df525c3 100644
--- a/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/cross_prod_1.q.out
@@ -354,6 +354,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key BETWEEN '103' AND '105' (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key BETWEEN '103' AND '105' (type: boolean)
@@ -1570,6 +1571,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: (key) IN ('103', '104', '105') (type: boolean)
                   Statistics: Num rows: 10 Data size: 3680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (key) IN ('103', '104', '105') (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/llap/cross_prod_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cross_prod_3.q.out b/ql/src/test/results/clientpositive/llap/cross_prod_3.q.out
index 87991c2..efcdfef 100644
--- a/ql/src/test/results/clientpositive/llap/cross_prod_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/cross_prod_3.q.out
@@ -50,6 +50,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: y_n0
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: key is not null (type: boolean)
@@ -108,6 +110,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: b
+                  filterExpr: key is not null (type: boolean)
                   Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: key is not null (type: boolean)


[18/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query12.q.out b/ql/src/test/results/clientpositive/perf/tez/query12.q.out
index 6e304aa..4771dcf 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query12.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query12.q.out
@@ -65,72 +65,97 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_56]
-        Limit [LIM_55] (rows=100 width=135)
+      File Output Operator [FS_86]
+        Limit [LIM_85] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_54] (rows=87121617 width=135)
+          Select Operator [SEL_84] (rows=87121617 width=135)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_53]
-              Select Operator [SEL_52] (rows=87121617 width=135)
+            SHUFFLE [RS_83]
+              Select Operator [SEL_82] (rows=87121617 width=135)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                PTF Operator [PTF_51] (rows=87121617 width=135)
+                PTF Operator [PTF_81] (rows=87121617 width=135)
                   Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"_col1"}]
-                  Select Operator [SEL_50] (rows=87121617 width=135)
+                  Select Operator [SEL_80] (rows=87121617 width=135)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_49]
+                    SHUFFLE [RS_79]
                       PartitionCols:_col1
-                      Group By Operator [GBY_48] (rows=87121617 width=135)
+                      Group By Operator [GBY_78] (rows=87121617 width=135)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_17]
                           PartitionCols:_col0, _col1, _col2, _col3, _col4
                           Group By Operator [GBY_16] (rows=174243235 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)"],keys:_col10, _col9, _col6, _col7, _col8
-                            Merge Join Operator [MERGEJOIN_38] (rows=174243235 width=135)
-                              Conds:RS_12._col1=RS_47._col0(Inner),Output:["_col2","_col6","_col7","_col8","_col9","_col10"]
-                            <-Map 8 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_47]
+                            Merge Join Operator [MERGEJOIN_58] (rows=174243235 width=135)
+                              Conds:RS_12._col1=RS_69._col0(Inner),Output:["_col2","_col6","_col7","_col8","_col9","_col10"]
+                            <-Map 9 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_69]
                                 PartitionCols:_col0
-                                Select Operator [SEL_46] (rows=231000 width=1436)
+                                Select Operator [SEL_68] (rows=231000 width=1436)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                  Filter Operator [FIL_45] (rows=231000 width=1436)
+                                  Filter Operator [FIL_67] (rows=231000 width=1436)
                                     predicate:((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null)
                                     TableScan [TS_6] (rows=462000 width=1436)
                                       default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc","i_current_price","i_class","i_category"]
                             <-Reducer 2 [SIMPLE_EDGE]
                               SHUFFLE [RS_12]
                                 PartitionCols:_col1
-                                Merge Join Operator [MERGEJOIN_37] (rows=158402938 width=135)
-                                  Conds:RS_41._col0=RS_44._col0(Inner),Output:["_col1","_col2"]
-                                <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_41]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_40] (rows=144002668 width=135)
-                                      Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_39] (rows=144002668 width=135)
-                                        predicate:(ws_item_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_item_sk","ws_ext_sales_price"]
+                                Merge Join Operator [MERGEJOIN_57] (rows=158402938 width=135)
+                                  Conds:RS_77._col0=RS_61._col0(Inner),Output:["_col1","_col2"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_44]
+                                  PARTITION_ONLY_SHUFFLE [RS_61]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_43] (rows=8116 width=1119)
+                                    Select Operator [SEL_60] (rows=8116 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_42] (rows=8116 width=1119)
+                                      Filter Operator [FIL_59] (rows=8116 width=1119)
                                         predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null)
                                         TableScan [TS_3] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
+                                <-Map 1 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_77]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_76] (rows=144002668 width=135)
+                                      Output:["_col0","_col1","_col2"]
+                                      Filter Operator [FIL_75] (rows=144002668 width=135)
+                                        predicate:((ws_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (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_item_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_item_sk","ws_ext_sales_price"]
+                                        <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_74]
+                                            Group By Operator [GBY_73] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_72]
+                                                Group By Operator [GBY_71] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_70] (rows=231000 width=1436)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_68]
+                                        <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_66]
+                                            Group By Operator [GBY_65] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              PARTITION_ONLY_SHUFFLE [RS_64]
+                                                Group By Operator [GBY_63] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_62] (rows=8116 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_60]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query13.q.out b/ql/src/test/results/clientpositive/perf/tez/query13.q.out
index d0ed3d8..5cd4e27 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query13.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query13.q.out
@@ -101,22 +101,28 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Map 12 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Map 9 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
+Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Map 16 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 8 <- Map 1 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_92]
-        Select Operator [SEL_91] (rows=1 width=256)
+      File Output Operator [FS_167]
+        Select Operator [SEL_166] (rows=1 width=256)
           Output:["_col0","_col1","_col2","_col3"]
-          Group By Operator [GBY_90] (rows=1 width=256)
+          Group By Operator [GBY_165] (rows=1 width=256)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)"]
           <-Reducer 6 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_37]
@@ -126,14 +132,14 @@ Stage-0
                   Output:["_col6","_col8","_col9"]
                   Filter Operator [FIL_34] (rows=715776 width=88)
                     predicate:(((_col19 = 'D') and (_col20 = 'Primary') and _col7 BETWEEN 50 AND 100 and (_col14 = 1)) or ((_col19 = 'M') and (_col20 = '4 yr Degree') and _col7 BETWEEN 100 AND 150 and (_col14 = 3)) or ((_col19 = 'U') and (_col20 = 'Advanced Degree') and _col7 BETWEEN 150 AND 200 and (_col14 = 1)))
-                    Merge Join Operator [MERGEJOIN_71] (rows=17178642 width=88)
-                      Conds:RS_31._col2=RS_89._col0(Inner),Output:["_col6","_col7","_col8","_col9","_col14","_col19","_col20"]
-                    <-Map 12 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_89]
+                    Merge Join Operator [MERGEJOIN_121] (rows=17178642 width=88)
+                      Conds:RS_31._col2=RS_156._col0(Inner),Output:["_col6","_col7","_col8","_col9","_col14","_col19","_col20"]
+                    <-Map 16 [SIMPLE_EDGE] vectorized
+                      SHUFFLE [RS_156]
                         PartitionCols:_col0
-                        Select Operator [SEL_88] (rows=1861800 width=385)
+                        Select Operator [SEL_155] (rows=1861800 width=385)
                           Output:["_col0","_col1","_col2"]
-                          Filter Operator [FIL_87] (rows=1861800 width=385)
+                          Filter Operator [FIL_154] (rows=1861800 width=385)
                             predicate:(((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null)
                             TableScan [TS_15] (rows=1861800 width=385)
                               default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
@@ -142,66 +148,121 @@ Stage-0
                         PartitionCols:_col2
                         Filter Operator [FIL_30] (rows=15616947 width=88)
                           predicate:(((_col16) IN ('KY', 'GA', 'NM') and _col10 BETWEEN 100 AND 200) or ((_col16) IN ('MT', 'OR', 'IN') and _col10 BETWEEN 150 AND 300) or ((_col16) IN ('WI', 'MO', 'WV') and _col10 BETWEEN 50 AND 250))
-                          Merge Join Operator [MERGEJOIN_70] (rows=93701693 width=88)
-                            Conds:RS_27._col4=RS_86._col0(Inner),Output:["_col2","_col6","_col7","_col8","_col9","_col10","_col14","_col16"]
-                          <-Map 11 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_86]
+                          Merge Join Operator [MERGEJOIN_120] (rows=93701693 width=88)
+                            Conds:RS_27._col4=RS_148._col0(Inner),Output:["_col2","_col6","_col7","_col8","_col9","_col10","_col14","_col16"]
+                          <-Map 14 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_148]
                               PartitionCols:_col0
-                              Select Operator [SEL_85] (rows=10000000 width=1014)
+                              Select Operator [SEL_147] (rows=10000000 width=1014)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_84] (rows=10000000 width=1014)
+                                Filter Operator [FIL_146] (rows=10000000 width=1014)
                                   predicate:((ca_country = 'United States') and (ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and ca_address_sk is not null)
                                   TableScan [TS_12] (rows=40000000 width=1014)
                                     default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_country"]
                           <-Reducer 4 [SIMPLE_EDGE]
                             SHUFFLE [RS_27]
                               PartitionCols:_col4
-                              Merge Join Operator [MERGEJOIN_69] (rows=85183356 width=88)
-                                Conds:RS_24._col3=RS_83._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8","_col9","_col10","_col14"]
-                              <-Map 10 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_83]
+                              Merge Join Operator [MERGEJOIN_119] (rows=85183356 width=88)
+                                Conds:RS_24._col3=RS_140._col0(Inner),Output:["_col2","_col4","_col6","_col7","_col8","_col9","_col10","_col14"]
+                              <-Map 12 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_140]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_82] (rows=7200 width=107)
+                                  Select Operator [SEL_139] (rows=7200 width=107)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_81] (rows=7200 width=107)
+                                    Filter Operator [FIL_138] (rows=7200 width=107)
                                       predicate:(((hd_dep_count = 3) or (hd_dep_count = 1)) and hd_demo_sk is not null)
                                       TableScan [TS_9] (rows=7200 width=107)
                                         default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count"]
                               <-Reducer 3 [SIMPLE_EDGE]
                                 SHUFFLE [RS_24]
                                   PartitionCols:_col3
-                                  Merge Join Operator [MERGEJOIN_68] (rows=77439413 width=88)
-                                    Conds:RS_21._col1=RS_80._col0(Inner),Output:["_col2","_col3","_col4","_col6","_col7","_col8","_col9","_col10"]
-                                  <-Map 9 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_80]
+                                  Merge Join Operator [MERGEJOIN_118] (rows=77439413 width=88)
+                                    Conds:RS_21._col1=RS_132._col0(Inner),Output:["_col2","_col3","_col4","_col6","_col7","_col8","_col9","_col10"]
+                                  <-Map 10 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_132]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_79] (rows=36524 width=1119)
+                                      Select Operator [SEL_131] (rows=36524 width=1119)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_78] (rows=36524 width=1119)
+                                        Filter Operator [FIL_130] (rows=36524 width=1119)
                                           predicate:((d_year = 2001) and d_date_sk is not null)
                                           TableScan [TS_6] (rows=73049 width=1119)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                                   <-Reducer 2 [SIMPLE_EDGE]
                                     SHUFFLE [RS_21]
                                       PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_67] (rows=70399465 width=88)
-                                        Conds:RS_74._col0=RS_77._col4(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col9","_col10"]
+                                      Merge Join Operator [MERGEJOIN_117] (rows=70399465 width=88)
+                                        Conds:RS_124._col0=RS_164._col4(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col9","_col10"]
                                       <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_74]
+                                        PARTITION_ONLY_SHUFFLE [RS_124]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_73] (rows=1704 width=1910)
+                                          Select Operator [SEL_123] (rows=1704 width=1910)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_72] (rows=1704 width=1910)
+                                            Filter Operator [FIL_122] (rows=1704 width=1910)
                                               predicate:s_store_sk is not null
                                               TableScan [TS_0] (rows=1704 width=1910)
                                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk"]
-                                      <-Map 8 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_77]
+                                      <-Map 9 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_164]
                                           PartitionCols:_col4
-                                          Select Operator [SEL_76] (rows=63999513 width=88)
+                                          Select Operator [SEL_163] (rows=63999513 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
-                                            Filter Operator [FIL_75] (rows=63999513 width=88)
-                                              predicate:((ss_net_profit BETWEEN 100 AND 200 or ss_net_profit BETWEEN 150 AND 300 or ss_net_profit BETWEEN 50 AND 250) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                            Filter Operator [FIL_162] (rows=63999513 width=88)
+                                              predicate:((ss_addr_sk BETWEEN DynamicValue(RS_28_customer_address_ca_address_sk_min) AND DynamicValue(RS_28_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_28_customer_address_ca_address_sk_bloom_filter))) and (ss_cdemo_sk BETWEEN DynamicValue(RS_32_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_32_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_32_customer_demographics_cd_demo_sk_bloom_filter))) and (ss_hdemo_sk BETWEEN DynamicValue(RS_25_household_demographics_hd_demo_sk_min) AND DynamicValue(RS_25_household_demographics_hd_demo_sk_max) and in_bloom_filter(ss_hdemo_sk, DynamicValue(RS_25_household_demographics_hd_demo_sk_bloom_filter))) and (ss_net_profit BETWEEN 100 AND 200 or ss_net_profit BETWEEN 150 AND 300 or ss_net_profit BETWEEN 50 AND 250) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 1
 50 AND 200) and (ss_sold_date_sk BETWEEN DynamicValue(RS_22_date_dim_d_date_sk_min) AND DynamicValue(RS_22_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_22_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_18_store_s_store_sk_min) AND DynamicValue(RS_18_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_18_store_s_store_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                               TableScan [TS_3] (rows=575995635 width=88)
                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_ext_sales_price","ss_ext_wholesale_cost","ss_net_profit"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_137]
+                                                  Group By Operator [GBY_136] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_135]
+                                                      Group By Operator [GBY_134] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_133] (rows=36524 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_131]
+                                              <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_145]
+                                                  Group By Operator [GBY_144] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_143]
+                                                      Group By Operator [GBY_142] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_141] (rows=7200 width=107)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_139]
+                                              <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_153]
+                                                  Group By Operator [GBY_152] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=10000000)"]
+                                                  <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_151]
+                                                      Group By Operator [GBY_150] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=10000000)"]
+                                                        Select Operator [SEL_149] (rows=10000000 width=1014)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_147]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_161]
+                                                  Group By Operator [GBY_160] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1861800)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_159]
+                                                      Group By Operator [GBY_158] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1861800)"]
+                                                        Select Operator [SEL_157] (rows=1861800 width=385)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_155]
+                                              <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_129]
+                                                  Group By Operator [GBY_128] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_127]
+                                                      Group By Operator [GBY_126] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_125] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_123]
 


[19/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query95.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query95.q.out b/ql/src/test/results/clientpositive/perf/spark/query95.q.out
index b0df142..abb95f9 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query95.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query95.q.out
@@ -75,6 +75,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_site
+                  filterExpr: ((web_company_name = 'pri') and web_site_sk is not null) (type: boolean)
                   Statistics: Num rows: 84 Data size: 155408 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((web_company_name = 'pri') and web_site_sk is not null) (type: boolean)
@@ -99,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1999-05-01 00:00:00.0' AND TIMESTAMP'1999-06-30 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1999-05-01 00:00:00.0' AND TIMESTAMP'1999-06-30 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -134,6 +136,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws1
+                  filterExpr: (ws_order_number is not null and ws_ship_date_sk is not null and ws_ship_addr_sk is not null and ws_web_site_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_order_number is not null and ws_ship_addr_sk is not null and ws_ship_date_sk is not null and ws_web_site_sk is not null) (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws1
+                  filterExpr: ws_order_number is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_order_number is not null (type: boolean)
@@ -184,6 +188,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws2
+                  filterExpr: ws_order_number is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_order_number is not null (type: boolean)
@@ -203,6 +208,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws1
+                  filterExpr: ws_order_number is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_order_number is not null (type: boolean)
@@ -222,6 +228,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws2
+                  filterExpr: ws_order_number is not null (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ws_order_number is not null (type: boolean)
@@ -241,6 +248,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: wr_order_number is not null (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: wr_order_number is not null (type: boolean)
@@ -259,6 +267,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state = 'TX') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_state = 'TX') and ca_address_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query96.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query96.q.out b/ql/src/test/results/clientpositive/perf/spark/query96.q.out
index 68af7a4..ba41c76 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query96.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query96.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: time_dim
+                  filterExpr: ((t_hour = 8) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
                   Statistics: Num rows: 86400 Data size: 40694400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((t_hour = 8) and (t_minute >= 30) and t_time_sk is not null) (type: boolean)
@@ -61,6 +62,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: household_demographics
+                  filterExpr: ((hd_dep_count = 5) and hd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((hd_dep_count = 5) and hd_demo_sk is not null) (type: boolean)
@@ -80,6 +82,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_store_name = 'ese') and s_store_sk is not null) (type: boolean)
@@ -107,6 +110,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query97.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query97.q.out b/ql/src/test/results/clientpositive/perf/spark/query97.q.out
index 1908e48..c4f4804 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query97.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query97.q.out
@@ -61,6 +61,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -85,6 +86,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -114,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ss_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ss_sold_date_sk is not null (type: boolean)
@@ -149,6 +152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: cs_sold_date_sk is not null (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cs_sold_date_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query98.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query98.q.out b/ql/src/test/results/clientpositive/perf/spark/query98.q.out
index c69032b..d3f6670 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query98.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query98.q.out
@@ -74,6 +74,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -103,6 +104,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -134,6 +136,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query99.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query99.q.out b/ql/src/test/results/clientpositive/perf/spark/query99.q.out
index 1e584ae..f541da8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query99.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query99.q.out
@@ -80,6 +80,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -99,6 +100,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: call_center
+                  filterExpr: cc_call_center_sk is not null (type: boolean)
                   Statistics: Num rows: 60 Data size: 122700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cc_call_center_sk is not null (type: boolean)
@@ -118,6 +120,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: warehouse
+                  filterExpr: w_warehouse_sk is not null (type: boolean)
                   Statistics: Num rows: 27 Data size: 27802 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: w_warehouse_sk is not null (type: boolean)
@@ -137,6 +140,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ship_mode
+                  filterExpr: sm_ship_mode_sk is not null (type: boolean)
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
                   Filter Operator
                     predicate: sm_ship_mode_sk is not null (type: boolean)
@@ -164,6 +168,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_warehouse_sk is not null and cs_ship_mode_sk is not null and cs_call_center_sk is not null and cs_ship_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_call_center_sk is not null and cs_ship_date_sk is not null and cs_ship_mode_sk is not null and cs_warehouse_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query1.q.out b/ql/src/test/results/clientpositive/perf/tez/query1.q.out
index ea6e0da..579940c 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query1.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query1.q.out
@@ -63,10 +63,10 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_108]
-        Limit [LIM_107] (rows=100 width=860)
+      File Output Operator [FS_159]
+        Limit [LIM_158] (rows=100 width=860)
           Number of rows:100
-          Select Operator [SEL_106] (rows=32266667 width=860)
+          Select Operator [SEL_157] (rows=32266667 width=860)
             Output:["_col0"]
           <-Reducer 6 [SIMPLE_EDGE]
             SHUFFLE [RS_50]
@@ -74,96 +74,96 @@ Stage-0
                 Output:["_col0"]
                 Filter Operator [FIL_48] (rows=32266667 width=860)
                   predicate:(_col2 > _col7)
-                  Merge Join Operator [MERGEJOIN_81] (rows=96800003 width=860)
-                    Conds:RS_45._col1=RS_105._col1(Inner),Output:["_col2","_col6","_col7"]
+                  Merge Join Operator [MERGEJOIN_132] (rows=96800003 width=860)
+                    Conds:RS_45._col1=RS_156._col1(Inner),Output:["_col2","_col6","_col7"]
                   <-Reducer 5 [SIMPLE_EDGE]
                     SHUFFLE [RS_45]
                       PartitionCols:_col1
-                      Merge Join Operator [MERGEJOIN_79] (rows=88000001 width=860)
-                        Conds:RS_42._col0=RS_100._col0(Inner),Output:["_col1","_col2","_col6"]
+                      Merge Join Operator [MERGEJOIN_130] (rows=88000001 width=860)
+                        Conds:RS_42._col0=RS_151._col0(Inner),Output:["_col1","_col2","_col6"]
                       <-Map 12 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_100]
+                        SHUFFLE [RS_151]
                           PartitionCols:_col0
-                          Select Operator [SEL_99] (rows=80000000 width=860)
+                          Select Operator [SEL_150] (rows=80000000 width=860)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_98] (rows=80000000 width=860)
+                            Filter Operator [FIL_149] (rows=80000000 width=860)
                               predicate:c_customer_sk is not null
                               TableScan [TS_17] (rows=80000000 width=860)
                                 default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_42]
                           PartitionCols:_col0
-                          Merge Join Operator [MERGEJOIN_78] (rows=34842647 width=77)
-                            Conds:RS_94._col1=RS_97._col0(Inner),Output:["_col0","_col1","_col2"]
+                          Merge Join Operator [MERGEJOIN_129] (rows=34842647 width=77)
+                            Conds:RS_145._col1=RS_148._col0(Inner),Output:["_col0","_col1","_col2"]
                           <-Map 11 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_97]
+                            SHUFFLE [RS_148]
                               PartitionCols:_col0
-                              Select Operator [SEL_96] (rows=852 width=1910)
+                              Select Operator [SEL_147] (rows=852 width=1910)
                                 Output:["_col0"]
-                                Filter Operator [FIL_95] (rows=852 width=1910)
+                                Filter Operator [FIL_146] (rows=852 width=1910)
                                   predicate:((s_state = 'NM') and s_store_sk is not null)
                                   TableScan [TS_14] (rows=1704 width=1910)
                                     default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"]
                           <-Reducer 3 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_94]
+                            SHUFFLE [RS_145]
                               PartitionCols:_col1
-                              Select Operator [SEL_93] (rows=31675133 width=77)
+                              Select Operator [SEL_144] (rows=31675133 width=77)
                                 Output:["_col0","_col1","_col2"]
-                                Group By Operator [GBY_92] (rows=31675133 width=77)
+                                Group By Operator [GBY_143] (rows=31675133 width=77)
                                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_11]
                                     PartitionCols:_col0, _col1
                                     Group By Operator [GBY_10] (rows=63350266 width=77)
                                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1
-                                      Merge Join Operator [MERGEJOIN_77] (rows=63350266 width=77)
-                                        Conds:RS_86._col0=RS_90._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      Merge Join Operator [MERGEJOIN_128] (rows=63350266 width=77)
+                                        Conds:RS_137._col0=RS_141._col0(Inner),Output:["_col1","_col2","_col3"]
                                       <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_86]
+                                        SHUFFLE [RS_137]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_84] (rows=57591150 width=77)
+                                          Select Operator [SEL_135] (rows=57591150 width=77)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_82] (rows=57591150 width=77)
+                                            Filter Operator [FIL_133] (rows=57591150 width=77)
                                               predicate:(sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null)
                                               TableScan [TS_0] (rows=57591150 width=77)
                                                 default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_customer_sk","sr_store_sk","sr_fee"]
                                       <-Map 10 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_90]
+                                        SHUFFLE [RS_141]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_89] (rows=36524 width=1119)
+                                          Select Operator [SEL_140] (rows=36524 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_88] (rows=36524 width=1119)
+                                            Filter Operator [FIL_139] (rows=36524 width=1119)
                                               predicate:((d_year = 2000) and d_date_sk is not null)
                                               TableScan [TS_3] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
                   <-Reducer 9 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_105]
+                    SHUFFLE [RS_156]
                       PartitionCols:_col1
-                      Select Operator [SEL_104] (rows=15837566 width=77)
+                      Select Operator [SEL_155] (rows=15837566 width=77)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_103] (rows=15837566 width=77)
+                        Group By Operator [GBY_154] (rows=15837566 width=77)
                           Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1
-                          Select Operator [SEL_102] (rows=31675133 width=77)
+                          Select Operator [SEL_153] (rows=31675133 width=77)
                             Output:["_col1","_col2"]
-                            Group By Operator [GBY_101] (rows=31675133 width=77)
+                            Group By Operator [GBY_152] (rows=31675133 width=77)
                               Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                             <-Reducer 8 [SIMPLE_EDGE]
                               SHUFFLE [RS_31]
                                 PartitionCols:_col0
                                 Group By Operator [GBY_30] (rows=63350266 width=77)
                                   Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1
-                                  Merge Join Operator [MERGEJOIN_80] (rows=63350266 width=77)
-                                    Conds:RS_87._col0=RS_91._col0(Inner),Output:["_col1","_col2","_col3"]
+                                  Merge Join Operator [MERGEJOIN_131] (rows=63350266 width=77)
+                                    Conds:RS_138._col0=RS_142._col0(Inner),Output:["_col1","_col2","_col3"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_87]
+                                    SHUFFLE [RS_138]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_85] (rows=57591150 width=77)
+                                      Select Operator [SEL_136] (rows=57591150 width=77)
                                         Output:["_col0","_col1","_col2","_col3"]
-                                        Filter Operator [FIL_83] (rows=57591150 width=77)
+                                        Filter Operator [FIL_134] (rows=57591150 width=77)
                                           predicate:(sr_returned_date_sk is not null and sr_store_sk is not null)
                                            Please refer to the previous TableScan [TS_0]
                                   <-Map 10 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_91]
+                                    SHUFFLE [RS_142]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_89]
+                                       Please refer to the previous Select Operator [SEL_140]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query10.q.out b/ql/src/test/results/clientpositive/perf/tez/query10.q.out
index a88b7e1..1b6adee 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query10.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query10.q.out
@@ -117,32 +117,39 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 11 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 11 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
+Map 10 <- Reducer 13 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Map 20 <- Reducer 16 (BROADCAST_EDGE)
+Map 21 <- Reducer 19 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 12 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
 Reducer 15 <- Reducer 14 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE), Reducer 15 (ONE_TO_ONE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 16 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 12 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
+Reducer 19 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 15 (ONE_TO_ONE_EDGE), Reducer 18 (ONE_TO_ONE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_143]
-        Limit [LIM_142] (rows=100 width=88)
+      File Output Operator [FS_224]
+        Limit [LIM_223] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_141] (rows=1045432122 width=88)
+          Select Operator [SEL_222] (rows=1045432122 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_140]
-              Select Operator [SEL_139] (rows=1045432122 width=88)
+            SHUFFLE [RS_221]
+              Select Operator [SEL_220] (rows=1045432122 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col8","_col10","_col12"]
-                Group By Operator [GBY_138] (rows=1045432122 width=88)
+                Group By Operator [GBY_219] (rows=1045432122 width=88)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6, KEY._col7
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_63]
@@ -153,124 +160,168 @@ Stage-0
                         Output:["_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
                         Filter Operator [FIL_60] (rows=2090864244 width=88)
                           predicate:(_col15 is not null or _col17 is not null)
-                          Merge Join Operator [MERGEJOIN_108] (rows=2090864244 width=88)
-                            Conds:RS_55._col0=RS_56._col0(Left Semi),RS_55._col0=RS_131._col0(Left Outer),RS_55._col0=RS_137._col0(Left Outer),Output:["_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col15","_col17"]
-                          <-Reducer 10 [SIMPLE_EDGE]
+                          Merge Join Operator [MERGEJOIN_172] (rows=2090864244 width=88)
+                            Conds:RS_55._col0=RS_56._col0(Left Semi),RS_55._col0=RS_210._col0(Left Outer),RS_55._col0=RS_218._col0(Left Outer),Output:["_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col15","_col17"]
+                          <-Reducer 3 [SIMPLE_EDGE]
+                            PARTITION_ONLY_SHUFFLE [RS_55]
+                              PartitionCols:_col0
+                              Merge Join Operator [MERGEJOIN_168] (rows=96800003 width=860)
+                                Conds:RS_50._col1=RS_181._col0(Inner),Output:["_col0","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
+                              <-Map 9 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_181]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_180] (rows=1861800 width=385)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                                    Filter Operator [FIL_179] (rows=1861800 width=385)
+                                      predicate:cd_demo_sk is not null
+                                      TableScan [TS_6] (rows=1861800 width=385)
+                                        default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status","cd_purchase_estimate","cd_credit_rating","cd_dep_count","cd_dep_employed_count","cd_dep_college_count"]
+                              <-Reducer 2 [SIMPLE_EDGE]
+                                SHUFFLE [RS_50]
+                                  PartitionCols:_col1
+                                  Merge Join Operator [MERGEJOIN_167] (rows=88000001 width=860)
+                                    Conds:RS_175._col2=RS_178._col0(Inner),Output:["_col0","_col1"]
+                                  <-Map 1 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_175]
+                                      PartitionCols:_col2
+                                      Select Operator [SEL_174] (rows=80000000 width=860)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_173] (rows=80000000 width=860)
+                                          predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
+                                          TableScan [TS_0] (rows=80000000 width=860)
+                                            default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk"]
+                                  <-Map 8 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_178]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_177] (rows=20000000 width=1014)
+                                        Output:["_col0"]
+                                        Filter Operator [FIL_176] (rows=20000000 width=1014)
+                                          predicate:((ca_county) IN ('Walker County', 'Richland County', 'Gaines County', 'Douglas County', 'Dona Ana County') and ca_address_sk is not null)
+                                          TableScan [TS_3] (rows=40000000 width=1014)
+                                            default@customer_address,ca,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"]
+                          <-Reducer 11 [SIMPLE_EDGE]
                             SHUFFLE [RS_56]
                               PartitionCols:_col0
                               Group By Operator [GBY_54] (rows=633595212 width=88)
                                 Output:["_col0"],keys:_col0
                                 Select Operator [SEL_18] (rows=633595212 width=88)
                                   Output:["_col0"]
-                                  Merge Join Operator [MERGEJOIN_105] (rows=633595212 width=88)
-                                    Conds:RS_120._col0=RS_123._col0(Inner),Output:["_col1"]
-                                  <-Map 11 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_123]
+                                  Merge Join Operator [MERGEJOIN_169] (rows=633595212 width=88)
+                                    Conds:RS_202._col0=RS_184._col0(Inner),Output:["_col1"]
+                                  <-Map 12 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_184]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_122] (rows=4058 width=1119)
+                                      Select Operator [SEL_183] (rows=4058 width=1119)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_121] (rows=4058 width=1119)
+                                        Filter Operator [FIL_182] (rows=4058 width=1119)
                                           predicate:((d_year = 2002) and d_date_sk is not null and d_moy BETWEEN 4 AND 7)
                                           TableScan [TS_12] (rows=73049 width=1119)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                  <-Map 9 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_120]
+                                  <-Map 10 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_202]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_119] (rows=575995635 width=88)
+                                      Select Operator [SEL_201] (rows=575995635 width=88)
                                         Output:["_col0","_col1"]
-                                        Filter Operator [FIL_118] (rows=575995635 width=88)
-                                          predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                        Filter Operator [FIL_200] (rows=575995635 width=88)
+                                          predicate:((ss_customer_sk BETWEEN DynamicValue(RS_55_c_c_customer_sk_min) AND DynamicValue(RS_55_c_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_55_c_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
                                           TableScan [TS_9] (rows=575995635 width=88)
                                             default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk"]
-                          <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
-                            FORWARD [RS_131]
+                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_197]
+                                              Group By Operator [GBY_196] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_193]
+                                                  Group By Operator [GBY_190] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_185] (rows=4058 width=1119)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_183]
+                                          <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_199]
+                                              Group By Operator [GBY_198] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=96800000)"]
+                                              <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
+                                                PARTITION_ONLY_SHUFFLE [RS_135]
+                                                  Group By Operator [GBY_134] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=96800000)"]
+                                                    Select Operator [SEL_133] (rows=96800003 width=860)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Merge Join Operator [MERGEJOIN_168]
+                          <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
+                            FORWARD [RS_210]
                               PartitionCols:_col0
-                              Select Operator [SEL_130] (rows=79201469 width=135)
+                              Select Operator [SEL_209] (rows=79201469 width=135)
                                 Output:["_col0","_col1"]
-                                Group By Operator [GBY_129] (rows=79201469 width=135)
+                                Group By Operator [GBY_208] (rows=79201469 width=135)
                                   Output:["_col0"],keys:KEY._col0
-                                <-Reducer 12 [SIMPLE_EDGE]
+                                <-Reducer 14 [SIMPLE_EDGE]
                                   SHUFFLE [RS_30]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_29] (rows=158402938 width=135)
                                       Output:["_col0"],keys:_col1
-                                      Merge Join Operator [MERGEJOIN_106] (rows=158402938 width=135)
-                                        Conds:RS_128._col0=RS_124._col0(Inner),Output:["_col1"]
-                                      <-Map 11 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_124]
+                                      Merge Join Operator [MERGEJOIN_170] (rows=158402938 width=135)
+                                        Conds:RS_207._col0=RS_186._col0(Inner),Output:["_col1"]
+                                      <-Map 12 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_186]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_122]
-                                      <-Map 16 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_128]
+                                           Please refer to the previous Select Operator [SEL_183]
+                                      <-Map 20 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_207]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_127] (rows=144002668 width=135)
+                                          Select Operator [SEL_206] (rows=144002668 width=135)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_126] (rows=144002668 width=135)
-                                              predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                            Filter Operator [FIL_205] (rows=144002668 width=135)
+                                              predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_26_date_dim_d_date_sk_min) AND DynamicValue(RS_26_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_26_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_19] (rows=144002668 width=135)
                                                 default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk"]
-                          <-Reducer 15 [ONE_TO_ONE_EDGE] vectorized
-                            FORWARD [RS_137]
+                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_204]
+                                                  Group By Operator [GBY_203] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_194]
+                                                      Group By Operator [GBY_191] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_187] (rows=4058 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_183]
+                          <-Reducer 18 [ONE_TO_ONE_EDGE] vectorized
+                            FORWARD [RS_218]
                               PartitionCols:_col0
-                              Select Operator [SEL_136] (rows=158394413 width=135)
+                              Select Operator [SEL_217] (rows=158394413 width=135)
                                 Output:["_col0","_col1"]
-                                Group By Operator [GBY_135] (rows=158394413 width=135)
+                                Group By Operator [GBY_216] (rows=158394413 width=135)
                                   Output:["_col0"],keys:KEY._col0
-                                <-Reducer 14 [SIMPLE_EDGE]
+                                <-Reducer 17 [SIMPLE_EDGE]
                                   SHUFFLE [RS_44]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_43] (rows=316788826 width=135)
                                       Output:["_col0"],keys:_col1
-                                      Merge Join Operator [MERGEJOIN_107] (rows=316788826 width=135)
-                                        Conds:RS_134._col0=RS_125._col0(Inner),Output:["_col1"]
-                                      <-Map 11 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_125]
+                                      Merge Join Operator [MERGEJOIN_171] (rows=316788826 width=135)
+                                        Conds:RS_215._col0=RS_188._col0(Inner),Output:["_col1"]
+                                      <-Map 12 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_188]
                                           PartitionCols:_col0
-                                           Please refer to the previous Select Operator [SEL_122]
-                                      <-Map 17 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_134]
+                                           Please refer to the previous Select Operator [SEL_183]
+                                      <-Map 21 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_215]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_133] (rows=287989836 width=135)
+                                          Select Operator [SEL_214] (rows=287989836 width=135)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_132] (rows=287989836 width=135)
-                                              predicate:(cs_ship_customer_sk is not null and cs_sold_date_sk is not null)
+                                            Filter Operator [FIL_213] (rows=287989836 width=135)
+                                              predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_40_date_dim_d_date_sk_min) AND DynamicValue(RS_40_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_40_date_dim_d_date_sk_bloom_filter))) and cs_ship_customer_sk is not null and cs_sold_date_sk is not null)
                                               TableScan [TS_33] (rows=287989836 width=135)
                                                 default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_ship_customer_sk"]
-                          <-Reducer 3 [SIMPLE_EDGE]
-                            SHUFFLE [RS_55]
-                              PartitionCols:_col0
-                              Merge Join Operator [MERGEJOIN_104] (rows=96800003 width=860)
-                                Conds:RS_50._col1=RS_117._col0(Inner),Output:["_col0","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                              <-Map 8 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_117]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_116] (rows=1861800 width=385)
-                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                    Filter Operator [FIL_115] (rows=1861800 width=385)
-                                      predicate:cd_demo_sk is not null
-                                      TableScan [TS_6] (rows=1861800 width=385)
-                                        default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status","cd_purchase_estimate","cd_credit_rating","cd_dep_count","cd_dep_employed_count","cd_dep_college_count"]
-                              <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_50]
-                                  PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_103] (rows=88000001 width=860)
-                                    Conds:RS_111._col2=RS_114._col0(Inner),Output:["_col0","_col1"]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_111]
-                                      PartitionCols:_col2
-                                      Select Operator [SEL_110] (rows=80000000 width=860)
-                                        Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_109] (rows=80000000 width=860)
-                                          predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_customer_sk is not null)
-                                          TableScan [TS_0] (rows=80000000 width=860)
-                                            default@customer,c,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk"]
-                                  <-Map 7 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_114]
-                                      PartitionCols:_col0
-                                      Select Operator [SEL_113] (rows=20000000 width=1014)
-                                        Output:["_col0"]
-                                        Filter Operator [FIL_112] (rows=20000000 width=1014)
-                                          predicate:((ca_county) IN ('Walker County', 'Richland County', 'Gaines County', 'Douglas County', 'Dona Ana County') and ca_address_sk is not null)
-                                          TableScan [TS_3] (rows=40000000 width=1014)
-                                            default@customer_address,ca,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county"]
+                                              <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_212]
+                                                  Group By Operator [GBY_211] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_195]
+                                                      Group By Operator [GBY_192] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_189] (rows=4058 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_183]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query11.q.out b/ql/src/test/results/clientpositive/perf/tez/query11.q.out
index 2599621..bf454a0 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query11.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query11.q.out
@@ -149,30 +149,40 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 12 <- Map 18 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 10 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 15 <- Map 18 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 3 <- Map 18 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 17 (BROADCAST_EDGE)
+Map 11 <- Reducer 16 (BROADCAST_EDGE), Reducer 24 (BROADCAST_EDGE)
+Map 26 <- Reducer 22 (BROADCAST_EDGE)
+Map 7 <- Reducer 18 (BROADCAST_EDGE), Reducer 25 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Reducer 13 <- Map 23 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
+Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 15 (SIMPLE_EDGE), Map 26 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Reducer 20 <- Map 23 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 21 <- Reducer 20 (SIMPLE_EDGE)
+Reducer 22 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 24 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 23 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 13 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 10 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Map 1 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
-Reducer 8 <- Map 18 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 15 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 23 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_218]
-        Limit [LIM_217] (rows=100 width=88)
+      File Output Operator [FS_360]
+        Limit [LIM_359] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_216] (rows=383325119 width=88)
+          Select Operator [SEL_358] (rows=383325119 width=88)
             Output:["_col0"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_93]
@@ -180,103 +190,209 @@ Stage-0
                 Output:["_col0"]
                 Filter Operator [FIL_91] (rows=383325119 width=88)
                   predicate:((_col1 / _col8) > (_col6 / _col3))
-                  Merge Join Operator [MERGEJOIN_175] (rows=1149975359 width=88)
-                    Conds:RS_198._col0=RS_215._col0(Inner),RS_215._col0=RS_210._col0(Inner),RS_215._col0=RS_203._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8"]
-                  <-Reducer 13 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_210]
+                  Merge Join Operator [MERGEJOIN_283] (rows=1149975359 width=88)
+                    Conds:RS_325._col0=RS_337._col0(Inner),RS_337._col0=RS_347._col0(Inner),RS_337._col0=RS_357._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8"]
+                  <-Reducer 10 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_337]
                       PartitionCols:_col0
-                      Select Operator [SEL_209] (rows=348477374 width=88)
+                      Select Operator [SEL_336] (rows=116159124 width=88)
+                        Output:["_col0","_col1"]
+                        Filter Operator [FIL_335] (rows=116159124 width=88)
+                          predicate:(_col7 > 0)
+                          Select Operator [SEL_334] (rows=348477374 width=88)
+                            Output:["_col0","_col7"]
+                            Group By Operator [GBY_333] (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 9 [SIMPLE_EDGE]
+                              SHUFFLE [RS_39]
+                                PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
+                                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_36] (rows=696954748 width=88)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                    Merge Join Operator [MERGEJOIN_278] (rows=696954748 width=88)
+                                      Conds:RS_33._col1=RS_316._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_316]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_312] (rows=80000000 width=860)
+                                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                          Filter Operator [FIL_311] (rows=80000000 width=860)
+                                            predicate:(c_customer_id is not null and c_customer_sk is not null)
+                                            TableScan [TS_49] (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 8 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_33]
+                                        PartitionCols:_col1
+                                        Merge Join Operator [MERGEJOIN_277] (rows=633595212 width=88)
+                                          Conds:RS_332._col0=RS_294._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        <-Map 15 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_294]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_288] (rows=36524 width=1119)
+                                              Output:["_col0"]
+                                              Filter Operator [FIL_285] (rows=36524 width=1119)
+                                                predicate:((d_year = 2001) and d_date_sk is not null)
+                                                TableScan [TS_46] (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_332]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_331] (rows=575995635 width=88)
+                                              Output:["_col0","_col1","_col2","_col3"]
+                                              Filter Operator [FIL_330] (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)
+                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_discount_amt","ss_ext_list_price"]
+                                                <-Reducer 18 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_327]
+                                                    Group By Operator [GBY_326] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_304]
+                                                        Group By Operator [GBY_300] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_295] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_288]
+                                                <-Reducer 25 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_329]
+                                                    Group By Operator [GBY_328] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_322]
+                                                        Group By Operator [GBY_320] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                          Select Operator [SEL_317] (rows=80000000 width=860)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_312]
+                  <-Reducer 14 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_347]
+                      PartitionCols:_col0
+                      Select Operator [SEL_346] (rows=348477374 width=88)
                         Output:["_col0","_col1","_col2"]
-                        Group By Operator [GBY_208] (rows=348477374 width=88)
+                        Group By Operator [GBY_345] (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 12 [SIMPLE_EDGE]
+                        <-Reducer 13 [SIMPLE_EDGE]
                           SHUFFLE [RS_61]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                             Group By Operator [GBY_60] (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_58] (rows=696954748 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_172] (rows=696954748 width=88)
-                                  Conds:RS_55._col1=RS_192._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                                <-Map 18 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_192]
+                                Merge Join Operator [MERGEJOIN_280] (rows=696954748 width=88)
+                                  Conds:RS_55._col1=RS_313._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
+                                <-Map 23 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_313]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_191] (rows=80000000 width=860)
-                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                      Filter Operator [FIL_190] (rows=80000000 width=860)
-                                        predicate:(c_customer_id is not null and c_customer_sk is not null)
-                                        TableScan [TS_49] (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]
+                                     Please refer to the previous Select Operator [SEL_312]
+                                <-Reducer 12 [SIMPLE_EDGE]
                                   SHUFFLE [RS_55]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_171] (rows=633595212 width=88)
-                                      Conds:RS_206._col0=RS_186._col0(Inner),Output:["_col1","_col2","_col3"]
-                                    <-Map 17 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_186]
+                                    Merge Join Operator [MERGEJOIN_279] (rows=633595212 width=88)
+                                      Conds:RS_344._col0=RS_290._col0(Inner),Output:["_col1","_col2","_col3"]
+                                    <-Map 15 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_290]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_183] (rows=36524 width=1119)
+                                        Select Operator [SEL_287] (rows=36524 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_180] (rows=36524 width=1119)
+                                          Filter Operator [FIL_284] (rows=36524 width=1119)
                                             predicate:((d_year = 2002) and d_date_sk is not null)
-                                            TableScan [TS_46] (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_206]
+                                             Please refer to the previous TableScan [TS_46]
+                                    <-Map 11 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_344]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_205] (rows=575995635 width=88)
+                                        Select Operator [SEL_343] (rows=575995635 width=88)
                                           Output:["_col0","_col1","_col2","_col3"]
-                                          Filter Operator [FIL_204] (rows=575995635 width=88)
-                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                          Filter Operator [FIL_342] (rows=575995635 width=88)
+                                            predicate:((ss_customer_sk BETWEEN DynamicValue(RS_56_customer_c_customer_sk_min) AND DynamicValue(RS_56_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_56_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_53_date_dim_d_date_sk_min) AND DynamicValue(RS_53_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_53_date_dim_d_date_sk_bloom_filter))) and 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_list_price"]
-                  <-Reducer 16 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_215]
+                                            <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_339]
+                                                Group By Operator [GBY_338] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_302]
+                                                    Group By Operator [GBY_298] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_291] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_287]
+                                            <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_341]
+                                                Group By Operator [GBY_340] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_321]
+                                                    Group By Operator [GBY_319] (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)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_312]
+                  <-Reducer 21 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_357]
                       PartitionCols:_col0
-                      Select Operator [SEL_214] (rows=116159124 width=88)
+                      Select Operator [SEL_356] (rows=29040539 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_213] (rows=116159124 width=88)
+                        Filter Operator [FIL_355] (rows=29040539 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_212] (rows=348477374 width=88)
+                          Select Operator [SEL_354] (rows=87121617 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_211] (rows=348477374 width=88)
+                            Group By Operator [GBY_353] (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 15 [SIMPLE_EDGE]
-                              SHUFFLE [RS_39]
+                            <-Reducer 20 [SIMPLE_EDGE]
+                              SHUFFLE [RS_82]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_38] (rows=696954748 width=88)
+                                Group By Operator [GBY_81] (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_36] (rows=696954748 width=88)
+                                  Select Operator [SEL_79] (rows=174243235 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_170] (rows=696954748 width=88)
-                                      Conds:RS_33._col1=RS_194._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                                    <-Map 18 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_194]
+                                    Merge Join Operator [MERGEJOIN_282] (rows=174243235 width=135)
+                                      Conds:RS_76._col1=RS_318._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_318]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_191]
-                                    <-Reducer 14 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_33]
+                                         Please refer to the previous Select Operator [SEL_312]
+                                    <-Reducer 19 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_76]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_169] (rows=633595212 width=88)
-                                          Conds:RS_207._col0=RS_188._col0(Inner),Output:["_col1","_col2","_col3"]
-                                        <-Map 17 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_188]
+                                        Merge Join Operator [MERGEJOIN_281] (rows=158402938 width=135)
+                                          Conds:RS_352._col0=RS_296._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        <-Map 15 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_296]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_184] (rows=36524 width=1119)
+                                            Select Operator [SEL_289] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_181] (rows=36524 width=1119)
+                                              Filter Operator [FIL_286] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
                                                  Please refer to the previous TableScan [TS_46]
-                                        <-Map 10 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_207]
+                                        <-Map 26 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_352]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_205]
+                                            Select Operator [SEL_351] (rows=144002668 width=135)
+                                              Output:["_col0","_col1","_col2","_col3"]
+                                              Filter Operator [FIL_350] (rows=144002668 width=135)
+                                                predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_74_date_dim_d_date_sk_min) AND DynamicValue(RS_74_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_74_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_64] (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_list_price"]
+                                                <-Reducer 22 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_349]
+                                                    Group By Operator [GBY_348] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_305]
+                                                        Group By Operator [GBY_301] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_297] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_289]
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_198]
+                    SHUFFLE [RS_325]
                       PartitionCols:_col0
-                      Select Operator [SEL_197] (rows=87121617 width=135)
+                      Select Operator [SEL_324] (rows=87121617 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_196] (rows=87121617 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]
@@ -285,69 +401,39 @@ Stage-0
                               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=174243235 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_168] (rows=174243235 width=135)
-                                  Conds:RS_12._col1=RS_193._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                                <-Map 18 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_193]
+                                Merge Join Operator [MERGEJOIN_276] (rows=174243235 width=135)
+                                  Conds:RS_12._col1=RS_315._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
+                                <-Map 23 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_315]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_191]
+                                     Please refer to the previous Select Operator [SEL_312]
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_12]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_167] (rows=158402938 width=135)
-                                      Conds:RS_178._col0=RS_187._col0(Inner),Output:["_col1","_col2","_col3"]
-                                    <-Map 17 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_187]
+                                    Merge Join Operator [MERGEJOIN_275] (rows=158402938 width=135)
+                                      Conds:RS_310._col0=RS_292._col0(Inner),Output:["_col1","_col2","_col3"]
+                                    <-Map 15 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_292]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_183]
+                                         Please refer to the previous Select Operator [SEL_287]
                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_178]
+                                      SHUFFLE [RS_310]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_177] (rows=144002668 width=135)
+                                        Select Operator [SEL_309] (rows=144002668 width=135)
                                           Output:["_col0","_col1","_col2","_col3"]
-                                          Filter Operator [FIL_176] (rows=144002668 width=135)
-                                            predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                          Filter Operator [FIL_308] (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_ext_discount_amt","ws_ext_list_price"]
-                  <-Reducer 9 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_203]
-                      PartitionCols:_col0
-                      Select Operator [SEL_202] (rows=29040539 width=135)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_201] (rows=29040539 width=135)
-                          predicate:(_col7 > 0)
-                          Select Operator [SEL_200] (rows=87121617 width=135)
-                            Output:["_col0","_col7"]
-                            Group By Operator [GBY_199] (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]
-                                PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_81] (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=174243235 width=135)
-                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_174] (rows=174243235 width=135)
-                                      Conds:RS_76._col1=RS_195._col0(Inner),Output:["_col2","_col3","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                                    <-Map 18 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_195]
-                                        PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_191]
-                                    <-Reducer 7 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_76]
-                                        PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_173] (rows=158402938 width=135)
-                                          Conds:RS_179._col0=RS_189._col0(Inner),Output:["_col1","_col2","_col3"]
-                                        <-Map 17 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_189]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_185] (rows=36524 width=1119)
-                                              Output:["_col0"]
-                                              Filter Operator [FIL_182] (rows=36524 width=1119)
-                                                predicate:((d_year = 2001) and d_date_sk is not null)
-                                                 Please refer to the previous TableScan [TS_46]
-                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_179]
-                                            PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_177]
+                                            <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_307]
+                                                Group By Operator [GBY_306] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_303]
+                                                    Group By Operator [GBY_299] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_293] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_287]
 


[22/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query47.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query47.q.out b/ql/src/test/results/clientpositive/perf/spark/query47.q.out
index ec18a70..690b105 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query47.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query47.q.out
@@ -114,6 +114,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and s_store_name is not null and s_company_name is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_company_name is not null and s_store_name is not null and s_store_sk is not null) (type: boolean)
@@ -138,6 +139,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and s_store_name is not null and s_company_name is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_company_name is not null and s_store_name is not null and s_store_sk is not null) (type: boolean)
@@ -162,6 +164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and s_store_name is not null and s_company_name is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_company_name is not null and s_store_name is not null and s_store_sk is not null) (type: boolean)
@@ -202,6 +205,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -221,6 +225,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -240,6 +245,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
@@ -259,6 +265,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_category is not null and i_brand is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_brand is not null and i_category is not null and i_item_sk is not null) (type: boolean)
@@ -278,6 +285,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -297,6 +305,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
@@ -316,6 +325,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_category is not null and i_brand is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_brand is not null and i_category is not null and i_item_sk is not null) (type: boolean)
@@ -335,6 +345,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
@@ -354,6 +365,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_category is not null and i_brand is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_brand is not null and i_category is not null and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query48.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query48.q.out b/ql/src/test/results/clientpositive/perf/spark/query48.q.out
index 1080da4..60a4767 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query48.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query48.q.out
@@ -142,6 +142,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -171,6 +172,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: ((ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_net_profit BETWEEN 0 AND 2000 or ss_net_profit BETWEEN 150 AND 3000 or ss_net_profit BETWEEN 50 AND 25000) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_net_profit BETWEEN 0 AND 2000 or ss_net_profit BETWEEN 150 AND 3000 or ss_net_profit BETWEEN 50 AND 25000) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -202,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_year = 1998) and d_date_sk is not null) (type: boolean)
@@ -220,6 +223,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_demographics
+                  filterExpr: ((cd_marital_status = 'M') and (cd_education_status = '4 yr Degree') and cd_demo_sk is not null) (type: boolean)
                   Statistics: Num rows: 1861800 Data size: 717186159 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cd_education_status = '4 yr Degree') and (cd_marital_status = 'M') and cd_demo_sk is not null) (type: boolean)
@@ -238,6 +242,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_country = 'United States') and (ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and ca_address_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query49.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query49.q.out b/ql/src/test/results/clientpositive/perf/spark/query49.q.out
index 7145ada..16cc603 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query49.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query49.q.out
@@ -282,6 +282,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: ws
+                  filterExpr: ((ws_net_profit > 1) and (ws_net_paid > 0) and (ws_quantity > 0) and ws_order_number is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ws_net_paid > 0) and (ws_net_profit > 1) and (ws_quantity > 0) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -301,6 +302,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and (d_moy = 12) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -319,6 +321,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: wr
+                  filterExpr: ((wr_return_amt > 10000) and wr_order_number is not null and wr_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((wr_return_amt > 10000) and wr_item_sk is not null and wr_order_number is not null) (type: boolean)
@@ -338,6 +341,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cs
+                  filterExpr: ((cs_net_profit > 1) and (cs_net_paid > 0) and (cs_quantity > 0) and cs_order_number is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cs_net_paid > 0) and (cs_net_profit > 1) and (cs_quantity > 0) and cs_item_sk is not null and cs_order_number is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -357,6 +361,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: cr
+                  filterExpr: ((cr_return_amount > 10000) and cr_order_number is not null and cr_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((cr_return_amount > 10000) and cr_item_sk is not null and cr_order_number is not null) (type: boolean)
@@ -376,6 +381,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sts
+                  filterExpr: ((ss_net_profit > 1) and (ss_net_paid > 0) and (ss_quantity > 0) and ss_ticket_number is not null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ss_net_paid > 0) and (ss_net_profit > 1) and (ss_quantity > 0) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_ticket_number is not null) (type: boolean)
@@ -395,6 +401,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: sr
+                  filterExpr: ((sr_return_amt > 10000) and sr_ticket_number is not null and sr_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((sr_return_amt > 10000) and sr_item_sk is not null and sr_ticket_number is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query5.q.out b/ql/src/test/results/clientpositive/perf/spark/query5.q.out
index d93e089..d4c7cbc 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query5.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query5.q.out
@@ -267,6 +267,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -291,6 +292,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_site
+                  filterExpr: web_site_sk is not null (type: boolean)
                   Statistics: Num rows: 84 Data size: 155408 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: web_site_sk is not null (type: boolean)
@@ -326,6 +328,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -345,6 +348,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_returns
+                  filterExpr: (cr_returned_date_sk is not null and cr_catalog_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cr_catalog_page_sk is not null and cr_returned_date_sk is not null) (type: boolean)
@@ -364,6 +368,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-08-18 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-08-18 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -382,6 +387,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_page
+                  filterExpr: cp_catalog_page_sk is not null (type: boolean)
                   Statistics: Num rows: 46000 Data size: 21198808 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: cp_catalog_page_sk is not null (type: boolean)
@@ -401,6 +407,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_web_site_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_sold_date_sk is not null and ws_web_site_sk is not null) (type: boolean)
@@ -420,6 +427,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_web_site_sk is not null and ws_item_sk is not null and ws_order_number is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_order_number is not null and ws_web_site_sk is not null) (type: boolean)
@@ -439,6 +447,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_returns
+                  filterExpr: (wr_returned_date_sk is not null and wr_item_sk is not null and wr_order_number is not null) (type: boolean)
                   Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (wr_item_sk is not null and wr_order_number is not null and wr_returned_date_sk is not null) (type: boolean)
@@ -458,6 +467,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_returned_date_sk is not null and sr_store_sk is not null) (type: boolean)
@@ -477,6 +487,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-08-18 00:00:00.0' and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00.0' AND TIMESTAMP'1998-08-18 00:00:00.0' and d_date_sk is not null) (type: boolean)
@@ -495,6 +506,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_catalog_page_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_catalog_page_sk is not null and cs_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query50.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query50.q.out b/ql/src/test/results/clientpositive/perf/spark/query50.q.out
index 57cc806..0c4528f 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query50.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query50.q.out
@@ -128,6 +128,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -158,6 +159,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_returns
+                  filterExpr: (sr_ticket_number is not null and sr_item_sk is not null and sr_customer_sk is not null and sr_returned_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null) (type: boolean)
@@ -177,6 +179,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d2
+                  filterExpr: ((d_year = 2000) and (d_moy = 9) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 9) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -195,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_ticket_number is not null and ss_item_sk is not null and ss_customer_sk is not null and ss_store_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null) (type: boolean)
@@ -214,6 +218,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d1
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query51.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query51.q.out b/ql/src/test/results/clientpositive/perf/spark/query51.q.out
index 2d18e77..c0bb72b 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query51.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query51.q.out
@@ -101,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -125,6 +126,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223) (type: boolean)
@@ -155,6 +157,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -192,6 +195,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query52.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query52.q.out b/ql/src/test/results/clientpositive/perf/spark/query52.q.out
index e114551..f6c4fc8 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query52.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query52.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -77,6 +78,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: dt
+                  filterExpr: ((d_moy = 12) and (d_year = 1998) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and (d_year = 1998) and d_date_sk is not null) (type: boolean)
@@ -95,6 +97,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manager_id = 1) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manager_id = 1) and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query53.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query53.q.out b/ql/src/test/results/clientpositive/perf/spark/query53.q.out
index 6d50296..2b1cdfe 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query53.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query53.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -95,6 +96,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -114,6 +116,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (((i_class) IN ('personal', 'portable', 'reference', 'self-help') or (i_class) IN ('accessories', 'classical', 'fragrances', 'pants')) and ((i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9') or (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1')) and ((i_category) IN ('Books', 'Children', 'Electronics') or (i_category) IN ('Women', 'Music', 'Men')) and (((i_category) IN ('Books', 'Children', 'Electronics') and (i_class) IN ('personal', 'portable', 'reference', 'self-help') and (i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) or ((i_category) IN ('Women', 'Music', 'Men') and (i_class) IN ('accessories', 'classical', 'fragrances', 'pants') and (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((i_category) IN ('Books', 'Children', 'Electronics') and (i_class) IN ('personal', 'portable', 'reference', 'self-help') and (i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) or ((i_category) IN ('Women', 'Music', 'Men') and (i_class) IN ('accessories', 'classical', 'fragrances', 'pants') and (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) and ((i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9') or (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1')) and ((i_category) IN ('Books', 'Children', 'Electronics') or (i_category) IN ('Women', 'Music', 'Men')) and ((i_class) IN ('personal', 'portable', 'reference', 'self-help') or (i_class) IN ('accessories', 'classical', 'fragrances', 'pants')) and i_item_sk is not null) (type: boolean)
@@ -133,6 +136,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_month_seq) IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_month_seq) IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query54.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query54.q.out b/ql/src/test/results/clientpositive/perf/spark/query54.q.out
index 7ea7deb..3d2c4da 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query54.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query54.q.out
@@ -130,6 +130,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 3)) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 3) and (d_year = 1999)) (type: boolean)
@@ -196,6 +197,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_county is not null and s_state is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_county is not null and s_state is not null) (type: boolean)
@@ -238,6 +240,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 3)) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 3) and (d_year = 1999)) (type: boolean)
@@ -261,6 +264,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -280,6 +284,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: d_date_sk is not null (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: d_date_sk is not null (type: boolean)
@@ -299,6 +304,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: (ca_address_sk is not null and ca_county is not null and ca_state is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ca_address_sk is not null and ca_county is not null and ca_state is not null) (type: boolean)
@@ -329,6 +335,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_bill_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -348,6 +355,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null and ws_bill_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -367,6 +375,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_moy = 3) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 3) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -385,6 +394,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Jewelry') and (i_class = 'consignment') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Jewelry') and (i_class = 'consignment') and i_item_sk is not null) (type: boolean)
@@ -403,6 +413,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -422,6 +433,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 3)) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 3) and (d_year = 1999)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query55.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query55.q.out b/ql/src/test/results/clientpositive/perf/spark/query55.q.out
index 2c2c5e3..afcd67c 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query55.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query55.q.out
@@ -42,6 +42,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -61,6 +62,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_moy = 12) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 12) and (d_year = 2001) and d_date_sk is not null) (type: boolean)
@@ -79,6 +81,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_manager_id = 36) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_manager_id = 36) and i_item_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query56.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query56.q.out b/ql/src/test/results/clientpositive/perf/spark/query56.q.out
index b369c62..4705987 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query56.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query56.q.out
@@ -164,6 +164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_id is not null and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -183,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and (d_moy = 1) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 1) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -201,6 +203,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -8) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -8) and ca_address_sk is not null) (type: boolean)
@@ -219,6 +222,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_color) IN ('orchid', 'chiffon', 'lace') and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_color) IN ('orchid', 'chiffon', 'lace') and i_item_id is not null) (type: boolean)
@@ -242,6 +246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_bill_addr_sk is not null and cs_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -261,6 +266,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_id is not null and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -280,6 +286,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_addr_sk is not null and ws_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -299,6 +306,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and (d_moy = 1) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 1) and (d_year = 2000) and d_date_sk is not null) (type: boolean)
@@ -317,6 +325,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -8) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -8) and ca_address_sk is not null) (type: boolean)
@@ -335,6 +344,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_addr_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query57.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query57.q.out b/ql/src/test/results/clientpositive/perf/spark/query57.q.out
index 3ed57e1..51e644a 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query57.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query57.q.out
@@ -108,6 +108,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: call_center
+                  filterExpr: (cc_call_center_sk is not null and cc_name is not null) (type: boolean)
                   Statistics: Num rows: 60 Data size: 122700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cc_call_center_sk is not null and cc_name is not null) (type: boolean)
@@ -132,6 +133,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: call_center
+                  filterExpr: (cc_call_center_sk is not null and cc_name is not null) (type: boolean)
                   Statistics: Num rows: 60 Data size: 122700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cc_call_center_sk is not null and cc_name is not null) (type: boolean)
@@ -156,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: call_center
+                  filterExpr: (cc_call_center_sk is not null and cc_name is not null) (type: boolean)
                   Statistics: Num rows: 60 Data size: 122700 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cc_call_center_sk is not null and cc_name is not null) (type: boolean)
@@ -196,6 +199,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_call_center_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_call_center_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -215,6 +219,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_category is not null and i_brand is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_brand is not null and i_category is not null and i_item_sk is not null) (type: boolean)
@@ -234,6 +239,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_call_center_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_call_center_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -253,6 +259,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
@@ -272,6 +279,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_category is not null and i_brand is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_brand is not null and i_category is not null and i_item_sk is not null) (type: boolean)
@@ -291,6 +299,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null and cs_call_center_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_call_center_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -310,6 +319,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
@@ -329,6 +339,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_category is not null and i_brand is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_brand is not null and i_category is not null and i_item_sk is not null) (type: boolean)
@@ -348,6 +359,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query58.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query58.q.out b/ql/src/test/results/clientpositive/perf/spark/query58.q.out
index 823a184..59213cb 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query58.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query58.q.out
@@ -147,6 +147,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date = '1998-02-19') (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date = '1998-02-19') (type: boolean)
@@ -193,6 +194,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date = '1998-02-19') (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date = '1998-02-19') (type: boolean)
@@ -239,6 +241,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date = '1998-02-19') (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date = '1998-02-19') (type: boolean)
@@ -304,6 +307,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -323,6 +327,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_date = '1998-02-19') and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_date = '1998-02-19') and d_week_seq is not null) (type: boolean)
@@ -353,6 +358,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_week_seq is not null and d_date is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_week_seq is not null) (type: boolean)
@@ -372,6 +378,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -391,6 +398,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -410,6 +418,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date is not null and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_date_sk is not null) (type: boolean)
@@ -429,6 +438,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_date = '1998-02-19') and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_date = '1998-02-19') and d_week_seq is not null) (type: boolean)
@@ -459,6 +469,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_week_seq is not null and d_date is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_week_seq is not null) (type: boolean)
@@ -478,6 +489,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -497,6 +509,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -516,6 +529,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date is not null and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_date_sk is not null) (type: boolean)
@@ -535,6 +549,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_date = '1998-02-19') and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_date = '1998-02-19') and d_week_seq is not null) (type: boolean)
@@ -565,6 +580,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_week_seq is not null and d_date is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_week_seq is not null) (type: boolean)
@@ -584,6 +600,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_sk is not null and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -603,6 +620,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date is not null and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date is not null and d_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query59.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query59.q.out b/ql/src/test/results/clientpositive/perf/spark/query59.q.out
index e9e4b28..73ea161 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query59.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query59.q.out
@@ -99,6 +99,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and s_store_id is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_store_id is not null and s_store_sk is not null) (type: boolean)
@@ -123,6 +124,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: (s_store_sk is not null and s_store_id is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (s_store_id is not null and s_store_sk is not null) (type: boolean)
@@ -156,6 +158,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -175,6 +178,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -194,6 +198,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
@@ -213,6 +218,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: (d_month_seq BETWEEN 1197 AND 1208 and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_month_seq BETWEEN 1197 AND 1208 and d_week_seq is not null) (type: boolean)
@@ -231,6 +237,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_week_seq is not null) (type: boolean)
@@ -250,6 +257,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: (d_month_seq BETWEEN 1185 AND 1196 and d_week_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_month_seq BETWEEN 1185 AND 1196 and d_week_seq is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query6.q.out b/ql/src/test/results/clientpositive/perf/spark/query6.q.out
index 4557413..fe3741f 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query6.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query6.q.out
@@ -66,6 +66,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and (d_moy = 2)) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 2) and (d_year = 2000)) (type: boolean)
@@ -143,6 +144,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: d
+                  filterExpr: (d_date_sk is not null and d_month_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (d_date_sk is not null and d_month_seq is not null) (type: boolean)
@@ -162,6 +164,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: s
+                  filterExpr: (ss_customer_sk is not null and ss_sold_date_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
@@ -181,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: c
+                  filterExpr: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -200,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: a
+                  filterExpr: ca_address_sk is not null (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ca_address_sk is not null (type: boolean)
@@ -219,6 +224,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: j
+                  filterExpr: i_category is not null (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: i_category is not null (type: boolean)
@@ -240,6 +246,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: i
+                  filterExpr: (i_item_sk is not null and i_category is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_category is not null and i_item_sk is not null) (type: boolean)
@@ -259,6 +266,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 2000) and (d_moy = 2) and d_month_seq is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 2) and (d_year = 2000) and d_month_seq is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query60.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query60.q.out b/ql/src/test/results/clientpositive/perf/spark/query60.q.out
index ef7a0df..f4f61e2 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query60.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query60.q.out
@@ -184,6 +184,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_id is not null and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -203,6 +204,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 9) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 9) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -221,6 +223,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
@@ -239,6 +242,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Children') and i_item_id is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Children') and i_item_id is not null) (type: boolean)
@@ -262,6 +266,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: catalog_sales
+                  filterExpr: (cs_sold_date_sk is not null and cs_bill_addr_sk is not null and cs_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (cs_bill_addr_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
@@ -281,6 +286,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (i_item_id is not null and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (i_item_id is not null and i_item_sk is not null) (type: boolean)
@@ -300,6 +306,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: web_sales
+                  filterExpr: (ws_sold_date_sk is not null and ws_bill_addr_sk is not null and ws_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ws_bill_addr_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
@@ -319,6 +326,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 9) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 9) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -337,6 +345,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -6) and ca_address_sk is not null) (type: boolean)
@@ -355,6 +364,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_sold_date_sk is not null and ss_addr_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_addr_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query61.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query61.q.out b/ql/src/test/results/clientpositive/perf/spark/query61.q.out
index 7cfaa78..c178b5a 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query61.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query61.q.out
@@ -101,6 +101,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_gmt_offset = -7) and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_gmt_offset = -7) and s_store_sk is not null) (type: boolean)
@@ -131,6 +132,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -150,6 +152,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -7) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -7) and ca_address_sk is not null) (type: boolean)
@@ -168,6 +171,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_store_sk is not null and ss_sold_date_sk is not null and ss_customer_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -187,6 +191,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 11) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 11) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -205,6 +210,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Electronics') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Electronics') and i_item_sk is not null) (type: boolean)
@@ -320,6 +326,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: ((s_gmt_offset = -7) and s_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((s_gmt_offset = -7) and s_store_sk is not null) (type: boolean)
@@ -339,6 +346,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: promotion
+                  filterExpr: (((p_channel_dmail = 'Y') or (p_channel_email = 'Y') or (p_channel_tv = 'Y')) and p_promo_sk is not null) (type: boolean)
                   Statistics: Num rows: 2300 Data size: 2713420 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (((p_channel_dmail = 'Y') or (p_channel_email = 'Y') or (p_channel_tv = 'Y')) and p_promo_sk is not null) (type: boolean)
@@ -370,6 +378,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer
+                  filterExpr: (c_customer_sk is not null and c_current_addr_sk is not null) (type: boolean)
                   Statistics: Num rows: 80000000 Data size: 68801615852 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (c_current_addr_sk is not null and c_customer_sk is not null) (type: boolean)
@@ -389,6 +398,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_year = 1999) and (d_moy = 11) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_moy = 11) and (d_year = 1999) and d_date_sk is not null) (type: boolean)
@@ -407,6 +417,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: ((i_category = 'Electronics') and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((i_category = 'Electronics') and i_item_sk is not null) (type: boolean)
@@ -425,6 +436,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: customer_address
+                  filterExpr: ((ca_gmt_offset = -7) and ca_address_sk is not null) (type: boolean)
                   Statistics: Num rows: 40000000 Data size: 40595195284 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((ca_gmt_offset = -7) and ca_address_sk is not null) (type: boolean)
@@ -443,6 +455,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_store_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_customer_sk is not null and ss_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/spark/query63.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query63.q.out b/ql/src/test/results/clientpositive/perf/spark/query63.q.out
index 21d4749..b506455 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query63.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query63.q.out
@@ -68,6 +68,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store
+                  filterExpr: s_store_sk is not null (type: boolean)
                   Statistics: Num rows: 1704 Data size: 3256276 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: s_store_sk is not null (type: boolean)
@@ -97,6 +98,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: store_sales
+                  filterExpr: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
                   Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -116,6 +118,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: item
+                  filterExpr: (((i_class) IN ('personal', 'portable', 'refernece', 'self-help') or (i_class) IN ('accessories', 'classical', 'fragrances', 'pants')) and ((i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9') or (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1')) and ((i_category) IN ('Books', 'Children', 'Electronics') or (i_category) IN ('Women', 'Music', 'Men')) and (((i_category) IN ('Books', 'Children', 'Electronics') and (i_class) IN ('personal', 'portable', 'refernece', 'self-help') and (i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) or ((i_category) IN ('Women', 'Music', 'Men') and (i_class) IN ('accessories', 'classical', 'fragrances', 'pants') and (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) and i_item_sk is not null) (type: boolean)
                   Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((((i_category) IN ('Books', 'Children', 'Electronics') and (i_class) IN ('personal', 'portable', 'refernece', 'self-help') and (i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) or ((i_category) IN ('Women', 'Music', 'Men') and (i_class) IN ('accessories', 'classical', 'fragrances', 'pants') and (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1'))) and ((i_brand) IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9') or (i_brand) IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg #1')) and ((i_category) IN ('Books', 'Children', 'Electronics') or (i_category) IN ('Women', 'Music', 'Men')) and ((i_class) IN ('personal', 'portable', 'refernece', 'self-help') or (i_class) IN ('accessories', 'classical', 'fragrances', 'pants')) and i_item_sk is not null) (type: boolean)
@@ -135,6 +138,7 @@ STAGE PLANS:
             Map Operator Tree:
                 TableScan
                   alias: date_dim
+                  filterExpr: ((d_month_seq) IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) and d_date_sk is not null) (type: boolean)
                   Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
                     predicate: ((d_month_seq) IN (1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) and d_date_sk is not null) (type: boolean)


[15/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query19.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query19.q.out b/ql/src/test/results/clientpositive/perf/tez/query19.q.out
index ed963c0..7e7298d 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query19.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query19.q.out
@@ -49,29 +49,34 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 12 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Map 9 <- Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Reducer 10 <- Map 12 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 14 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_97]
-        Limit [LIM_96] (rows=100 width=88)
+      File Output Operator [FS_164]
+        Limit [LIM_163] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_95] (rows=421657640 width=88)
+          Select Operator [SEL_162] (rows=421657640 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_94]
-              Select Operator [SEL_93] (rows=421657640 width=88)
+            SHUFFLE [RS_161]
+              Select Operator [SEL_160] (rows=421657640 width=88)
                 Output:["_col2","_col3","_col4","_col5","_col6"]
-                Group By Operator [GBY_92] (rows=421657640 width=88)
+                Group By Operator [GBY_159] (rows=421657640 width=88)
                   Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_37]
@@ -82,80 +87,124 @@ Stage-0
                         Output:["_col8","_col13","_col14","_col15","_col16"]
                         Filter Operator [FIL_34] (rows=843315281 width=88)
                           predicate:(substr(_col3, 1, 5) <> substr(_col19, 1, 5))
-                          Merge Join Operator [MERGEJOIN_73] (rows=843315281 width=88)
-                            Conds:RS_31._col7=RS_91._col0(Inner),Output:["_col3","_col8","_col13","_col14","_col15","_col16","_col19"]
-                          <-Map 13 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_91]
+                          Merge Join Operator [MERGEJOIN_123] (rows=843315281 width=88)
+                            Conds:RS_31._col7=RS_150._col0(Inner),Output:["_col3","_col8","_col13","_col14","_col15","_col16","_col19"]
+                          <-Map 16 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_150]
                               PartitionCols:_col0
-                              Select Operator [SEL_90] (rows=1704 width=1910)
+                              Select Operator [SEL_149] (rows=1704 width=1910)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_89] (rows=1704 width=1910)
+                                Filter Operator [FIL_148] (rows=1704 width=1910)
                                   predicate:s_store_sk is not null
                                   TableScan [TS_22] (rows=1704 width=1910)
                                     default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_zip"]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_31]
                               PartitionCols:_col7
-                              Merge Join Operator [MERGEJOIN_72] (rows=766650239 width=88)
+                              Merge Join Operator [MERGEJOIN_122] (rows=766650239 width=88)
                                 Conds:RS_28._col0=RS_29._col2(Inner),Output:["_col3","_col7","_col8","_col13","_col14","_col15","_col16"]
-                              <-Reducer 10 [SIMPLE_EDGE]
+                              <-Reducer 2 [SIMPLE_EDGE]
+                                PARTITION_ONLY_SHUFFLE [RS_28]
+                                  PartitionCols:_col0
+                                  Merge Join Operator [MERGEJOIN_119] (rows=88000001 width=860)
+                                    Conds:RS_126._col1=RS_129._col0(Inner),Output:["_col0","_col3"]
+                                  <-Map 1 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_126]
+                                      PartitionCols:_col1
+                                      Select Operator [SEL_125] (rows=80000000 width=860)
+                                        Output:["_col0","_col1"]
+                                        Filter Operator [FIL_124] (rows=80000000 width=860)
+                                          predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
+                                          TableScan [TS_0] (rows=80000000 width=860)
+                                            default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
+                                  <-Map 8 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_129]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_128] (rows=40000000 width=1014)
+                                        Output:["_col0","_col1"]
+                                        Filter Operator [FIL_127] (rows=40000000 width=1014)
+                                          predicate:ca_address_sk is not null
+                                          TableScan [TS_3] (rows=40000000 width=1014)
+                                            default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_zip"]
+                              <-Reducer 11 [SIMPLE_EDGE]
                                 SHUFFLE [RS_29]
                                   PartitionCols:_col2
-                                  Merge Join Operator [MERGEJOIN_71] (rows=696954748 width=88)
-                                    Conds:RS_18._col1=RS_88._col0(Inner),Output:["_col2","_col3","_col4","_col9","_col10","_col11","_col12"]
-                                  <-Map 12 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_88]
+                                  Merge Join Operator [MERGEJOIN_121] (rows=696954748 width=88)
+                                    Conds:RS_18._col1=RS_140._col0(Inner),Output:["_col2","_col3","_col4","_col9","_col10","_col11","_col12"]
+                                  <-Map 14 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_140]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_87] (rows=231000 width=1436)
+                                      Select Operator [SEL_139] (rows=231000 width=1436)
                                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                                        Filter Operator [FIL_86] (rows=231000 width=1436)
+                                        Filter Operator [FIL_138] (rows=231000 width=1436)
                                           predicate:((i_manager_id = 7) and i_item_sk is not null)
                                           TableScan [TS_12] (rows=462000 width=1436)
                                             default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand_id","i_brand","i_manufact_id","i_manufact","i_manager_id"]
-                                  <-Reducer 9 [SIMPLE_EDGE]
+                                  <-Reducer 10 [SIMPLE_EDGE]
                                     SHUFFLE [RS_18]
                                       PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_70] (rows=633595212 width=88)
-                                        Conds:RS_82._col0=RS_85._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                      <-Map 11 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_85]
+                                      Merge Join Operator [MERGEJOIN_120] (rows=633595212 width=88)
+                                        Conds:RS_158._col0=RS_132._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                      <-Map 12 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_132]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_84] (rows=18262 width=1119)
+                                          Select Operator [SEL_131] (rows=18262 width=1119)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_83] (rows=18262 width=1119)
+                                            Filter Operator [FIL_130] (rows=18262 width=1119)
                                               predicate:((d_moy = 11) and (d_year = 1999) and d_date_sk is not null)
                                               TableScan [TS_9] (rows=73049 width=1119)
                                                 default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                      <-Map 8 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_82]
+                                      <-Map 9 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_158]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_81] (rows=575995635 width=88)
+                                          Select Operator [SEL_157] (rows=575995635 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                                            Filter Operator [FIL_80] (rows=575995635 width=88)
-                                              predicate:(ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                            Filter Operator [FIL_156] (rows=575995635 width=88)
+                                              predicate:((ss_customer_sk BETWEEN DynamicValue(RS_28_customer_c_customer_sk_min) AND DynamicValue(RS_28_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_28_customer_c_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_19_item_i_item_sk_min) AND DynamicValue(RS_19_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_32_store_s_store_sk_min) AND DynamicValue(RS_32_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_32_store_s_store_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                               TableScan [TS_6] (rows=575995635 width=88)
                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ext_sales_price"]
-                              <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_28]
-                                  PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_69] (rows=88000001 width=860)
-                                    Conds:RS_76._col1=RS_79._col0(Inner),Output:["_col0","_col3"]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_76]
-                                      PartitionCols:_col1
-                                      Select Operator [SEL_75] (rows=80000000 width=860)
-                                        Output:["_col0","_col1"]
-                                        Filter Operator [FIL_74] (rows=80000000 width=860)
-                                          predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
-                                          TableScan [TS_0] (rows=80000000 width=860)
-                                            default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
-                                  <-Map 7 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_79]
-                                      PartitionCols:_col0
-                                      Select Operator [SEL_78] (rows=40000000 width=1014)
-                                        Output:["_col0","_col1"]
-                                        Filter Operator [FIL_77] (rows=40000000 width=1014)
-                                          predicate:ca_address_sk is not null
-                                          TableScan [TS_3] (rows=40000000 width=1014)
-                                            default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_zip"]
+                                              <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_137]
+                                                  Group By Operator [GBY_136] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_135]
+                                                      Group By Operator [GBY_134] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_133] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_131]
+                                              <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_145]
+                                                  Group By Operator [GBY_144] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_143]
+                                                      Group By Operator [GBY_142] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_141] (rows=231000 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_139]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_155]
+                                                  Group By Operator [GBY_154] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_153]
+                                                      Group By Operator [GBY_152] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_151] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_149]
+                                              <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_147]
+                                                  Group By Operator [GBY_146] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=88000000)"]
+                                                  <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_96]
+                                                      Group By Operator [GBY_95] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=88000000)"]
+                                                        Select Operator [SEL_94] (rows=88000001 width=860)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_119]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query2.q.out b/ql/src/test/results/clientpositive/perf/tez/query2.q.out
index f964747..d24899c 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query2.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query2.q.out
@@ -119,100 +119,167 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Union 2 (CONTAINS)
-Map 9 <- Union 2 (CONTAINS)
-Reducer 3 <- Map 10 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Union 2 (CONTAINS)
+Map 16 <- Reducer 14 (BROADCAST_EDGE), Union 17 (CONTAINS)
+Map 18 <- Reducer 14 (BROADCAST_EDGE), Union 17 (CONTAINS)
+Map 8 <- Reducer 10 (BROADCAST_EDGE), Union 2 (CONTAINS)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 11 <- Map 9 (SIMPLE_EDGE), Union 17 (SIMPLE_EDGE)
+Reducer 12 <- Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 15 (SIMPLE_EDGE), Reducer 12 (ONE_TO_ONE_EDGE)
+Reducer 14 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
-Reducer 6 <- Reducer 5 (ONE_TO_ONE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 5 <- Map 15 (SIMPLE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
+Reducer 6 <- Reducer 13 (SIMPLE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Map 11 (SIMPLE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_122]
-        Select Operator [SEL_121] (rows=287491028 width=135)
+      File Output Operator [FS_191]
+        Select Operator [SEL_190] (rows=287491028 width=135)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
         <-Reducer 6 [SIMPLE_EDGE]
           SHUFFLE [RS_58]
             Select Operator [SEL_57] (rows=287491028 width=135)
               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-              Merge Join Operator [MERGEJOIN_95] (rows=287491028 width=135)
+              Merge Join Operator [MERGEJOIN_143] (rows=287491028 width=135)
                 Conds:RS_54._col0=RS_55.(_col0 - 53)(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-              <-Reducer 5 [ONE_TO_ONE_EDGE]
-                FORWARD [RS_54]
-                  PartitionCols:_col0
-                  Merge Join Operator [MERGEJOIN_92] (rows=261355475 width=135)
-                    Conds:RS_113._col0=RS_119._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                  <-Map 11 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_119]
+              <-Reducer 13 [SIMPLE_EDGE]
+                SHUFFLE [RS_55]
+                  PartitionCols:(_col0 - 53)
+                  Merge Join Operator [MERGEJOIN_142] (rows=261355475 width=135)
+                    Conds:RS_189._col0=RS_187._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                  <-Map 15 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_187]
                       PartitionCols:_col0
-                      Select Operator [SEL_117] (rows=36524 width=1119)
+                      Select Operator [SEL_185] (rows=36524 width=1119)
                         Output:["_col0"]
-                        Filter Operator [FIL_115] (rows=36524 width=1119)
-                          predicate:((d_year = 2001) and d_week_seq is not null)
+                        Filter Operator [FIL_183] (rows=36524 width=1119)
+                          predicate:((d_year = 2002) and d_week_seq is not null)
                           TableScan [TS_20] (rows=73049 width=1119)
                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_week_seq","d_year"]
-                  <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_113]
+                  <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
+                    FORWARD [RS_189]
                       PartitionCols:_col0
-                      Group By Operator [GBY_112] (rows=237595882 width=135)
+                      Group By Operator [GBY_188] (rows=237595882 width=135)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)"],keys:KEY._col0
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        SHUFFLE [RS_17]
+                      <-Reducer 11 [SIMPLE_EDGE]
+                        SHUFFLE [RS_44]
                           PartitionCols:_col0
-                          Group By Operator [GBY_16] (rows=475191764 width=135)
+                          Group By Operator [GBY_43] (rows=475191764 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)"],keys:_col0
-                            Select Operator [SEL_14] (rows=475191764 width=135)
+                            Select Operator [SEL_41] (rows=475191764 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                              Merge Join Operator [MERGEJOIN_91] (rows=475191764 width=135)
-                                Conds:Union 2._col0=RS_111._col0(Inner),Output:["_col1","_col3","_col4"]
-                              <-Map 10 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_111]
+                              Merge Join Operator [MERGEJOIN_141] (rows=475191764 width=135)
+                                Conds:Union 17._col0=RS_168._col0(Inner),Output:["_col1","_col3","_col4"]
+                              <-Map 9 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_168]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_110] (rows=73049 width=1119)
+                                  Select Operator [SEL_165] (rows=73049 width=1119)
                                     Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_109] (rows=73049 width=1119)
+                                    Filter Operator [FIL_164] (rows=73049 width=1119)
                                       predicate:(d_date_sk is not null and d_week_seq is not null)
                                       TableScan [TS_8] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_week_seq","d_day_name"]
-                              <-Union 2 [SIMPLE_EDGE]
-                                <-Map 1 [CONTAINS] vectorized
-                                  Reduce Output Operator [RS_108]
+                              <-Union 17 [SIMPLE_EDGE]
+                                <-Map 16 [CONTAINS] vectorized
+                                  Reduce Output Operator [RS_200]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_107] (rows=144002668 width=135)
+                                    Select Operator [SEL_199] (rows=144002668 width=135)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_106] (rows=144002668 width=135)
-                                        predicate:ws_sold_date_sk is not null
-                                        TableScan [TS_96] (rows=144002668 width=135)
+                                      Filter Operator [FIL_198] (rows=144002668 width=135)
+                                        predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_39_date_dim_d_date_sk_min) AND DynamicValue(RS_39_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_39_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
+                                        TableScan [TS_154] (rows=144002668 width=135)
                                           Output:["ws_sold_date_sk","ws_ext_sales_price"]
-                                <-Map 9 [CONTAINS] vectorized
-                                  Reduce Output Operator [RS_125]
+                                        <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_196]
+                                            Group By Operator [GBY_195] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_173]
+                                                Group By Operator [GBY_171] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_169] (rows=73049 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_165]
+                                <-Map 18 [CONTAINS] vectorized
+                                  Reduce Output Operator [RS_203]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_124] (rows=287989836 width=135)
+                                    Select Operator [SEL_202] (rows=287989836 width=135)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_123] (rows=287989836 width=135)
-                                        predicate:cs_sold_date_sk is not null
-                                        TableScan [TS_101] (rows=287989836 width=135)
+                                      Filter Operator [FIL_201] (rows=287989836 width=135)
+                                        predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_39_date_dim_d_date_sk_min) AND DynamicValue(RS_39_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_39_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
+                                        TableScan [TS_159] (rows=287989836 width=135)
                                           Output:["cs_sold_date_sk","cs_ext_sales_price"]
-              <-Reducer 8 [SIMPLE_EDGE]
-                SHUFFLE [RS_55]
-                  PartitionCols:(_col0 - 53)
-                  Merge Join Operator [MERGEJOIN_94] (rows=261355475 width=135)
-                    Conds:RS_114._col0=RS_120._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                  <-Map 11 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_120]
+                                        <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_197]
+                                             Please refer to the previous Group By Operator [GBY_195]
+              <-Reducer 5 [ONE_TO_ONE_EDGE]
+                FORWARD [RS_54]
+                  PartitionCols:_col0
+                  Merge Join Operator [MERGEJOIN_140] (rows=261355475 width=135)
+                    Conds:RS_181._col0=RS_186._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                  <-Map 15 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_186]
                       PartitionCols:_col0
-                      Select Operator [SEL_118] (rows=36524 width=1119)
+                      Select Operator [SEL_184] (rows=36524 width=1119)
                         Output:["_col0"]
-                        Filter Operator [FIL_116] (rows=36524 width=1119)
-                          predicate:((d_year = 2002) and d_week_seq is not null)
+                        Filter Operator [FIL_182] (rows=36524 width=1119)
+                          predicate:((d_year = 2001) and d_week_seq is not null)
                            Please refer to the previous TableScan [TS_20]
                   <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_114]
+                    FORWARD [RS_181]
                       PartitionCols:_col0
-                       Please refer to the previous Group By Operator [GBY_112]
+                      Group By Operator [GBY_180] (rows=237595882 width=135)
+                        Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)"],keys:KEY._col0
+                      <-Reducer 3 [SIMPLE_EDGE]
+                        SHUFFLE [RS_17]
+                          PartitionCols:_col0
+                          Group By Operator [GBY_16] (rows=475191764 width=135)
+                            Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)"],keys:_col0
+                            Select Operator [SEL_14] (rows=475191764 width=135)
+                              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                              Merge Join Operator [MERGEJOIN_139] (rows=475191764 width=135)
+                                Conds:Union 2._col0=RS_166._col0(Inner),Output:["_col1","_col3","_col4"]
+                              <-Map 9 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_166]
+                                  PartitionCols:_col0
+                                   Please refer to the previous Select Operator [SEL_165]
+                              <-Union 2 [SIMPLE_EDGE]
+                                <-Map 1 [CONTAINS] vectorized
+                                  Reduce Output Operator [RS_179]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_178] (rows=144002668 width=135)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_177] (rows=144002668 width=135)
+                                        predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_12_date_dim_d_date_sk_min) AND DynamicValue(RS_12_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_12_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
+                                        TableScan [TS_144] (rows=144002668 width=135)
+                                          Output:["ws_sold_date_sk","ws_ext_sales_price"]
+                                        <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_175]
+                                            Group By Operator [GBY_174] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_172]
+                                                Group By Operator [GBY_170] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_167] (rows=73049 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_165]
+                                <-Map 8 [CONTAINS] vectorized
+                                  Reduce Output Operator [RS_194]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_193] (rows=287989836 width=135)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_192] (rows=287989836 width=135)
+                                        predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_12_date_dim_d_date_sk_min) AND DynamicValue(RS_12_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_12_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
+                                        TableScan [TS_149] (rows=287989836 width=135)
+                                          Output:["cs_sold_date_sk","cs_ext_sales_price"]
+                                        <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_176]
+                                             Please refer to the previous Group By Operator [GBY_174]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query20.q.out b/ql/src/test/results/clientpositive/perf/tez/query20.q.out
index 632133e..da48c01 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query20.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query20.q.out
@@ -57,72 +57,97 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_56]
-        Limit [LIM_55] (rows=100 width=135)
+      File Output Operator [FS_86]
+        Limit [LIM_85] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_54] (rows=174233858 width=135)
+          Select Operator [SEL_84] (rows=174233858 width=135)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_53]
-              Select Operator [SEL_52] (rows=174233858 width=135)
+            SHUFFLE [RS_83]
+              Select Operator [SEL_82] (rows=174233858 width=135)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                PTF Operator [PTF_51] (rows=174233858 width=135)
+                PTF Operator [PTF_81] (rows=174233858 width=135)
                   Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"_col1"}]
-                  Select Operator [SEL_50] (rows=174233858 width=135)
+                  Select Operator [SEL_80] (rows=174233858 width=135)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_49]
+                    SHUFFLE [RS_79]
                       PartitionCols:_col1
-                      Group By Operator [GBY_48] (rows=174233858 width=135)
+                      Group By Operator [GBY_78] (rows=174233858 width=135)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_17]
                           PartitionCols:_col0, _col1, _col2, _col3, _col4
                           Group By Operator [GBY_16] (rows=348467716 width=135)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)"],keys:_col10, _col9, _col6, _col7, _col8
-                            Merge Join Operator [MERGEJOIN_38] (rows=348467716 width=135)
-                              Conds:RS_12._col1=RS_47._col0(Inner),Output:["_col2","_col6","_col7","_col8","_col9","_col10"]
-                            <-Map 8 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_47]
+                            Merge Join Operator [MERGEJOIN_58] (rows=348467716 width=135)
+                              Conds:RS_12._col1=RS_69._col0(Inner),Output:["_col2","_col6","_col7","_col8","_col9","_col10"]
+                            <-Map 9 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_69]
                                 PartitionCols:_col0
-                                Select Operator [SEL_46] (rows=231000 width=1436)
+                                Select Operator [SEL_68] (rows=231000 width=1436)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                  Filter Operator [FIL_45] (rows=231000 width=1436)
+                                  Filter Operator [FIL_67] (rows=231000 width=1436)
                                     predicate:((i_category) IN ('Jewelry', 'Sports', 'Books') and i_item_sk is not null)
                                     TableScan [TS_6] (rows=462000 width=1436)
                                       default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc","i_current_price","i_class","i_category"]
                             <-Reducer 2 [SIMPLE_EDGE]
                               SHUFFLE [RS_12]
                                 PartitionCols:_col1
-                                Merge Join Operator [MERGEJOIN_37] (rows=316788826 width=135)
-                                  Conds:RS_41._col0=RS_44._col0(Inner),Output:["_col1","_col2"]
-                                <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_41]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_40] (rows=287989836 width=135)
-                                      Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_39] (rows=287989836 width=135)
-                                        predicate:(cs_item_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_item_sk","cs_ext_sales_price"]
+                                Merge Join Operator [MERGEJOIN_57] (rows=316788826 width=135)
+                                  Conds:RS_77._col0=RS_61._col0(Inner),Output:["_col1","_col2"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_44]
+                                  PARTITION_ONLY_SHUFFLE [RS_61]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_43] (rows=8116 width=1119)
+                                    Select Operator [SEL_60] (rows=8116 width=1119)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_42] (rows=8116 width=1119)
+                                      Filter Operator [FIL_59] (rows=8116 width=1119)
                                         predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00.0' AND TIMESTAMP'2001-02-11 00:00:00.0' and d_date_sk is not null)
                                         TableScan [TS_3] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
+                                <-Map 1 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_77]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_76] (rows=287989836 width=135)
+                                      Output:["_col0","_col1","_col2"]
+                                      Filter Operator [FIL_75] (rows=287989836 width=135)
+                                        predicate:((cs_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (cs_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(cs_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and cs_item_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_item_sk","cs_ext_sales_price"]
+                                        <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_74]
+                                            Group By Operator [GBY_73] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              SHUFFLE [RS_72]
+                                                Group By Operator [GBY_71] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_70] (rows=231000 width=1436)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_68]
+                                        <-Reducer 8 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_66]
+                                            Group By Operator [GBY_65] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                            <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              PARTITION_ONLY_SHUFFLE [RS_64]
+                                                Group By Operator [GBY_63] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_62] (rows=8116 width=1119)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_60]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query21.q.out b/ql/src/test/results/clientpositive/perf/tez/query21.q.out
index f741075..d4065c8 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query21.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query21.q.out
@@ -70,10 +70,10 @@ Stage-0
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_63]
-        Limit [LIM_62] (rows=100 width=15)
+      File Output Operator [FS_93]
+        Limit [LIM_92] (rows=100 width=15)
           Number of rows:100
-          Select Operator [SEL_61] (rows=12506076 width=15)
+          Select Operator [SEL_91] (rows=12506076 width=15)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_28]
@@ -88,51 +88,51 @@ Stage-0
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col2)","sum(_col3)"],keys:_col0, _col1
                       Select Operator [SEL_21] (rows=50024305 width=15)
                         Output:["_col0","_col1","_col2","_col3"]
-                        Merge Join Operator [MERGEJOIN_47] (rows=50024305 width=15)
-                          Conds:RS_18._col2=RS_59._col0(Inner),Output:["_col3","_col5","_col7","_col10"]
+                        Merge Join Operator [MERGEJOIN_77] (rows=50024305 width=15)
+                          Conds:RS_18._col2=RS_89._col0(Inner),Output:["_col3","_col5","_col7","_col10"]
                         <-Map 9 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_59]
+                          SHUFFLE [RS_89]
                             PartitionCols:_col0
-                            Select Operator [SEL_58] (rows=27 width=1029)
+                            Select Operator [SEL_88] (rows=27 width=1029)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_57] (rows=27 width=1029)
+                              Filter Operator [FIL_87] (rows=27 width=1029)
                                 predicate:w_warehouse_sk is not null
                                 TableScan [TS_9] (rows=27 width=1029)
                                   default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_warehouse_name"]
                         <-Reducer 3 [SIMPLE_EDGE]
                           SHUFFLE [RS_18]
                             PartitionCols:_col2
-                            Merge Join Operator [MERGEJOIN_46] (rows=45476640 width=15)
-                              Conds:RS_15._col1=RS_56._col0(Inner),Output:["_col2","_col3","_col5","_col7"]
+                            Merge Join Operator [MERGEJOIN_76] (rows=45476640 width=15)
+                              Conds:RS_15._col1=RS_86._col0(Inner),Output:["_col2","_col3","_col5","_col7"]
                             <-Map 8 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_56]
+                              SHUFFLE [RS_86]
                                 PartitionCols:_col0
-                                Select Operator [SEL_55] (rows=51333 width=1436)
+                                Select Operator [SEL_85] (rows=51333 width=1436)
                                   Output:["_col0","_col1"]
-                                  Filter Operator [FIL_54] (rows=51333 width=1436)
+                                  Filter Operator [FIL_84] (rows=51333 width=1436)
                                     predicate:(i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null)
                                     TableScan [TS_6] (rows=462000 width=1436)
                                       default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_current_price"]
                             <-Reducer 2 [SIMPLE_EDGE]
                               SHUFFLE [RS_15]
                                 PartitionCols:_col1
-                                Merge Join Operator [MERGEJOIN_45] (rows=41342400 width=15)
-                                  Conds:RS_50._col0=RS_53._col0(Inner),Output:["_col1","_col2","_col3","_col5"]
+                                Merge Join Operator [MERGEJOIN_75] (rows=41342400 width=15)
+                                  Conds:RS_80._col0=RS_83._col0(Inner),Output:["_col1","_col2","_col3","_col5"]
                                 <-Map 1 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_50]
+                                  SHUFFLE [RS_80]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_49] (rows=37584000 width=15)
+                                    Select Operator [SEL_79] (rows=37584000 width=15)
                                       Output:["_col0","_col1","_col2","_col3"]
-                                      Filter Operator [FIL_48] (rows=37584000 width=15)
+                                      Filter Operator [FIL_78] (rows=37584000 width=15)
                                         predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null)
                                         TableScan [TS_0] (rows=37584000 width=15)
                                           default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"]
                                 <-Map 7 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_53]
+                                  SHUFFLE [RS_83]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_52] (rows=8116 width=1119)
+                                    Select Operator [SEL_82] (rows=8116 width=1119)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_51] (rows=8116 width=1119)
+                                      Filter Operator [FIL_81] (rows=8116 width=1119)
                                         predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null)
                                         TableScan [TS_3] (rows=73049 width=1119)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query22.q.out b/ql/src/test/results/clientpositive/perf/tez/query22.q.out
index 73b6e8e..cfe780a 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query22.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query22.q.out
@@ -54,67 +54,67 @@ Stage-0
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_63]
-        Limit [LIM_62] (rows=100 width=15)
+      File Output Operator [FS_93]
+        Limit [LIM_92] (rows=100 width=15)
           Number of rows:100
-          Select Operator [SEL_61] (rows=125060762 width=15)
+          Select Operator [SEL_91] (rows=125060762 width=15)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_60]
-              Select Operator [SEL_59] (rows=125060762 width=15)
+            SHUFFLE [RS_90]
+              Select Operator [SEL_89] (rows=125060762 width=15)
                 Output:["_col0","_col1","_col2","_col3","_col4"]
-                Group By Operator [GBY_58] (rows=125060762 width=15)
+                Group By Operator [GBY_88] (rows=125060762 width=15)
                   Output:["_col0","_col1","_col2","_col3","_col5","_col6"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
                 <-Reducer 4 [SIMPLE_EDGE]
                   SHUFFLE [RS_23]
                     PartitionCols:_col0, _col1, _col2, _col3, _col4
                     Group By Operator [GBY_22] (rows=250121525 width=15)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col3)","count(_col3)"],keys:_col8, _col9, _col10, _col11, 0L
-                      Merge Join Operator [MERGEJOIN_45] (rows=50024305 width=15)
-                        Conds:RS_18._col1=RS_57._col0(Inner),Output:["_col3","_col8","_col9","_col10","_col11"]
+                      Merge Join Operator [MERGEJOIN_75] (rows=50024305 width=15)
+                        Conds:RS_18._col1=RS_87._col0(Inner),Output:["_col3","_col8","_col9","_col10","_col11"]
                       <-Map 9 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_57]
+                        SHUFFLE [RS_87]
                           PartitionCols:_col0
-                          Select Operator [SEL_56] (rows=462000 width=1436)
+                          Select Operator [SEL_86] (rows=462000 width=1436)
                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                            Filter Operator [FIL_55] (rows=462000 width=1436)
+                            Filter Operator [FIL_85] (rows=462000 width=1436)
                               predicate:i_item_sk is not null
                               TableScan [TS_9] (rows=462000 width=1436)
                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_class","i_category","i_product_name"]
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_18]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_44] (rows=45476640 width=15)
-                            Conds:RS_15._col2=RS_54._col0(Inner),Output:["_col1","_col3"]
+                          Merge Join Operator [MERGEJOIN_74] (rows=45476640 width=15)
+                            Conds:RS_15._col2=RS_84._col0(Inner),Output:["_col1","_col3"]
                           <-Map 8 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_54]
+                            SHUFFLE [RS_84]
                               PartitionCols:_col0
-                              Select Operator [SEL_53] (rows=27 width=1029)
+                              Select Operator [SEL_83] (rows=27 width=1029)
                                 Output:["_col0"]
-                                Filter Operator [FIL_52] (rows=27 width=1029)
+                                Filter Operator [FIL_82] (rows=27 width=1029)
                                   predicate:w_warehouse_sk is not null
                                   TableScan [TS_6] (rows=27 width=1029)
                                     default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk"]
                           <-Reducer 2 [SIMPLE_EDGE]
                             SHUFFLE [RS_15]
                               PartitionCols:_col2
-                              Merge Join Operator [MERGEJOIN_43] (rows=41342400 width=15)
-                                Conds:RS_48._col0=RS_51._col0(Inner),Output:["_col1","_col2","_col3"]
+                              Merge Join Operator [MERGEJOIN_73] (rows=41342400 width=15)
+                                Conds:RS_78._col0=RS_81._col0(Inner),Output:["_col1","_col2","_col3"]
                               <-Map 1 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_48]
+                                SHUFFLE [RS_78]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_47] (rows=37584000 width=15)
+                                  Select Operator [SEL_77] (rows=37584000 width=15)
                                     Output:["_col0","_col1","_col2","_col3"]
-                                    Filter Operator [FIL_46] (rows=37584000 width=15)
+                                    Filter Operator [FIL_76] (rows=37584000 width=15)
                                       predicate:(inv_date_sk is not null and inv_item_sk is not null and inv_warehouse_sk is not null)
                                       TableScan [TS_0] (rows=37584000 width=15)
                                         default@inventory,inventory,Tbl:COMPLETE,Col:NONE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"]
                               <-Map 7 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_51]
+                                SHUFFLE [RS_81]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_50] (rows=8116 width=1119)
+                                  Select Operator [SEL_80] (rows=8116 width=1119)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_49] (rows=8116 width=1119)
+                                    Filter Operator [FIL_79] (rows=8116 width=1119)
                                       predicate:(d_date_sk is not null and d_month_seq BETWEEN 1212 AND 1223)
                                       TableScan [TS_3] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]


[49/58] [abbrv] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join28.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join28.q.out b/ql/src/test/results/clientpositive/auto_join28.q.out
index d93f397..c6233e7 100644
--- a/ql/src/test/results/clientpositive/auto_join28.q.out
+++ b/ql/src/test/results/clientpositive/auto_join28.q.out
@@ -36,6 +36,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key > 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 10) (type: boolean)
@@ -125,6 +126,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key > 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 10) (type: boolean)
@@ -141,6 +143,7 @@ STAGE PLANS:
         src3 
           TableScan
             alias: src3
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -230,6 +233,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -246,6 +250,7 @@ STAGE PLANS:
         src3 
           TableScan
             alias: src3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -335,6 +340,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join29.q.out b/ql/src/test/results/clientpositive/auto_join29.q.out
index a784add..ab1047e 100644
--- a/ql/src/test/results/clientpositive/auto_join29.q.out
+++ b/ql/src/test/results/clientpositive/auto_join29.q.out
@@ -36,6 +36,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key > 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 10) (type: boolean)
@@ -633,6 +634,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key > 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key > 10) (type: boolean)
@@ -649,6 +651,7 @@ STAGE PLANS:
         src3 
           TableScan
             alias: src3
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -1246,6 +1249,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -1262,6 +1266,7 @@ STAGE PLANS:
         src3 
           TableScan
             alias: src3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -1871,6 +1876,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -2493,6 +2499,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2505,6 +2512,7 @@ STAGE PLANS:
         src3 
           TableScan
             alias: src3
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2520,6 +2528,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key > 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2597,6 +2606,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -2613,6 +2623,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key > 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3210,6 +3221,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key > 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3226,6 +3238,7 @@ STAGE PLANS:
         src3 
           TableScan
             alias: src3
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3323,6 +3336,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -3339,6 +3353,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -3358,6 +3373,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src3
+            filterExpr: (key < 10) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key < 10) (type: boolean)
@@ -3461,6 +3477,7 @@ STAGE PLANS:
         src1 
           TableScan
             alias: src1
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3473,6 +3490,7 @@ STAGE PLANS:
         src2 
           TableScan
             alias: src2
+            filterExpr: ((key < 10) and (key > 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)
@@ -3488,6 +3506,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src3
+            filterExpr: ((key > 10) and (key < 10)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key < 10) and (key > 10)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join3.q.out b/ql/src/test/results/clientpositive/auto_join3.q.out
index 68aa4c2..2bffe6e 100644
--- a/ql/src/test/results/clientpositive/auto_join3.q.out
+++ b/ql/src/test/results/clientpositive/auto_join3.q.out
@@ -35,6 +35,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -51,6 +52,7 @@ STAGE PLANS:
         $hdt$_1:src2 
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -70,6 +72,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src3
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join32.q.out b/ql/src/test/results/clientpositive/auto_join32.q.out
index 0e1d3c6..09fcd7d 100644
--- a/ql/src/test/results/clientpositive/auto_join32.q.out
+++ b/ql/src/test/results/clientpositive/auto_join32.q.out
@@ -40,6 +40,7 @@ STAGE PLANS:
         $hdt$_0:s 
           TableScan
             alias: s
+            filterExpr: name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: name is not null (type: boolean)
@@ -58,6 +59,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: v
+            filterExpr: name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: name is not null (type: boolean)
@@ -160,6 +162,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: name is not null (type: boolean)
@@ -271,6 +274,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: name is not null (type: boolean)
@@ -404,6 +408,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: ((p = 'bar') and name is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((p = 'bar') and name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join33.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join33.q.out b/ql/src/test/results/clientpositive/auto_join33.q.out
index ec6018d..9c9c898 100644
--- a/ql/src/test/results/clientpositive/auto_join33.q.out
+++ b/ql/src/test/results/clientpositive/auto_join33.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
         $hdt$_0:src 
           TableScan
             alias: src
+            filterExpr: (((UDFToDouble(key) + 1.0D) < 10.0D) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) + 1.0D) < 10.0D) and key is not null) (type: boolean)
@@ -46,6 +47,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
+            filterExpr: (((UDFToDouble(key) + 2.0D) < 10.0D) and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((UDFToDouble(key) + 2.0D) < 10.0D) and key is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join4.q.out b/ql/src/test/results/clientpositive/auto_join4.q.out
index c8b778c..0d92656 100644
--- a/ql/src/test/results/clientpositive/auto_join4.q.out
+++ b/ql/src/test/results/clientpositive/auto_join4.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
         $hdt$_1:src2 
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join5.q.out b/ql/src/test/results/clientpositive/auto_join5.q.out
index 79b4dec..b3c1c25 100644
--- a/ql/src/test/results/clientpositive/auto_join5.q.out
+++ b/ql/src/test/results/clientpositive/auto_join5.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join6.q.out b/ql/src/test/results/clientpositive/auto_join6.q.out
index 1f652fc..a3e829f 100644
--- a/ql/src/test/results/clientpositive/auto_join6.q.out
+++ b/ql/src/test/results/clientpositive/auto_join6.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join7.q.out b/ql/src/test/results/clientpositive/auto_join7.q.out
index 7ca170a..1f2616e 100644
--- a/ql/src/test/results/clientpositive/auto_join7.q.out
+++ b/ql/src/test/results/clientpositive/auto_join7.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -90,6 +92,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src3
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join8.q.out b/ql/src/test/results/clientpositive/auto_join8.q.out
index b959822..e550810 100644
--- a/ql/src/test/results/clientpositive/auto_join8.q.out
+++ b/ql/src/test/results/clientpositive/auto_join8.q.out
@@ -54,6 +54,7 @@ STAGE PLANS:
         $hdt$_1:src2 
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join9.q.out b/ql/src/test/results/clientpositive/auto_join9.q.out
index 80c1649..fb09841 100644
--- a/ql/src/test/results/clientpositive/auto_join9.q.out
+++ b/ql/src/test/results/clientpositive/auto_join9.q.out
@@ -32,6 +32,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: ((ds = '2008-04-08') and (hr = '12') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -50,6 +51,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out b/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
index e66e402..259142d 100644
--- a/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
@@ -93,6 +93,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: orderpayment
+            filterExpr: (date is not null and dealid is not null and cityid is not null and userid is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -114,6 +115,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: dim_pay_date
+            filterExpr: date is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -230,6 +232,7 @@ STAGE PLANS:
               auto parallelism: false
           TableScan
             alias: deal
+            filterExpr: dealid is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -369,6 +372,7 @@ STAGE PLANS:
               auto parallelism: false
           TableScan
             alias: order_city
+            filterExpr: cityid is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 36 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -508,6 +512,7 @@ STAGE PLANS:
               auto parallelism: false
           TableScan
             alias: user
+            filterExpr: userid is not null (type: boolean)
             Statistics: Num rows: 100 Data size: 288 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join_stats.q.out b/ql/src/test/results/clientpositive/auto_join_stats.q.out
index 321c977..346c9c2 100644
--- a/ql/src/test/results/clientpositive/auto_join_stats.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_stats.q.out
@@ -51,6 +51,7 @@ STAGE PLANS:
         $hdt$_1:src2 
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -69,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -105,6 +107,7 @@ STAGE PLANS:
         $hdt$_2:smalltable_n0 
           TableScan
             alias: smalltable_n0
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -151,6 +154,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -169,6 +173,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -200,6 +205,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -215,6 +221,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -315,6 +322,7 @@ STAGE PLANS:
         $hdt$_2:src2 
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -333,6 +341,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -372,6 +381,7 @@ STAGE PLANS:
         $hdt$_0:smalltable_n0 
           TableScan
             alias: smalltable_n0
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -388,6 +398,7 @@ STAGE PLANS:
         $hdt$_3:smalltable2_n0 
           TableScan
             alias: smalltable2_n0
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -441,6 +452,7 @@ STAGE PLANS:
         $hdt$_1:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -459,6 +471,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -490,6 +503,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -505,6 +519,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join_stats2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join_stats2.q.out b/ql/src/test/results/clientpositive/auto_join_stats2.q.out
index 1b274a1..6eab581 100644
--- a/ql/src/test/results/clientpositive/auto_join_stats2.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_stats2.q.out
@@ -38,6 +38,7 @@ STAGE PLANS:
         $hdt$_0:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -53,6 +54,7 @@ STAGE PLANS:
         $hdt$_2:smalltable 
           TableScan
             alias: smalltable
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -71,6 +73,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -182,6 +185,7 @@ STAGE PLANS:
         $hdt$_0:smalltable 
           TableScan
             alias: smalltable
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -198,6 +202,7 @@ STAGE PLANS:
         $hdt$_1:src1 
           TableScan
             alias: src1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -213,6 +218,7 @@ STAGE PLANS:
         $hdt$_3:smalltable2 
           TableScan
             alias: smalltable2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -232,6 +238,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out b/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
index ad5e187..2f32cf2 100644
--- a/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_without_localtask.q.out
@@ -28,6 +28,7 @@ STAGE PLANS:
         $hdt$_1:b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -46,6 +47,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -106,6 +108,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -124,6 +127,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -154,6 +158,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -170,6 +175,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -292,6 +298,7 @@ STAGE PLANS:
         $hdt$_1:b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -310,6 +317,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -348,6 +356,7 @@ STAGE PLANS:
         $hdt$_2:c 
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -412,6 +421,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -456,6 +466,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -495,6 +506,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -513,6 +525,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -543,6 +556,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -559,6 +573,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -684,6 +699,7 @@ STAGE PLANS:
         $hdt$_2:b 
           TableScan
             alias: b
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -702,6 +718,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) > 100.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 100.0D) and value is not null) (type: boolean)
@@ -740,6 +757,7 @@ STAGE PLANS:
         $hdt$_0:c 
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -804,6 +822,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -848,6 +867,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -887,6 +907,7 @@ STAGE PLANS:
         $hdt$_1:a 
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) > 100.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 100.0D) and value is not null) (type: boolean)
@@ -905,6 +926,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
@@ -935,6 +957,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((UDFToDouble(key) > 100.0D) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) > 100.0D) and value is not null) (type: boolean)
@@ -951,6 +974,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: b
+            filterExpr: (UDFToDouble(key) > 100.0D) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (UDFToDouble(key) > 100.0D) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out b/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out
index 6860b47..6b3920c 100644
--- a/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out
+++ b/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out
@@ -250,6 +250,7 @@ STAGE PLANS:
       Processor Tree:
         TableScan
           alias: episodes_partitioned_n0
+          filterExpr: (doctor_pt > 6) (type: boolean)
           Statistics: Num rows: 3 Data size: 8950 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: title (type: string), air_date (type: string), doctor (type: int), value (type: int), doctor_pt (type: int)
@@ -339,6 +340,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: episodes_partitioned_n0
+            filterExpr: (doctor_pt > 6) (type: boolean)
             Statistics: Num rows: 3 Data size: 8950 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: title (type: string), air_date (type: string), doctor (type: int), value (type: int), doctor_pt (type: int)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/explain_outputs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/explain_outputs.q.out b/ql/src/test/results/clientpositive/beeline/explain_outputs.q.out
index 1837756..1d4c7ad 100644
--- a/ql/src/test/results/clientpositive/beeline/explain_outputs.q.out
+++ b/ql/src/test/results/clientpositive/beeline/explain_outputs.q.out
@@ -49,6 +49,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n22
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2_n14
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -148,6 +150,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n22
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2/2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -163,6 +166,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2/2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2_n14
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 5/5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -255,6 +259,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: t1_n22
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)
@@ -270,6 +275,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: t2_n14
+            filterExpr: id is not null (type: boolean)
             Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out b/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
index a0f916b..ff02643 100644
--- a/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
@@ -172,6 +172,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cmv_basetable_n10
+            filterExpr: (a = 3) (type: boolean)
             Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (a = 3) (type: boolean)
@@ -186,6 +187,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: decimal(10,2))
           TableScan
             alias: cmv_basetable_n10
+            filterExpr: ((d = 3) and (a = 3)) (type: boolean)
             Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -293,6 +295,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cmv_basetable_n10
+            filterExpr: ((a = 3) and (d = 3)) (type: boolean)
             Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((a = 3) and (d = 3)) (type: boolean)
@@ -393,6 +396,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: cmv_basetable_n10
+            filterExpr: (a = 3) (type: boolean)
             Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (a = 3) (type: boolean)
@@ -407,6 +411,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: decimal(10,2))
           TableScan
             alias: cmv_basetable_n10
+            filterExpr: ((d = 3) and (a = 3)) (type: boolean)
             Statistics: Num rows: 5 Data size: 1205 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((a = 3) and (d = 3)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_1.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_1.q.out
index fa834ac..733a3f5 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_1.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_1.q.out
@@ -108,6 +108,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2060 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -329,6 +330,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2080 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
index 25e5eac..6938b0e 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
@@ -78,6 +78,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: (userid is not null and pageid is not null and postid is not null and type is not null) (type: boolean)
             Statistics: Num rows: 13 Data size: 4140 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (pageid is not null and postid is not null and type is not null and userid is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_11.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_11.q.out
index afc7e95..9f946e0 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_11.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_11.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_12.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_12.q.out
index c635658..c626c7e 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_12.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_12.q.out
@@ -69,6 +69,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -271,6 +272,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((ds = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 3084 Data size: 32904 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_13.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_13.q.out
index 2dd921f..123e844 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_13.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_13.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -237,6 +238,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: UDFToDouble(value) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -254,6 +256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_16.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_16.q.out
index 4f6406b..3fb1769 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_16.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_16.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_2.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_2.q.out
index 3353eb5..e39edcc 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_2.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_2.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2220 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -287,6 +288,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2080 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/beeline/smb_mapjoin_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_3.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_3.q.out
index e116fa7..fa7968d 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_3.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_3.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2220 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -285,6 +286,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 2060 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket3.q.out b/ql/src/test/results/clientpositive/bucket3.q.out
index 0ad6d04..d9ee0dc 100644
--- a/ql/src/test/results/clientpositive/bucket3.q.out
+++ b/ql/src/test/results/clientpositive/bucket3.q.out
@@ -317,6 +317,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: s
+            filterExpr: (ds = '1') (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (((hash(key) & 2147483647) % 2) = 0) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_1.q.out b/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
index 6d837a3..fb99ead 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 210 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -81,6 +82,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_2.q.out b/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
index 0761f2f..3377621 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
@@ -64,6 +64,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 210 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -81,6 +82,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
index e4c7c64..4650034 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
@@ -183,6 +183,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -204,6 +205,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -625,6 +627,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -646,6 +649,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
index eed3365..64c5bf4 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
@@ -167,6 +167,7 @@ STAGE PLANS:
         $hdt$_1:b 
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 78 Data size: 30620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -188,6 +189,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -609,6 +611,7 @@ STAGE PLANS:
         $hdt$_1:b 
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 78 Data size: 30620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -630,6 +633,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
index 4841f6d..e7a9263 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
@@ -167,6 +167,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 78 Data size: 30620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -188,6 +189,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -609,6 +611,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 78 Data size: 30620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -630,6 +633,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
             Statistics: Num rows: 149 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucket_map_join_spark4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark4.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark4.q.out
index 96a0593..31d7870 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark4.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark4.q.out
@@ -85,6 +85,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -103,6 +104,7 @@ STAGE PLANS:
         $hdt$_2:c 
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -124,6 +126,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -447,6 +450,7 @@ STAGE PLANS:
         $hdt$_0:a 
           TableScan
             alias: a
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -465,6 +469,7 @@ STAGE PLANS:
         $hdt$_2:c 
           TableScan
             alias: c
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -486,6 +491,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_1.q.out b/ql/src/test/results/clientpositive/bucketcontext_1.q.out
index 6060fe7..42c6301 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_1.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_1.q.out
@@ -166,6 +166,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 56 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -190,6 +191,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 240 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -393,6 +395,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 240 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_2.q.out b/ql/src/test/results/clientpositive/bucketcontext_2.q.out
index f998650..f9b0201 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_2.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_2.q.out
@@ -150,6 +150,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 120 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -174,6 +175,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -377,6 +379,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_3.q.out b/ql/src/test/results/clientpositive/bucketcontext_3.q.out
index 15b3d14..520dad8 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_3.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_3.q.out
@@ -198,6 +198,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -222,6 +223,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 120 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -374,6 +376,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 120 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_4.q.out b/ql/src/test/results/clientpositive/bucketcontext_4.q.out
index f448796..486a8e7 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_4.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_4.q.out
@@ -214,6 +214,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 240 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -238,6 +239,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 56 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -390,6 +392,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 56 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_5.q.out b/ql/src/test/results/clientpositive/bucketcontext_5.q.out
index 629c364..e14c61b 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_5.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_5.q.out
@@ -82,6 +82,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -106,6 +107,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -252,6 +254,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_6.q.out b/ql/src/test/results/clientpositive/bucketcontext_6.q.out
index c6e940c..548a34d 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_6.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_6.q.out
@@ -100,6 +100,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 58120 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -124,6 +125,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -325,6 +327,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_7.q.out b/ql/src/test/results/clientpositive/bucketcontext_7.q.out
index ec8806f..970917e 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_7.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_7.q.out
@@ -231,6 +231,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 240 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -255,6 +256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -460,6 +462,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketcontext_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketcontext_8.q.out b/ql/src/test/results/clientpositive/bucketcontext_8.q.out
index 2eda939..d46d623 100644
--- a/ql/src/test/results/clientpositive/bucketcontext_8.q.out
+++ b/ql/src/test/results/clientpositive/bucketcontext_8.q.out
@@ -231,6 +231,7 @@ STAGE PLANS:
         a 
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 112 Data size: 55000 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -255,6 +256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 240 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -460,6 +462,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 240 Data size: 116240 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin10.q.out b/ql/src/test/results/clientpositive/bucketmapjoin10.q.out
index a8951d1..d9a8414 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin10.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin10.q.out
@@ -247,6 +247,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: (part is not null and key is not null) (type: boolean)
             Statistics: Num rows: 178 Data size: 69500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -264,6 +265,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (part is not null and key is not null) (type: boolean)
             Statistics: Num rows: 178 Data size: 69500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin11.q.out b/ql/src/test/results/clientpositive/bucketmapjoin11.q.out
index e54a8c3..7fbde83 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin11.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin11.q.out
@@ -255,6 +255,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: (part is not null and key is not null) (type: boolean)
             Statistics: Num rows: 219 Data size: 85620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -279,6 +280,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (part is not null and key is not null) (type: boolean)
             Statistics: Num rows: 219 Data size: 85620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -592,6 +594,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: (part is not null and key is not null) (type: boolean)
             Statistics: Num rows: 219 Data size: 85620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -616,6 +619,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (part is not null and key is not null) (type: boolean)
             Statistics: Num rows: 219 Data size: 85620 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin12.q.out b/ql/src/test/results/clientpositive/bucketmapjoin12.q.out
index f892b8e..ede40f0 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin12.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin12.q.out
@@ -168,6 +168,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -192,6 +193,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -403,6 +405,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -420,6 +423,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '1') and key is not null) (type: boolean)
             Statistics: Num rows: 95 Data size: 27500 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/bucketmapjoin13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucketmapjoin13.q.out b/ql/src/test/results/clientpositive/bucketmapjoin13.q.out
index 2f9b3ca..8aa75e7 100644
--- a/ql/src/test/results/clientpositive/bucketmapjoin13.q.out
+++ b/ql/src/test/results/clientpositive/bucketmapjoin13.q.out
@@ -137,6 +137,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -154,6 +155,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -420,6 +422,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -444,6 +447,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: ((part = '2') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -666,6 +670,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -690,6 +695,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -912,6 +918,7 @@ STAGE PLANS:
         b 
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -936,6 +943,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator