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/10/26 21:11:30 UTC

[20/75] [abbrv] [partial] hive git commit: HIVE-20718: Add perf cli driver with constraints (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
new file mode 100644
index 0000000..a01919e
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
@@ -0,0 +1,492 @@
+PREHOOK: query: explain
+with ss as
+ (select ca_county,d_qoy, d_year,sum(ss_ext_sales_price) as store_sales
+ from store_sales,date_dim,customer_address
+ where ss_sold_date_sk = d_date_sk
+  and ss_addr_sk=ca_address_sk
+ group by ca_county,d_qoy, d_year),
+ ws as
+ (select ca_county,d_qoy, d_year,sum(ws_ext_sales_price) as web_sales
+ from web_sales,date_dim,customer_address
+ where ws_sold_date_sk = d_date_sk
+  and ws_bill_addr_sk=ca_address_sk
+ group by ca_county,d_qoy, d_year)
+ select /* tt */
+        ss1.ca_county
+       ,ss1.d_year
+       ,ws2.web_sales/ws1.web_sales web_q1_q2_increase
+       ,ss2.store_sales/ss1.store_sales store_q1_q2_increase
+       ,ws3.web_sales/ws2.web_sales web_q2_q3_increase
+       ,ss3.store_sales/ss2.store_sales store_q2_q3_increase
+ from
+        ss ss1
+       ,ss ss2
+       ,ss ss3
+       ,ws ws1
+       ,ws ws2
+       ,ws ws3
+ where
+    ss1.d_qoy = 1
+    and ss1.d_year = 2000
+    and ss1.ca_county = ss2.ca_county
+    and ss2.d_qoy = 2
+    and ss2.d_year = 2000
+ and ss2.ca_county = ss3.ca_county
+    and ss3.d_qoy = 3
+    and ss3.d_year = 2000
+    and ss1.ca_county = ws1.ca_county
+    and ws1.d_qoy = 1
+    and ws1.d_year = 2000
+    and ws1.ca_county = ws2.ca_county
+    and ws2.d_qoy = 2
+    and ws2.d_year = 2000
+    and ws1.ca_county = ws3.ca_county
+    and ws3.d_qoy = 3
+    and ws3.d_year =2000
+    and case when ws1.web_sales > 0 then ws2.web_sales/ws1.web_sales else null end 
+       > case when ss1.store_sales > 0 then ss2.store_sales/ss1.store_sales else null end
+    and case when ws2.web_sales > 0 then ws3.web_sales/ws2.web_sales else null end
+       > case when ss2.store_sales > 0 then ss3.store_sales/ss2.store_sales else null end
+ order by ss1.d_year
+PREHOOK: type: QUERY
+PREHOOK: Input: default@customer_address
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@store_sales
+PREHOOK: Input: default@web_sales
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+with ss as
+ (select ca_county,d_qoy, d_year,sum(ss_ext_sales_price) as store_sales
+ from store_sales,date_dim,customer_address
+ where ss_sold_date_sk = d_date_sk
+  and ss_addr_sk=ca_address_sk
+ group by ca_county,d_qoy, d_year),
+ ws as
+ (select ca_county,d_qoy, d_year,sum(ws_ext_sales_price) as web_sales
+ from web_sales,date_dim,customer_address
+ where ws_sold_date_sk = d_date_sk
+  and ws_bill_addr_sk=ca_address_sk
+ group by ca_county,d_qoy, d_year)
+ select /* tt */
+        ss1.ca_county
+       ,ss1.d_year
+       ,ws2.web_sales/ws1.web_sales web_q1_q2_increase
+       ,ss2.store_sales/ss1.store_sales store_q1_q2_increase
+       ,ws3.web_sales/ws2.web_sales web_q2_q3_increase
+       ,ss3.store_sales/ss2.store_sales store_q2_q3_increase
+ from
+        ss ss1
+       ,ss ss2
+       ,ss ss3
+       ,ws ws1
+       ,ws ws2
+       ,ws ws3
+ where
+    ss1.d_qoy = 1
+    and ss1.d_year = 2000
+    and ss1.ca_county = ss2.ca_county
+    and ss2.d_qoy = 2
+    and ss2.d_year = 2000
+ and ss2.ca_county = ss3.ca_county
+    and ss3.d_qoy = 3
+    and ss3.d_year = 2000
+    and ss1.ca_county = ws1.ca_county
+    and ws1.d_qoy = 1
+    and ws1.d_year = 2000
+    and ws1.ca_county = ws2.ca_county
+    and ws2.d_qoy = 2
+    and ws2.d_year = 2000
+    and ws1.ca_county = ws3.ca_county
+    and ws3.d_qoy = 3
+    and ws3.d_year =2000
+    and case when ws1.web_sales > 0 then ws2.web_sales/ws1.web_sales else null end 
+       > case when ss1.store_sales > 0 then ss2.store_sales/ss1.store_sales else null end
+    and case when ws2.web_sales > 0 then ws3.web_sales/ws2.web_sales else null end
+       > case when ss2.store_sales > 0 then ss3.store_sales/ss2.store_sales else null end
+ order by ss1.d_year
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@customer_address
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@store_sales
+POSTHOOK: Input: default@web_sales
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
+Map 33 <- Reducer 13 (BROADCAST_EDGE)
+Map 34 <- Reducer 17 (BROADCAST_EDGE)
+Map 35 <- Reducer 23 (BROADCAST_EDGE)
+Map 36 <- Reducer 27 (BROADCAST_EDGE)
+Map 37 <- Reducer 31 (BROADCAST_EDGE)
+Reducer 10 <- Map 33 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Map 32 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 34 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 15 <- Map 32 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
+Reducer 17 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Map 35 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 19 <- Map 32 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
+Reducer 21 <- Reducer 20 (ONE_TO_ONE_EDGE), Reducer 26 (ONE_TO_ONE_EDGE)
+Reducer 22 <- Reducer 21 (ONE_TO_ONE_EDGE), Reducer 30 (ONE_TO_ONE_EDGE)
+Reducer 23 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 24 <- Map 36 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 25 <- Map 32 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Map 37 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 29 <- Map 32 (SIMPLE_EDGE), Reducer 28 (SIMPLE_EDGE)
+Reducer 3 <- Map 32 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Reducer 29 (SIMPLE_EDGE)
+Reducer 31 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 12 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
+Reducer 6 <- Reducer 16 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+Reducer 7 <- Reducer 22 (ONE_TO_ONE_EDGE), Reducer 6 (ONE_TO_ONE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 7
+      File Output Operator [FS_139]
+        Select Operator [SEL_138] (rows=110 width=550)
+          Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+          Filter Operator [FIL_136] (rows=110 width=786)
+            predicate:(CASE WHEN (_col2) THEN (CASE WHEN (_col15) THEN (((_col12 / _col14) > (_col7 / _col1))) ELSE ((null > (_col7 / _col1))) END) ELSE (CASE WHEN (_col15) THEN (((_col12 / _col14) > null)) ELSE (null) END) END and CASE WHEN (_col5) THEN (CASE WHEN (_col10) THEN (((_col14 / _col9) > (_col1 / _col4))) ELSE ((null > (_col1 / _col4))) END) ELSE (CASE WHEN (_col10) THEN (((_col14 / _col9) > null)) ELSE (null) END) END)
+            Merge Join Operator [MERGEJOIN_450] (rows=440 width=786)
+              Conds:RS_133._col0=RS_134._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col5","_col7","_col9","_col10","_col12","_col14","_col15"]
+            <-Reducer 22 [ONE_TO_ONE_EDGE]
+              FORWARD [RS_134]
+                PartitionCols:_col0
+                Merge Join Operator [MERGEJOIN_449] (rows=440 width=442)
+                  Conds:RS_123._col0=RS_540._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col6","_col7"]
+                <-Reducer 21 [ONE_TO_ONE_EDGE]
+                  FORWARD [RS_123]
+                    PartitionCols:_col0
+                    Merge Join Operator [MERGEJOIN_448] (rows=440 width=326)
+                      Conds:RS_525._col0=RS_532._col0(Inner),Output:["_col0","_col1","_col2","_col4"]
+                    <-Reducer 20 [ONE_TO_ONE_EDGE] vectorized
+                      FORWARD [RS_525]
+                        PartitionCols:_col0
+                        Select Operator [SEL_524] (rows=440 width=214)
+                          Output:["_col0","_col1","_col2"]
+                          Group By Operator [GBY_523] (rows=440 width=210)
+                            Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                          <-Reducer 19 [SIMPLE_EDGE]
+                            SHUFFLE [RS_77]
+                              PartitionCols:_col0
+                              Group By Operator [GBY_76] (rows=3960 width=210)
+                                Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                                Merge Join Operator [MERGEJOIN_441] (rows=10246882 width=209)
+                                  Conds:RS_72._col1=RS_497._col0(Inner),Output:["_col2","_col5"]
+                                <-Map 32 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_497]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_493] (rows=40000000 width=102)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_492] (rows=40000000 width=102)
+                                        predicate:ca_county is not null
+                                        TableScan [TS_6] (rows=40000000 width=102)
+                                          default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county"]
+                                <-Reducer 18 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_72]
+                                    PartitionCols:_col1
+                                    Merge Join Operator [MERGEJOIN_440] (rows=10246882 width=115)
+                                      Conds:RS_522._col0=RS_469._col0(Inner),Output:["_col1","_col2"]
+                                    <-Map 8 [SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_SHUFFLE [RS_469]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_460] (rows=130 width=4)
+                                          Output:["_col0"]
+                                          Filter Operator [FIL_454] (rows=130 width=12)
+                                            predicate:((d_qoy = 1) and (d_year = 2000))
+                                            TableScan [TS_3] (rows=73049 width=12)
+                                              default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+                                    <-Map 35 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_522]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_521] (rows=143931246 width=119)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_520] (rows=143931246 width=119)
+                                            predicate:((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=119)
+                                              default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                            <-Reducer 23 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_519]
+                                                Group By Operator [GBY_518] (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_484]
+                                                    Group By Operator [GBY_478] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_470] (rows=130 width=4)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_460]
+                    <-Reducer 26 [ONE_TO_ONE_EDGE] vectorized
+                      FORWARD [RS_532]
+                        PartitionCols:_col0
+                        Group By Operator [GBY_531] (rows=440 width=210)
+                          Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                        <-Reducer 25 [SIMPLE_EDGE]
+                          SHUFFLE [RS_97]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_96] (rows=3960 width=210)
+                              Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                              Merge Join Operator [MERGEJOIN_443] (rows=10246882 width=209)
+                                Conds:RS_92._col1=RS_498._col0(Inner),Output:["_col2","_col5"]
+                              <-Map 32 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_498]
+                                  PartitionCols:_col0
+                                   Please refer to the previous Select Operator [SEL_493]
+                              <-Reducer 24 [SIMPLE_EDGE]
+                                SHUFFLE [RS_92]
+                                  PartitionCols:_col1
+                                  Merge Join Operator [MERGEJOIN_442] (rows=10246882 width=115)
+                                    Conds:RS_530._col0=RS_471._col0(Inner),Output:["_col1","_col2"]
+                                  <-Map 8 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_471]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_461] (rows=130 width=4)
+                                        Output:["_col0"]
+                                        Filter Operator [FIL_455] (rows=130 width=12)
+                                          predicate:((d_qoy = 3) and (d_year = 2000))
+                                           Please refer to the previous TableScan [TS_3]
+                                  <-Map 36 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_530]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_529] (rows=143931246 width=119)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_528] (rows=143931246 width=119)
+                                          predicate:((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=119)
+                                            default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                          <-Reducer 27 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_527]
+                                              Group By Operator [GBY_526] (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_485]
+                                                  Group By Operator [GBY_479] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_472] (rows=130 width=4)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_461]
+                <-Reducer 30 [ONE_TO_ONE_EDGE] vectorized
+                  FORWARD [RS_540]
+                    PartitionCols:_col0
+                    Select Operator [SEL_539] (rows=440 width=214)
+                      Output:["_col0","_col1","_col2"]
+                      Group By Operator [GBY_538] (rows=440 width=210)
+                        Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                      <-Reducer 29 [SIMPLE_EDGE]
+                        SHUFFLE [RS_117]
+                          PartitionCols:_col0
+                          Group By Operator [GBY_116] (rows=3960 width=210)
+                            Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                            Merge Join Operator [MERGEJOIN_445] (rows=10246882 width=209)
+                              Conds:RS_112._col1=RS_499._col0(Inner),Output:["_col2","_col5"]
+                            <-Map 32 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_499]
+                                PartitionCols:_col0
+                                 Please refer to the previous Select Operator [SEL_493]
+                            <-Reducer 28 [SIMPLE_EDGE]
+                              SHUFFLE [RS_112]
+                                PartitionCols:_col1
+                                Merge Join Operator [MERGEJOIN_444] (rows=10246882 width=115)
+                                  Conds:RS_537._col0=RS_473._col0(Inner),Output:["_col1","_col2"]
+                                <-Map 8 [SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_473]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_462] (rows=130 width=4)
+                                      Output:["_col0"]
+                                      Filter Operator [FIL_456] (rows=130 width=12)
+                                        predicate:((d_qoy = 2) and (d_year = 2000))
+                                         Please refer to the previous TableScan [TS_3]
+                                <-Map 37 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_537]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_536] (rows=143931246 width=119)
+                                      Output:["_col0","_col1","_col2"]
+                                      Filter Operator [FIL_535] (rows=143931246 width=119)
+                                        predicate:((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=119)
+                                          default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                        <-Reducer 31 [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 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                              PARTITION_ONLY_SHUFFLE [RS_486]
+                                                Group By Operator [GBY_480] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                  Select Operator [SEL_474] (rows=130 width=4)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_462]
+            <-Reducer 6 [ONE_TO_ONE_EDGE]
+              FORWARD [RS_133]
+                PartitionCols:_col0
+                Merge Join Operator [MERGEJOIN_447] (rows=1605 width=442)
+                  Conds:RS_130._col0=RS_517._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col5","_col7"]
+                <-Reducer 16 [ONE_TO_ONE_EDGE] vectorized
+                  FORWARD [RS_517]
+                    PartitionCols:_col0
+                    Group By Operator [GBY_516] (rows=1605 width=210)
+                      Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                    <-Reducer 15 [SIMPLE_EDGE]
+                      SHUFFLE [RS_57]
+                        PartitionCols:_col0
+                        Group By Operator [GBY_56] (rows=33705 width=210)
+                          Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                          Merge Join Operator [MERGEJOIN_439] (rows=37399561 width=139)
+                            Conds:RS_52._col1=RS_496._col0(Inner),Output:["_col2","_col5"]
+                          <-Map 32 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_496]
+                              PartitionCols:_col0
+                               Please refer to the previous Select Operator [SEL_493]
+                          <-Reducer 14 [SIMPLE_EDGE]
+                            SHUFFLE [RS_52]
+                              PartitionCols:_col1
+                              Merge Join Operator [MERGEJOIN_438] (rows=37399561 width=42)
+                                Conds:RS_515._col0=RS_467._col0(Inner),Output:["_col1","_col2"]
+                              <-Map 8 [SIMPLE_EDGE] vectorized
+                                PARTITION_ONLY_SHUFFLE [RS_467]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_459] (rows=130 width=4)
+                                    Output:["_col0"]
+                                    Filter Operator [FIL_453] (rows=130 width=12)
+                                      predicate:((d_qoy = 3) and (d_year = 2000))
+                                       Please refer to the previous TableScan [TS_3]
+                              <-Map 34 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_515]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_514] (rows=525327191 width=114)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_513] (rows=525327191 width=114)
+                                      predicate:((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=114)
+                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                      <-Reducer 17 [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 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_483]
+                                              Group By Operator [GBY_477] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_468] (rows=130 width=4)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_459]
+                <-Reducer 5 [ONE_TO_ONE_EDGE]
+                  FORWARD [RS_130]
+                    PartitionCols:_col0
+                    Merge Join Operator [MERGEJOIN_446] (rows=1605 width=330)
+                      Conds:RS_502._col0=RS_510._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col5"]
+                    <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
+                      FORWARD [RS_510]
+                        PartitionCols:_col0
+                        Select Operator [SEL_509] (rows=1605 width=214)
+                          Output:["_col0","_col1","_col2"]
+                          Group By Operator [GBY_508] (rows=1605 width=210)
+                            Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                          <-Reducer 11 [SIMPLE_EDGE]
+                            SHUFFLE [RS_37]
+                              PartitionCols:_col0
+                              Group By Operator [GBY_36] (rows=33705 width=210)
+                                Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                                Merge Join Operator [MERGEJOIN_437] (rows=37399561 width=139)
+                                  Conds:RS_32._col1=RS_495._col0(Inner),Output:["_col2","_col5"]
+                                <-Map 32 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_495]
+                                    PartitionCols:_col0
+                                     Please refer to the previous Select Operator [SEL_493]
+                                <-Reducer 10 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_32]
+                                    PartitionCols:_col1
+                                    Merge Join Operator [MERGEJOIN_436] (rows=37399561 width=42)
+                                      Conds:RS_507._col0=RS_465._col0(Inner),Output:["_col1","_col2"]
+                                    <-Map 8 [SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_SHUFFLE [RS_465]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_458] (rows=130 width=4)
+                                          Output:["_col0"]
+                                          Filter Operator [FIL_452] (rows=130 width=12)
+                                            predicate:((d_qoy = 1) and (d_year = 2000))
+                                             Please refer to the previous TableScan [TS_3]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_507]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_506] (rows=525327191 width=114)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_505] (rows=525327191 width=114)
+                                            predicate:((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=114)
+                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                            <-Reducer 13 [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 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_482]
+                                                    Group By Operator [GBY_476] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_466] (rows=130 width=4)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_458]
+                    <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
+                      FORWARD [RS_502]
+                        PartitionCols:_col0
+                        Select Operator [SEL_501] (rows=1605 width=214)
+                          Output:["_col0","_col1","_col2"]
+                          Group By Operator [GBY_500] (rows=1605 width=210)
+                            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=33705 width=210)
+                                Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                                Merge Join Operator [MERGEJOIN_435] (rows=37399561 width=139)
+                                  Conds:RS_12._col1=RS_494._col0(Inner),Output:["_col2","_col5"]
+                                <-Map 32 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_494]
+                                    PartitionCols:_col0
+                                     Please refer to the previous Select Operator [SEL_493]
+                                <-Reducer 2 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_12]
+                                    PartitionCols:_col1
+                                    Merge Join Operator [MERGEJOIN_434] (rows=37399561 width=42)
+                                      Conds:RS_491._col0=RS_463._col0(Inner),Output:["_col1","_col2"]
+                                    <-Map 8 [SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_SHUFFLE [RS_463]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_457] (rows=130 width=4)
+                                          Output:["_col0"]
+                                          Filter Operator [FIL_451] (rows=130 width=12)
+                                            predicate:((d_qoy = 2) and (d_year = 2000))
+                                             Please refer to the previous TableScan [TS_3]
+                                    <-Map 1 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_491]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_490] (rows=525327191 width=114)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_489] (rows=525327191 width=114)
+                                            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_addr_sk is not null and ss_sold_date_sk is not null)
+                                            TableScan [TS_0] (rows=575995635 width=114)
+                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                            <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_488]
+                                                Group By Operator [GBY_487] (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_481]
+                                                    Group By Operator [GBY_475] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_464] (rows=130 width=4)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_457]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out
new file mode 100644
index 0000000..d909c02
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out
@@ -0,0 +1,210 @@
+PREHOOK: query: explain
+select  sum(cs_ext_discount_amt)  as `excess discount amount` 
+from 
+   catalog_sales 
+   ,item 
+   ,date_dim
+where
+i_manufact_id = 269
+and i_item_sk = cs_item_sk 
+and d_date between '1998-03-18' and 
+        (cast('1998-03-18' as date) + 90 days)
+and d_date_sk = cs_sold_date_sk 
+and cs_ext_discount_amt  
+     > ( 
+         select 
+            1.3 * avg(cs_ext_discount_amt) 
+         from 
+            catalog_sales 
+           ,date_dim
+         where 
+              cs_item_sk = i_item_sk 
+          and d_date between '1998-03-18' and
+                             (cast('1998-03-18' as date) + 90 days)
+          and d_date_sk = cs_sold_date_sk 
+      ) 
+limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@catalog_sales
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@item
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+select  sum(cs_ext_discount_amt)  as `excess discount amount` 
+from 
+   catalog_sales 
+   ,item 
+   ,date_dim
+where
+i_manufact_id = 269
+and i_item_sk = cs_item_sk 
+and d_date between '1998-03-18' and 
+        (cast('1998-03-18' as date) + 90 days)
+and d_date_sk = cs_sold_date_sk 
+and cs_ext_discount_amt  
+     > ( 
+         select 
+            1.3 * avg(cs_ext_discount_amt) 
+         from 
+            catalog_sales 
+           ,date_dim
+         where 
+              cs_item_sk = i_item_sk 
+          and d_date between '1998-03-18' and
+                             (cast('1998-03-18' as date) + 90 days)
+          and d_date_sk = cs_sold_date_sk 
+      ) 
+limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@catalog_sales
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@item
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Map 1 <- Reducer 14 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
+Map 12 <- Reducer 11 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 5 (BROADCAST_EDGE)
+Reducer 10 <- Map 13 (SIMPLE_EDGE), Reducer 9 (ONE_TO_ONE_EDGE)
+Reducer 11 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 10 (ONE_TO_ONE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
+Reducer 5 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 8 <- Map 12 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 4 vectorized
+      File Output Operator [FS_141]
+        Limit [LIM_140] (rows=1 width=112)
+          Number of rows:100
+          Group By Operator [GBY_139] (rows=1 width=112)
+            Output:["_col0"],aggregations:["sum(VALUE._col0)"]
+          <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
+            PARTITION_ONLY_SHUFFLE [RS_36]
+              Group By Operator [GBY_35] (rows=1 width=112)
+                Output:["_col0"],aggregations:["sum(_col2)"]
+                Select Operator [SEL_34] (rows=2478 width=112)
+                  Output:["_col2"]
+                  Filter Operator [FIL_33] (rows=2478 width=112)
+                    predicate:(_col2 > _col5)
+                    Merge Join Operator [MERGEJOIN_104] (rows=7434 width=112)
+                      Conds:RS_30._col1=RS_31._col2(Inner),Output:["_col2","_col5"]
+                    <-Reducer 2 [SIMPLE_EDGE]
+                      PARTITION_ONLY_SHUFFLE [RS_30]
+                        PartitionCols:_col1
+                        Merge Join Operator [MERGEJOIN_101] (rows=31836679 width=110)
+                          Conds:RS_128._col0=RS_107._col0(Inner),Output:["_col1","_col2"]
+                        <-Map 6 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_107]
+                            PartitionCols:_col0
+                            Select Operator [SEL_106] (rows=8116 width=4)
+                              Output:["_col0"]
+                              Filter Operator [FIL_105] (rows=8116 width=98)
+                                predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-18 00:00:00' AND TIMESTAMP'1998-06-16 00:00:00'
+                                TableScan [TS_3] (rows=73049 width=98)
+                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+                        <-Map 1 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_128]
+                            PartitionCols:_col0
+                            Select Operator [SEL_127] (rows=286549727 width=119)
+                              Output:["_col0","_col1","_col2"]
+                              Filter Operator [FIL_126] (rows=286549727 width=119)
+                                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_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_sold_date_sk is not null)
+                                TableScan [TS_0] (rows=287989836 width=119)
+                                  default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"]
+                                <-Reducer 14 [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 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                                      PARTITION_ONLY_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=669 width=4)
+                                            Output:["_col0"]
+                                            Select Operator [SEL_118] (rows=669 width=4)
+                                              Output:["_col0"]
+                                              Filter Operator [FIL_117] (rows=669 width=7)
+                                                predicate:(i_manufact_id = 269)
+                                                TableScan [TS_20] (rows=462000 width=7)
+                                                  default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_manufact_id"]
+                                <-Reducer 7 [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 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_113]
+                                        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_108] (rows=8116 width=4)
+                                            Output:["_col0"]
+                                             Please refer to the previous Select Operator [SEL_106]
+                    <-Reducer 10 [ONE_TO_ONE_EDGE]
+                      FORWARD [RS_31]
+                        PartitionCols:_col2
+                        Merge Join Operator [MERGEJOIN_103] (rows=97 width=116)
+                          Conds:RS_138._col0=RS_119._col0(Inner),Output:["_col1","_col2"]
+                        <-Map 13 [SIMPLE_EDGE] vectorized
+                          PARTITION_ONLY_SHUFFLE [RS_119]
+                            PartitionCols:_col0
+                             Please refer to the previous Select Operator [SEL_118]
+                        <-Reducer 9 [ONE_TO_ONE_EDGE] vectorized
+                          FORWARD [RS_138]
+                            PartitionCols:_col0
+                            Select Operator [SEL_137] (rows=6951 width=116)
+                              Output:["_col0","_col1"]
+                              Group By Operator [GBY_136] (rows=6951 width=124)
+                                Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
+                              <-Reducer 8 [SIMPLE_EDGE]
+                                SHUFFLE [RS_17]
+                                  PartitionCols:_col0
+                                  Group By Operator [GBY_16] (rows=97314 width=124)
+                                    Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1
+                                    Merge Join Operator [MERGEJOIN_102] (rows=31836679 width=110)
+                                      Conds:RS_135._col0=RS_109._col0(Inner),Output:["_col1","_col2"]
+                                    <-Map 6 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_109]
+                                        PartitionCols:_col0
+                                         Please refer to the previous Select Operator [SEL_106]
+                                    <-Map 12 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_135]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_134] (rows=286549727 width=119)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_133] (rows=286549727 width=119)
+                                            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_item_sk BETWEEN DynamicValue(RS_30_catalog_sales_cs_item_sk_min) AND DynamicValue(RS_30_catalog_sales_cs_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_30_catalog_sales_cs_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_sold_date_sk is not null)
+                                            TableScan [TS_6] (rows=287989836 width=119)
+                                              default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_discount_amt"]
+                                            <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_125]
+                                                 Please refer to the previous Group By Operator [GBY_123]
+                                            <-Reducer 11 [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 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_114]
+                                                    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_110] (rows=8116 width=4)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_106]
+                                            <-Reducer 5 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_132]
+                                                Group By Operator [GBY_131] (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_91]
+                                                    Group By Operator [GBY_90] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_89] (rows=31836679 width=8)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Merge Join Operator [MERGEJOIN_101]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query33.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query33.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query33.q.out
new file mode 100644
index 0000000..c82c415
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query33.q.out
@@ -0,0 +1,450 @@
+PREHOOK: query: explain
+with ss as (
+ select
+          i_manufact_id,sum(ss_ext_sales_price) total_sales
+ from
+ 	store_sales,
+ 	date_dim,
+         customer_address,
+         item
+ where
+         i_manufact_id in (select
+  i_manufact_id
+from
+ item
+where i_category in ('Books'))
+ and     ss_item_sk              = i_item_sk
+ and     ss_sold_date_sk         = d_date_sk
+ and     d_year                  = 1999
+ and     d_moy                   = 3
+ and     ss_addr_sk              = ca_address_sk
+ and     ca_gmt_offset           = -6 
+ group by i_manufact_id),
+ cs as (
+ select
+          i_manufact_id,sum(cs_ext_sales_price) total_sales
+ from
+ 	catalog_sales,
+ 	date_dim,
+         customer_address,
+         item
+ where
+         i_manufact_id               in (select
+  i_manufact_id
+from
+ item
+where i_category in ('Books'))
+ and     cs_item_sk              = i_item_sk
+ and     cs_sold_date_sk         = d_date_sk
+ and     d_year                  = 1999
+ and     d_moy                   = 3
+ and     cs_bill_addr_sk         = ca_address_sk
+ and     ca_gmt_offset           = -6 
+ group by i_manufact_id),
+ ws as (
+ select
+          i_manufact_id,sum(ws_ext_sales_price) total_sales
+ from
+ 	web_sales,
+ 	date_dim,
+         customer_address,
+         item
+ where
+         i_manufact_id               in (select
+  i_manufact_id
+from
+ item
+where i_category in ('Books'))
+ and     ws_item_sk              = i_item_sk
+ and     ws_sold_date_sk         = d_date_sk
+ and     d_year                  = 1999
+ and     d_moy                   = 3
+ and     ws_bill_addr_sk         = ca_address_sk
+ and     ca_gmt_offset           = -6
+ group by i_manufact_id)
+  select  i_manufact_id ,sum(total_sales) total_sales
+ from  (select * from ss 
+        union all
+        select * from cs 
+        union all
+        select * from ws) tmp1
+ group by i_manufact_id
+ order by total_sales
+limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@catalog_sales
+PREHOOK: Input: default@customer_address
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@item
+PREHOOK: Input: default@store_sales
+PREHOOK: Input: default@web_sales
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+with ss as (
+ select
+          i_manufact_id,sum(ss_ext_sales_price) total_sales
+ from
+ 	store_sales,
+ 	date_dim,
+         customer_address,
+         item
+ where
+         i_manufact_id in (select
+  i_manufact_id
+from
+ item
+where i_category in ('Books'))
+ and     ss_item_sk              = i_item_sk
+ and     ss_sold_date_sk         = d_date_sk
+ and     d_year                  = 1999
+ and     d_moy                   = 3
+ and     ss_addr_sk              = ca_address_sk
+ and     ca_gmt_offset           = -6 
+ group by i_manufact_id),
+ cs as (
+ select
+          i_manufact_id,sum(cs_ext_sales_price) total_sales
+ from
+ 	catalog_sales,
+ 	date_dim,
+         customer_address,
+         item
+ where
+         i_manufact_id               in (select
+  i_manufact_id
+from
+ item
+where i_category in ('Books'))
+ and     cs_item_sk              = i_item_sk
+ and     cs_sold_date_sk         = d_date_sk
+ and     d_year                  = 1999
+ and     d_moy                   = 3
+ and     cs_bill_addr_sk         = ca_address_sk
+ and     ca_gmt_offset           = -6 
+ group by i_manufact_id),
+ ws as (
+ select
+          i_manufact_id,sum(ws_ext_sales_price) total_sales
+ from
+ 	web_sales,
+ 	date_dim,
+         customer_address,
+         item
+ where
+         i_manufact_id               in (select
+  i_manufact_id
+from
+ item
+where i_category in ('Books'))
+ and     ws_item_sk              = i_item_sk
+ and     ws_sold_date_sk         = d_date_sk
+ and     d_year                  = 1999
+ and     d_moy                   = 3
+ and     ws_bill_addr_sk         = ca_address_sk
+ and     ca_gmt_offset           = -6
+ group by i_manufact_id)
+  select  i_manufact_id ,sum(total_sales) total_sales
+ from  (select * from ss 
+        union all
+        select * from cs 
+        union all
+        select * from ws) tmp1
+ group by i_manufact_id
+ order by total_sales
+limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@catalog_sales
+POSTHOOK: Input: default@customer_address
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@item
+POSTHOOK: Input: default@store_sales
+POSTHOOK: Input: default@web_sales
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Map 14 <- Reducer 18 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE)
+Map 29 <- Reducer 21 (BROADCAST_EDGE), Reducer 27 (BROADCAST_EDGE)
+Map 30 <- Reducer 24 (BROADCAST_EDGE), Reducer 28 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 2 (SIMPLE_EDGE), Reducer 23 (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 25 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
+Reducer 18 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 17 (SIMPLE_EDGE), Map 29 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 13 (ONE_TO_ONE_EDGE)
+Reducer 20 <- Map 25 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 21 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 22 <- Map 17 (SIMPLE_EDGE), Map 30 (SIMPLE_EDGE)
+Reducer 23 <- Map 25 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Map 17 (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 3 <- Reducer 16 (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 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 2 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE), Union 5 (CONTAINS)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 7 vectorized
+      File Output Operator [FS_372]
+        Limit [LIM_371] (rows=59 width=115)
+          Number of rows:100
+          Select Operator [SEL_370] (rows=59 width=115)
+            Output:["_col0","_col1"]
+          <-Reducer 6 [SIMPLE_EDGE] vectorized
+            SHUFFLE [RS_369]
+              Group By Operator [GBY_368] (rows=59 width=115)
+                Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+              <-Union 5 [SIMPLE_EDGE]
+                <-Reducer 11 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_392]
+                    PartitionCols:_col0
+                    Group By Operator [GBY_391] (rows=59 width=115)
+                      Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
+                      Group By Operator [GBY_390] (rows=19 width=115)
+                        Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                      <-Reducer 10 [SIMPLE_EDGE]
+                        SHUFFLE [RS_109]
+                          PartitionCols:_col0
+                          Group By Operator [GBY_108] (rows=19 width=115)
+                            Output:["_col0","_col1"],aggregations:["sum(_col7)"],keys:_col1
+                            Merge Join Operator [MERGEJOIN_308] (rows=11364 width=3)
+                              Conds:RS_104._col0=RS_105._col2(Inner),Output:["_col1","_col7"]
+                            <-Reducer 2 [SIMPLE_EDGE]
+                              SHUFFLE [RS_104]
+                                PartitionCols:_col0
+                                Merge Join Operator [MERGEJOIN_297] (rows=461514 width=7)
+                                  Conds:RS_323._col1=RS_329._col0(Inner),Output:["_col0","_col1"]
+                                <-Map 1 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_323]
+                                    PartitionCols:_col1
+                                    Select Operator [SEL_322] (rows=460848 width=7)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_321] (rows=460848 width=7)
+                                        predicate:i_manufact_id is not null
+                                        TableScan [TS_0] (rows=462000 width=7)
+                                          default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_manufact_id"]
+                                <-Reducer 13 [ONE_TO_ONE_EDGE] vectorized
+                                  FORWARD [RS_329]
+                                    PartitionCols:_col0
+                                    Group By Operator [GBY_328] (rows=692 width=3)
+                                      Output:["_col0"],keys:KEY._col0
+                                    <-Map 12 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_327]
+                                        PartitionCols:_col0
+                                        Group By Operator [GBY_326] (rows=692 width=3)
+                                          Output:["_col0"],keys:i_manufact_id
+                                          Select Operator [SEL_325] (rows=46085 width=93)
+                                            Output:["i_manufact_id"]
+                                            Filter Operator [FIL_324] (rows=46085 width=93)
+                                              predicate:((i_category = 'Books') and i_manufact_id is not null)
+                                              TableScan [TS_3] (rows=462000 width=93)
+                                                default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_category","i_manufact_id"]
+                            <-Reducer 23 [SIMPLE_EDGE]
+                              SHUFFLE [RS_105]
+                                PartitionCols:_col2
+                                Select Operator [SEL_100] (rows=788222 width=110)
+                                  Output:["_col2","_col4"]
+                                  Merge Join Operator [MERGEJOIN_305] (rows=788222 width=110)
+                                    Conds:RS_97._col2=RS_352._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 25 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_352]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_347] (rows=8000000 width=4)
+                                        Output:["_col0"]
+                                        Filter Operator [FIL_346] (rows=8000000 width=112)
+                                          predicate:(ca_gmt_offset = -6)
+                                          TableScan [TS_16] (rows=40000000 width=112)
+                                            default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_gmt_offset"]
+                                  <-Reducer 22 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_97]
+                                      PartitionCols:_col2
+                                      Merge Join Operator [MERGEJOIN_304] (rows=3941109 width=118)
+                                        Conds:RS_389._col0=RS_336._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_336]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_331] (rows=50 width=4)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_330] (rows=50 width=12)
+                                              predicate:((d_moy = 3) and (d_year = 1999))
+                                              TableScan [TS_13] (rows=73049 width=12)
+                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
+                                      <-Map 30 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_389]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_388] (rows=143931246 width=123)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_387] (rows=143931246 width=123)
+                                              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_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_sold_date_sk is not null)
+                                              TableScan [TS_85] (rows=144002668 width=123)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                              <-Reducer 24 [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 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_343]
+                                                      Group By Operator [GBY_340] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_337] (rows=50 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_331]
+                                              <-Reducer 28 [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=8000000)"]
+                                                  <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_359]
+                                                      Group By Operator [GBY_356] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=8000000)"]
+                                                        Select Operator [SEL_353] (rows=8000000 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_347]
+                <-Reducer 4 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_367]
+                    PartitionCols:_col0
+                    Group By Operator [GBY_366] (rows=59 width=115)
+                      Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
+                      Group By Operator [GBY_365] (rows=64 width=115)
+                        Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                      <-Reducer 3 [SIMPLE_EDGE]
+                        SHUFFLE [RS_34]
+                          PartitionCols:_col0
+                          Group By Operator [GBY_33] (rows=64 width=115)
+                            Output:["_col0","_col1"],aggregations:["sum(_col7)"],keys:_col1
+                            Merge Join Operator [MERGEJOIN_306] (rows=41476 width=3)
+                              Conds:RS_29._col0=RS_30._col2(Inner),Output:["_col1","_col7"]
+                            <-Reducer 2 [SIMPLE_EDGE]
+                              SHUFFLE [RS_29]
+                                PartitionCols:_col0
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_297]
+                            <-Reducer 16 [SIMPLE_EDGE]
+                              SHUFFLE [RS_30]
+                                PartitionCols:_col2
+                                Select Operator [SEL_25] (rows=2876890 width=4)
+                                  Output:["_col2","_col4"]
+                                  Merge Join Operator [MERGEJOIN_299] (rows=2876890 width=4)
+                                    Conds:RS_22._col2=RS_348._col0(Inner),Output:["_col1","_col3"]
+                                  <-Map 25 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_348]
+                                      PartitionCols:_col0
+                                       Please refer to the previous Select Operator [SEL_347]
+                                  <-Reducer 15 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_22]
+                                      PartitionCols:_col2
+                                      Merge Join Operator [MERGEJOIN_298] (rows=14384447 width=4)
+                                        Conds:RS_364._col0=RS_332._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_332]
+                                          PartitionCols:_col0
+                                           Please refer to the previous Select Operator [SEL_331]
+                                      <-Map 14 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_364]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_363] (rows=525327191 width=118)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_362] (rows=525327191 width=118)
+                                              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_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_sold_date_sk is not null)
+                                              TableScan [TS_10] (rows=575995635 width=118)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_addr_sk","ss_ext_sales_price"]
+                                              <-Reducer 18 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_345]
+                                                  Group By Operator [GBY_344] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_341]
+                                                      Group By Operator [GBY_338] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_333] (rows=50 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_331]
+                                              <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_361]
+                                                  Group By Operator [GBY_360] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=8000000)"]
+                                                  <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_357]
+                                                      Group By Operator [GBY_354] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=8000000)"]
+                                                        Select Operator [SEL_349] (rows=8000000 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_347]
+                <-Reducer 9 [CONTAINS] vectorized
+                  Reduce Output Operator [RS_382]
+                    PartitionCols:_col0
+                    Group By Operator [GBY_381] (rows=59 width=115)
+                      Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
+                      Group By Operator [GBY_380] (rows=35 width=115)
+                        Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                      <-Reducer 8 [SIMPLE_EDGE]
+                        SHUFFLE [RS_71]
+                          PartitionCols:_col0
+                          Group By Operator [GBY_70] (rows=35 width=115)
+                            Output:["_col0","_col1"],aggregations:["sum(_col7)"],keys:_col1
+                            Merge Join Operator [MERGEJOIN_307] (rows=22352 width=3)
+                              Conds:RS_66._col0=RS_67._col3(Inner),Output:["_col1","_col7"]
+                            <-Reducer 2 [SIMPLE_EDGE]
+                              SHUFFLE [RS_66]
+                                PartitionCols:_col0
+                                 Please refer to the previous Merge Join Operator [MERGEJOIN_297]
+                            <-Reducer 20 [SIMPLE_EDGE]
+                              SHUFFLE [RS_67]
+                                PartitionCols:_col3
+                                Select Operator [SEL_62] (rows=1550375 width=13)
+                                  Output:["_col3","_col4"]
+                                  Merge Join Operator [MERGEJOIN_302] (rows=1550375 width=13)
+                                    Conds:RS_59._col1=RS_350._col0(Inner),Output:["_col2","_col3"]
+                                  <-Map 25 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_350]
+                                      PartitionCols:_col0
+                                       Please refer to the previous Select Operator [SEL_347]
+                                  <-Reducer 19 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_59]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_301] (rows=7751872 width=98)
+                                        Conds:RS_379._col0=RS_334._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 17 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_334]
+                                          PartitionCols:_col0
+                                           Please refer to the previous Select Operator [SEL_331]
+                                      <-Map 29 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_379]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_378] (rows=285117733 width=123)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_377] (rows=285117733 width=123)
+                                              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_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_sold_date_sk is not null)
+                                              TableScan [TS_47] (rows=287989836 width=123)
+                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_addr_sk","cs_item_sk","cs_ext_sales_price"]
+                                              <-Reducer 21 [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=1000000)"]
+                                                  <-Map 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_342]
+                                                      Group By Operator [GBY_339] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_335] (rows=50 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_331]
+                                              <-Reducer 27 [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=8000000)"]
+                                                  <-Map 25 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_358]
+                                                      Group By Operator [GBY_355] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=8000000)"]
+                                                        Select Operator [SEL_351] (rows=8000000 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_347]
+