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:33 UTC

[23/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/query2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query2.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query2.q.out
new file mode 100644
index 0000000..baa714b
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query2.q.out
@@ -0,0 +1,228 @@
+PREHOOK: query: explain
+with wscs as
+ (select sold_date_sk
+        ,sales_price
+  from (select ws_sold_date_sk sold_date_sk
+              ,ws_ext_sales_price sales_price
+        from web_sales) x
+        union all
+       (select cs_sold_date_sk sold_date_sk
+              ,cs_ext_sales_price sales_price
+        from catalog_sales)),
+ wswscs as 
+ (select d_week_seq,
+        sum(case when (d_day_name='Sunday') then sales_price else null end) sun_sales,
+        sum(case when (d_day_name='Monday') then sales_price else null end) mon_sales,
+        sum(case when (d_day_name='Tuesday') then sales_price else  null end) tue_sales,
+        sum(case when (d_day_name='Wednesday') then sales_price else null end) wed_sales,
+        sum(case when (d_day_name='Thursday') then sales_price else null end) thu_sales,
+        sum(case when (d_day_name='Friday') then sales_price else null end) fri_sales,
+        sum(case when (d_day_name='Saturday') then sales_price else null end) sat_sales
+ from wscs
+     ,date_dim
+ where d_date_sk = sold_date_sk
+ group by d_week_seq)
+ select d_week_seq1
+       ,round(sun_sales1/sun_sales2,2)
+       ,round(mon_sales1/mon_sales2,2)
+       ,round(tue_sales1/tue_sales2,2)
+       ,round(wed_sales1/wed_sales2,2)
+       ,round(thu_sales1/thu_sales2,2)
+       ,round(fri_sales1/fri_sales2,2)
+       ,round(sat_sales1/sat_sales2,2)
+ from
+ (select wswscs.d_week_seq d_week_seq1
+        ,sun_sales sun_sales1
+        ,mon_sales mon_sales1
+        ,tue_sales tue_sales1
+        ,wed_sales wed_sales1
+        ,thu_sales thu_sales1
+        ,fri_sales fri_sales1
+        ,sat_sales sat_sales1
+  from wswscs,date_dim 
+  where date_dim.d_week_seq = wswscs.d_week_seq and
+        d_year = 2001) y,
+ (select wswscs.d_week_seq d_week_seq2
+        ,sun_sales sun_sales2
+        ,mon_sales mon_sales2
+        ,tue_sales tue_sales2
+        ,wed_sales wed_sales2
+        ,thu_sales thu_sales2
+        ,fri_sales fri_sales2
+        ,sat_sales sat_sales2
+  from wswscs
+      ,date_dim 
+  where date_dim.d_week_seq = wswscs.d_week_seq and
+        d_year = 2001+1) z
+ where d_week_seq1=d_week_seq2-53
+ order by d_week_seq1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@catalog_sales
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@web_sales
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+with wscs as
+ (select sold_date_sk
+        ,sales_price
+  from (select ws_sold_date_sk sold_date_sk
+              ,ws_ext_sales_price sales_price
+        from web_sales) x
+        union all
+       (select cs_sold_date_sk sold_date_sk
+              ,cs_ext_sales_price sales_price
+        from catalog_sales)),
+ wswscs as 
+ (select d_week_seq,
+        sum(case when (d_day_name='Sunday') then sales_price else null end) sun_sales,
+        sum(case when (d_day_name='Monday') then sales_price else null end) mon_sales,
+        sum(case when (d_day_name='Tuesday') then sales_price else  null end) tue_sales,
+        sum(case when (d_day_name='Wednesday') then sales_price else null end) wed_sales,
+        sum(case when (d_day_name='Thursday') then sales_price else null end) thu_sales,
+        sum(case when (d_day_name='Friday') then sales_price else null end) fri_sales,
+        sum(case when (d_day_name='Saturday') then sales_price else null end) sat_sales
+ from wscs
+     ,date_dim
+ where d_date_sk = sold_date_sk
+ group by d_week_seq)
+ select d_week_seq1
+       ,round(sun_sales1/sun_sales2,2)
+       ,round(mon_sales1/mon_sales2,2)
+       ,round(tue_sales1/tue_sales2,2)
+       ,round(wed_sales1/wed_sales2,2)
+       ,round(thu_sales1/thu_sales2,2)
+       ,round(fri_sales1/fri_sales2,2)
+       ,round(sat_sales1/sat_sales2,2)
+ from
+ (select wswscs.d_week_seq d_week_seq1
+        ,sun_sales sun_sales1
+        ,mon_sales mon_sales1
+        ,tue_sales tue_sales1
+        ,wed_sales wed_sales1
+        ,thu_sales thu_sales1
+        ,fri_sales fri_sales1
+        ,sat_sales sat_sales1
+  from wswscs,date_dim 
+  where date_dim.d_week_seq = wswscs.d_week_seq and
+        d_year = 2001) y,
+ (select wswscs.d_week_seq d_week_seq2
+        ,sun_sales sun_sales2
+        ,mon_sales mon_sales2
+        ,tue_sales tue_sales2
+        ,wed_sales wed_sales2
+        ,thu_sales thu_sales2
+        ,fri_sales fri_sales2
+        ,sat_sales sat_sales2
+  from wswscs
+      ,date_dim 
+  where date_dim.d_week_seq = wswscs.d_week_seq and
+        d_year = 2001+1) z
+ where d_week_seq1=d_week_seq2-53
+ order by d_week_seq1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@catalog_sales
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@web_sales
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+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)
+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 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_173]
+        Select Operator [SEL_172] (rows=12881 width=788)
+          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+        <-Reducer 6 [SIMPLE_EDGE]
+          SHUFFLE [RS_57]
+            Select Operator [SEL_56] (rows=12881 width=788)
+              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+              Merge Join Operator [MERGEJOIN_146] (rows=12881 width=1572)
+                Conds:RS_53._col0=RS_54._col7(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_53]
+                  PartitionCols:_col0
+                  Merge Join Operator [MERGEJOIN_143] (rows=652 width=788)
+                    Conds:RS_164._col0=RS_170._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                  <-Map 11 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_170]
+                      PartitionCols:_col0
+                      Select Operator [SEL_168] (rows=652 width=4)
+                        Output:["_col0"]
+                        Filter Operator [FIL_166] (rows=652 width=8)
+                          predicate:((d_year = 2001) and d_week_seq is not null)
+                          TableScan [TS_20] (rows=73049 width=8)
+                            default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_week_seq","d_year"]
+                  <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
+                    FORWARD [RS_164]
+                      PartitionCols:_col0
+                      Group By Operator [GBY_163] (rows=13152 width=788)
+                        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=3182784 width=788)
+                            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=430516591 width=143)
+                              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                              Merge Join Operator [MERGEJOIN_142] (rows=430516591 width=143)
+                                Conds:Union 2._col0=RS_162._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
+                              <-Map 10 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_162]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_161] (rows=73049 width=36)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                                    Filter Operator [FIL_160] (rows=73049 width=99)
+                                      predicate:d_week_seq is not null
+                                      TableScan [TS_8] (rows=73049 width=99)
+                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_week_seq","d_day_name"]
+                              <-Union 2 [SIMPLE_EDGE]
+                                <-Map 1 [CONTAINS] vectorized
+                                  Reduce Output Operator [RS_159]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_158] (rows=143966864 width=115)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_157] (rows=143966864 width=115)
+                                        predicate:ws_sold_date_sk is not null
+                                        TableScan [TS_147] (rows=144002668 width=115)
+                                          Output:["ws_sold_date_sk","ws_ext_sales_price"]
+                                <-Map 9 [CONTAINS] vectorized
+                                  Reduce Output Operator [RS_176]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_175] (rows=286549727 width=115)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_174] (rows=286549727 width=115)
+                                        predicate:cs_sold_date_sk is not null
+                                        TableScan [TS_152] (rows=287989836 width=115)
+                                          Output:["cs_sold_date_sk","cs_ext_sales_price"]
+              <-Reducer 8 [SIMPLE_EDGE]
+                SHUFFLE [RS_54]
+                  PartitionCols:_col7
+                  Select Operator [SEL_49] (rows=652 width=788)
+                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                    Merge Join Operator [MERGEJOIN_145] (rows=652 width=788)
+                      Conds:RS_165._col0=RS_171._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                    <-Map 11 [SIMPLE_EDGE] vectorized
+                      SHUFFLE [RS_171]
+                        PartitionCols:_col0
+                        Select Operator [SEL_169] (rows=652 width=4)
+                          Output:["_col0"]
+                          Filter Operator [FIL_167] (rows=652 width=8)
+                            predicate:((d_year = 2002) and d_week_seq is not null)
+                             Please refer to the previous TableScan [TS_20]
+                    <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
+                      FORWARD [RS_165]
+                        PartitionCols:_col0
+                         Please refer to the previous Group By Operator [GBY_163]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query20.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query20.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query20.q.out
new file mode 100644
index 0000000..da3e262
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query20.q.out
@@ -0,0 +1,161 @@
+PREHOOK: query: explain
+select  i_item_desc 
+       ,i_category 
+       ,i_class 
+       ,i_current_price
+       ,sum(cs_ext_sales_price) as itemrevenue 
+       ,sum(cs_ext_sales_price)*100/sum(sum(cs_ext_sales_price)) over
+           (partition by i_class) as revenueratio
+ from	catalog_sales
+     ,item 
+     ,date_dim
+ where cs_item_sk = i_item_sk 
+   and i_category in ('Jewelry', 'Sports', 'Books')
+   and cs_sold_date_sk = d_date_sk
+ and d_date between cast('2001-01-12' as date) 
+ 				and (cast('2001-01-12' as date) + 30 days)
+ group by i_item_id
+         ,i_item_desc 
+         ,i_category
+         ,i_class
+         ,i_current_price
+ order by i_category
+         ,i_class
+         ,i_item_id
+         ,i_item_desc
+         ,revenueratio
+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  i_item_desc 
+       ,i_category 
+       ,i_class 
+       ,i_current_price
+       ,sum(cs_ext_sales_price) as itemrevenue 
+       ,sum(cs_ext_sales_price)*100/sum(sum(cs_ext_sales_price)) over
+           (partition by i_class) as revenueratio
+ from	catalog_sales
+     ,item 
+     ,date_dim
+ where cs_item_sk = i_item_sk 
+   and i_category in ('Jewelry', 'Sports', 'Books')
+   and cs_sold_date_sk = d_date_sk
+ and d_date between cast('2001-01-12' as date) 
+ 				and (cast('2001-01-12' as date) + 30 days)
+ group by i_item_id
+         ,i_item_desc 
+         ,i_category
+         ,i_class
+         ,i_current_price
+ order by i_category
+         ,i_class
+         ,i_item_id
+         ,i_item_desc
+         ,revenueratio
+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 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 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_86]
+        Limit [LIM_85] (rows=100 width=802)
+          Number of rows:100
+          Select Operator [SEL_84] (rows=138600 width=801)
+            Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+          <-Reducer 5 [SIMPLE_EDGE] vectorized
+            SHUFFLE [RS_83]
+              Select Operator [SEL_82] (rows=138600 width=801)
+                Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+                PTF Operator [PTF_81] (rows=138600 width=689)
+                  Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"_col1"}]
+                  Select Operator [SEL_80] (rows=138600 width=689)
+                    Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                  <-Reducer 4 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_79]
+                      PartitionCols:_col1
+                      Group By Operator [GBY_78] (rows=138600 width=689)
+                        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=138600 width=689)
+                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)"],keys:_col9, _col8, _col5, _col6, _col7
+                            Merge Join Operator [MERGEJOIN_58] (rows=9551005 width=673)
+                              Conds:RS_12._col1=RS_69._col0(Inner),Output:["_col2","_col5","_col6","_col7","_col8","_col9"]
+                            <-Map 9 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_69]
+                                PartitionCols:_col0
+                                Select Operator [SEL_68] (rows=138600 width=581)
+                                  Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                  Filter Operator [FIL_67] (rows=138600 width=581)
+                                    predicate:(i_category) IN ('Jewelry', 'Sports', 'Books')
+                                    TableScan [TS_6] (rows=462000 width=581)
+                                      default@item,item,Tbl:COMPLETE,Col:COMPLETE,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_57] (rows=31836679 width=110)
+                                  Conds:RS_77._col0=RS_61._col0(Inner),Output:["_col1","_col2"]
+                                <-Map 7 [SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_61]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_60] (rows=8116 width=4)
+                                      Output:["_col0"]
+                                      Filter Operator [FIL_59] (rows=8116 width=98)
+                                        predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2001-01-12 00:00:00' AND TIMESTAMP'2001-02-11 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_77]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_76] (rows=286549727 width=119)
+                                      Output:["_col0","_col1","_col2"]
+                                      Filter Operator [FIL_75] (rows=286549727 width=119)
+                                        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_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_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=138600 width=4)
+                                                    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=4)
+                                                    Output:["_col0"]
+                                                     Please refer to the previous Select Operator [SEL_60]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out
new file mode 100644
index 0000000..67fdc85
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out
@@ -0,0 +1,145 @@
+PREHOOK: query: explain
+select  *
+ from(select w_warehouse_name
+            ,i_item_id
+            ,sum(case when (cast(d_date as date) < cast ('1998-04-08' as date))
+	                then inv_quantity_on_hand 
+                      else 0 end) as inv_before
+            ,sum(case when (cast(d_date as date) >= cast ('1998-04-08' as date))
+                      then inv_quantity_on_hand 
+                      else 0 end) as inv_after
+   from inventory
+       ,warehouse
+       ,item
+       ,date_dim
+   where i_current_price between 0.99 and 1.49
+     and i_item_sk          = inv_item_sk
+     and inv_warehouse_sk   = w_warehouse_sk
+     and inv_date_sk    = d_date_sk
+     and d_date between (cast ('1998-04-08' as date) - 30 days)
+                    and (cast ('1998-04-08' as date) + 30 days)
+   group by w_warehouse_name, i_item_id) x
+ where (case when inv_before > 0 
+             then inv_after / inv_before 
+             else null
+             end) between 2.0/3.0 and 3.0/2.0
+ order by w_warehouse_name
+         ,i_item_id
+ limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@inventory
+PREHOOK: Input: default@item
+PREHOOK: Input: default@warehouse
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+select  *
+ from(select w_warehouse_name
+            ,i_item_id
+            ,sum(case when (cast(d_date as date) < cast ('1998-04-08' as date))
+	                then inv_quantity_on_hand 
+                      else 0 end) as inv_before
+            ,sum(case when (cast(d_date as date) >= cast ('1998-04-08' as date))
+                      then inv_quantity_on_hand 
+                      else 0 end) as inv_after
+   from inventory
+       ,warehouse
+       ,item
+       ,date_dim
+   where i_current_price between 0.99 and 1.49
+     and i_item_sk          = inv_item_sk
+     and inv_warehouse_sk   = w_warehouse_sk
+     and inv_date_sk    = d_date_sk
+     and d_date between (cast ('1998-04-08' as date) - 30 days)
+                    and (cast ('1998-04-08' as date) + 30 days)
+   group by w_warehouse_name, i_item_id) x
+ where (case when inv_before > 0 
+             then inv_after / inv_before 
+             else null
+             end) between 2.0/3.0 and 3.0/2.0
+ order by w_warehouse_name
+         ,i_item_id
+ limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@inventory
+POSTHOOK: Input: default@item
+POSTHOOK: Input: default@warehouse
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+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 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 6 vectorized
+      File Output Operator [FS_91]
+        Limit [LIM_90] (rows=100 width=216)
+          Number of rows:100
+          Select Operator [SEL_89] (rows=231983 width=216)
+            Output:["_col0","_col1","_col2","_col3"]
+          <-Reducer 5 [SIMPLE_EDGE] vectorized
+            SHUFFLE [RS_88]
+              Filter Operator [FIL_87] (rows=231983 width=216)
+                predicate:CASE WHEN ((_col2 > 0L)) THEN ((UDFToDouble(_col3) / UDFToDouble(_col2)) BETWEEN 0.666667D AND 1.5D) ELSE (null) END
+                Group By Operator [GBY_86] (rows=463966 width=216)
+                  Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1
+                <-Reducer 4 [SIMPLE_EDGE]
+                  SHUFFLE [RS_22]
+                    PartitionCols:_col0, _col1
+                    Group By Operator [GBY_21] (rows=463966 width=216)
+                      Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col2)","sum(_col3)"],keys:_col0, _col1
+                      Select Operator [SEL_19] (rows=463966 width=208)
+                        Output:["_col0","_col1","_col2","_col3"]
+                        Merge Join Operator [MERGEJOIN_75] (rows=463966 width=208)
+                          Conds:RS_16._col2=RS_85._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col10"]
+                        <-Map 9 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_85]
+                            PartitionCols:_col0
+                            Select Operator [SEL_84] (rows=27 width=104)
+                              Output:["_col0","_col1"]
+                              TableScan [TS_8] (rows=27 width=104)
+                                default@warehouse,warehouse,Tbl:COMPLETE,Col:COMPLETE,Output:["w_warehouse_sk","w_warehouse_name"]
+                        <-Reducer 3 [SIMPLE_EDGE]
+                          SHUFFLE [RS_16]
+                            PartitionCols:_col2
+                            Merge Join Operator [MERGEJOIN_74] (rows=463966 width=112)
+                              Conds:RS_13._col1=RS_83._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8"]
+                            <-Map 8 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_83]
+                                PartitionCols:_col0
+                                Select Operator [SEL_82] (rows=51333 width=104)
+                                  Output:["_col0","_col1"]
+                                  Filter Operator [FIL_81] (rows=51333 width=215)
+                                    predicate:i_current_price BETWEEN 0.99 AND 1.49
+                                    TableScan [TS_5] (rows=462000 width=215)
+                                      default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id","i_current_price"]
+                            <-Reducer 2 [SIMPLE_EDGE]
+                              SHUFFLE [RS_13]
+                                PartitionCols:_col1
+                                Merge Join Operator [MERGEJOIN_73] (rows=4175715 width=18)
+                                  Conds:RS_77._col0=RS_80._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
+                                <-Map 1 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_77]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_76] (rows=37584000 width=15)
+                                      Output:["_col0","_col1","_col2","_col3"]
+                                      TableScan [TS_0] (rows=37584000 width=15)
+                                        default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"]
+                                <-Map 7 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_80]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_79] (rows=8116 width=12)
+                                      Output:["_col0","_col1","_col2"]
+                                      Filter Operator [FIL_78] (rows=8116 width=98)
+                                        predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-09 00:00:00' AND TIMESTAMP'1998-05-08 00:00:00'
+                                        TableScan [TS_2] (rows=73049 width=98)
+                                          default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query22.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query22.q.out
new file mode 100644
index 0000000..cd3c0cc
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query22.q.out
@@ -0,0 +1,112 @@
+PREHOOK: query: explain
+select  i_product_name
+             ,i_brand
+             ,i_class
+             ,i_category
+             ,avg(inv_quantity_on_hand) qoh
+       from inventory
+           ,date_dim
+           ,item
+           ,warehouse
+       where inv_date_sk=d_date_sk
+              and inv_item_sk=i_item_sk
+              and inv_warehouse_sk = w_warehouse_sk
+              and d_month_seq between 1212 and 1212 + 11
+       group by rollup(i_product_name
+                       ,i_brand
+                       ,i_class
+                       ,i_category)
+order by qoh, i_product_name, i_brand, i_class, i_category
+limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@date_dim
+PREHOOK: Input: default@inventory
+PREHOOK: Input: default@item
+PREHOOK: Input: default@warehouse
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+select  i_product_name
+             ,i_brand
+             ,i_class
+             ,i_category
+             ,avg(inv_quantity_on_hand) qoh
+       from inventory
+           ,date_dim
+           ,item
+           ,warehouse
+       where inv_date_sk=d_date_sk
+              and inv_item_sk=i_item_sk
+              and inv_warehouse_sk = w_warehouse_sk
+              and d_month_seq between 1212 and 1212 + 11
+       group by rollup(i_product_name
+                       ,i_brand
+                       ,i_class
+                       ,i_category)
+order by qoh, i_product_name, i_brand, i_class, i_category
+limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@date_dim
+POSTHOOK: Input: default@inventory
+POSTHOOK: Input: default@item
+POSTHOOK: Input: default@warehouse
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 5 vectorized
+      File Output Operator [FS_64]
+        Limit [LIM_63] (rows=100 width=397)
+          Number of rows:100
+          Select Operator [SEL_62] (rows=32730675 width=397)
+            Output:["_col0","_col1","_col2","_col3","_col4"]
+          <-Reducer 4 [SIMPLE_EDGE] vectorized
+            SHUFFLE [RS_61]
+              Select Operator [SEL_60] (rows=32730675 width=397)
+                Output:["_col0","_col1","_col2","_col3","_col4"]
+                Group By Operator [GBY_59] (rows=32730675 width=413)
+                  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 3 [SIMPLE_EDGE]
+                  SHUFFLE [RS_15]
+                    PartitionCols:_col0, _col1, _col2, _col3, _col4
+                    Group By Operator [GBY_14] (rows=32730675 width=413)
+                      Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col2)","count(_col2)"],keys:_col5, _col6, _col7, _col8, 0L
+                      Merge Join Operator [MERGEJOIN_51] (rows=6546135 width=391)
+                        Conds:RS_10._col1=RS_58._col0(Inner),Output:["_col2","_col5","_col6","_col7","_col8"]
+                      <-Map 7 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_58]
+                          PartitionCols:_col0
+                          Select Operator [SEL_57] (rows=462000 width=393)
+                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                            TableScan [TS_5] (rows=462000 width=393)
+                              default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand","i_class","i_category","i_product_name"]
+                      <-Reducer 2 [SIMPLE_EDGE]
+                        SHUFFLE [RS_10]
+                          PartitionCols:_col1
+                          Merge Join Operator [MERGEJOIN_50] (rows=6546135 width=6)
+                            Conds:RS_53._col0=RS_56._col0(Inner),Output:["_col1","_col2"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_53]
+                              PartitionCols:_col0
+                              Select Operator [SEL_52] (rows=37584000 width=11)
+                                Output:["_col0","_col1","_col2"]
+                                TableScan [TS_0] (rows=37584000 width=11)
+                                  default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_quantity_on_hand"]
+                          <-Map 6 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_56]
+                              PartitionCols:_col0
+                              Select Operator [SEL_55] (rows=317 width=4)
+                                Output:["_col0"]
+                                Filter Operator [FIL_54] (rows=317 width=8)
+                                  predicate:d_month_seq BETWEEN 1212 AND 1223
+                                  TableScan [TS_2] (rows=73049 width=8)
+                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/b8299551/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out
new file mode 100644
index 0000000..c7b1c9a
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query23.q.out
@@ -0,0 +1,540 @@
+Warning: Shuffle Join MERGEJOIN[445][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 19' is a cross product
+Warning: Shuffle Join MERGEJOIN[446][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 20' is a cross product
+Warning: Shuffle Join MERGEJOIN[448][tables = [$hdt$_2, $hdt$_3]] in Stage 'Reducer 24' is a cross product
+Warning: Shuffle Join MERGEJOIN[449][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 25' 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
+  from store_sales
+      ,date_dim 
+      ,item
+  where ss_sold_date_sk = d_date_sk
+    and ss_item_sk = i_item_sk 
+    and d_year in (1999,1999+1,1999+2,1999+3)
+  group by substr(i_item_desc,1,30),i_item_sk,d_date
+  having count(*) >4),
+ max_store_sales as
+ (select max(csales) tpcds_cmax 
+  from (select c_customer_sk,sum(ss_quantity*ss_sales_price) csales
+        from store_sales
+            ,customer
+            ,date_dim 
+        where ss_customer_sk = c_customer_sk
+         and ss_sold_date_sk = d_date_sk
+         and d_year in (1999,1999+1,1999+2,1999+3) 
+        group by c_customer_sk) x),
+ best_ss_customer as
+ (select c_customer_sk,sum(ss_quantity*ss_sales_price) ssales
+  from store_sales
+      ,customer
+  where ss_customer_sk = c_customer_sk
+  group by c_customer_sk
+  having sum(ss_quantity*ss_sales_price) > (95/100.0) * (select
+  *
+from
+ max_store_sales))
+  select  sum(sales)
+ from ((select cs_quantity*cs_list_price sales
+       from catalog_sales
+           ,date_dim 
+       where d_year = 1999 
+         and d_moy = 1 
+         and cs_sold_date_sk = d_date_sk 
+         and cs_item_sk in (select item_sk from frequent_ss_items)
+         and cs_bill_customer_sk in (select c_customer_sk from best_ss_customer))
+      union all
+      (select ws_quantity*ws_list_price sales
+       from web_sales 
+           ,date_dim 
+       where d_year = 1999 
+         and d_moy = 1 
+         and ws_sold_date_sk = d_date_sk 
+         and ws_item_sk in (select item_sk from frequent_ss_items)
+         and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer))) y
+ limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@catalog_sales
+PREHOOK: Input: default@customer
+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 frequent_ss_items as 
+ (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
+  from store_sales
+      ,date_dim 
+      ,item
+  where ss_sold_date_sk = d_date_sk
+    and ss_item_sk = i_item_sk 
+    and d_year in (1999,1999+1,1999+2,1999+3)
+  group by substr(i_item_desc,1,30),i_item_sk,d_date
+  having count(*) >4),
+ max_store_sales as
+ (select max(csales) tpcds_cmax 
+  from (select c_customer_sk,sum(ss_quantity*ss_sales_price) csales
+        from store_sales
+            ,customer
+            ,date_dim 
+        where ss_customer_sk = c_customer_sk
+         and ss_sold_date_sk = d_date_sk
+         and d_year in (1999,1999+1,1999+2,1999+3) 
+        group by c_customer_sk) x),
+ best_ss_customer as
+ (select c_customer_sk,sum(ss_quantity*ss_sales_price) ssales
+  from store_sales
+      ,customer
+  where ss_customer_sk = c_customer_sk
+  group by c_customer_sk
+  having sum(ss_quantity*ss_sales_price) > (95/100.0) * (select
+  *
+from
+ max_store_sales))
+  select  sum(sales)
+ from ((select cs_quantity*cs_list_price sales
+       from catalog_sales
+           ,date_dim 
+       where d_year = 1999 
+         and d_moy = 1 
+         and cs_sold_date_sk = d_date_sk 
+         and cs_item_sk in (select item_sk from frequent_ss_items)
+         and cs_bill_customer_sk in (select c_customer_sk from best_ss_customer))
+      union all
+      (select ws_quantity*ws_list_price sales
+       from web_sales 
+           ,date_dim 
+       where d_year = 1999 
+         and d_moy = 1 
+         and ws_sold_date_sk = d_date_sk 
+         and ws_item_sk in (select item_sk from frequent_ss_items)
+         and ws_bill_customer_sk in (select c_customer_sk from best_ss_customer))) y
+ limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@catalog_sales
+POSTHOOK: Input: default@customer
+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 1 <- Reducer 33 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 15 <- Reducer 29 (BROADCAST_EDGE)
+Map 37 <- Reducer 7 (BROADCAST_EDGE)
+Map 39 <- Reducer 36 (BROADCAST_EDGE)
+Map 41 <- Reducer 14 (BROADCAST_EDGE), Reducer 35 (BROADCAST_EDGE)
+Map 42 <- Reducer 13 (BROADCAST_EDGE)
+Reducer 10 <- Map 41 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 26 (ONE_TO_ONE_EDGE)
+Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Reducer 34 (ONE_TO_ONE_EDGE), Union 5 (CONTAINS)
+Reducer 13 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 28 (SIMPLE_EDGE)
+Reducer 17 <- Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 20 <- Reducer 19 (CUSTOM_SIMPLE_EDGE), Reducer 38 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Reducer 20 (SIMPLE_EDGE)
+Reducer 22 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 23 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 24 <- Reducer 23 (CUSTOM_SIMPLE_EDGE), Reducer 27 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Reducer 24 (CUSTOM_SIMPLE_EDGE), Reducer 43 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 21 (ONE_TO_ONE_EDGE)
+Reducer 30 <- Map 28 (SIMPLE_EDGE), Map 39 (SIMPLE_EDGE)
+Reducer 31 <- Map 40 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE)
+Reducer 32 <- Reducer 31 (SIMPLE_EDGE)
+Reducer 33 <- Reducer 32 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Reducer 31 (SIMPLE_EDGE)
+Reducer 35 <- Reducer 34 (CUSTOM_SIMPLE_EDGE)
+Reducer 36 <- Map 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 38 <- Map 37 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 32 (ONE_TO_ONE_EDGE), Union 5 (CONTAINS)
+Reducer 43 <- Map 42 (SIMPLE_EDGE)
+Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 6 vectorized
+      File Output Operator [FS_543]
+        Limit [LIM_542] (rows=1 width=112)
+          Number of rows:100
+          Group By Operator [GBY_541] (rows=1 width=112)
+            Output:["_col0"],aggregations:["sum(VALUE._col0)"]
+          <-Union 5 [CUSTOM_SIMPLE_EDGE]
+            <-Reducer 12 [CONTAINS]
+              Reduce Output Operator [RS_462]
+                Group By Operator [GBY_461] (rows=1 width=112)
+                  Output:["_col0"],aggregations:["sum(_col0)"]
+                  Select Operator [SEL_459] (rows=52 width=112)
+                    Output:["_col0"]
+                    Merge Join Operator [MERGEJOIN_458] (rows=52 width=2)
+                      Conds:RS_200._col1=RS_549._col0(Inner),Output:["_col3","_col4"]
+                    <-Reducer 34 [ONE_TO_ONE_EDGE] vectorized
+                      PARTITION_ONLY_SHUFFLE [RS_549]
+                        PartitionCols:_col0
+                        Select Operator [SEL_548] (rows=745 width=4)
+                          Output:["_col0"]
+                          Filter Operator [FIL_547] (rows=745 width=12)
+                            predicate:(_col1 > 4L)
+                            Group By Operator [GBY_546] (rows=2235 width=12)
+                              Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
+                            <-Reducer 31 [SIMPLE_EDGE]
+                              SHUFFLE [RS_190]
+                                PartitionCols:_col0
+                                Group By Operator [GBY_87] (rows=2235 width=12)
+                                  Output:["_col0","_col1"],aggregations:["count()"],keys:_col4
+                                  Merge Join Operator [MERGEJOIN_439] (rows=19646398 width=4)
+                                    Conds:RS_83._col1=RS_491._col0(Inner),Output:["_col4"]
+                                  <-Map 40 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_491]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_490] (rows=462000 width=188)
+                                        Output:["_col0"]
+                                        TableScan [TS_78] (rows=462000 width=4)
+                                          default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk"]
+                                  <-Reducer 30 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_83]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_438] (rows=19646398 width=4)
+                                        Conds:RS_489._col0=RS_479._col0(Inner),Output:["_col1"]
+                                      <-Map 28 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_479]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_476] (rows=2609 width=4)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_475] (rows=2609 width=8)
+                                              predicate:(d_year) IN (1999, 2000, 2001, 2002)
+                                              TableScan [TS_9] (rows=73049 width=8)
+                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
+                                      <-Map 39 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_489]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_488] (rows=550076554 width=7)
+                                            Output:["_col0","_col1"]
+                                            Filter Operator [FIL_487] (rows=550076554 width=7)
+                                              predicate:((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_sold_date_sk is not null)
+                                              TableScan [TS_72] (rows=575995635 width=7)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk"]
+                                              <-Reducer 36 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_486]
+                                                  Group By Operator [GBY_485] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_484]
+                                                      Group By Operator [GBY_482] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_480] (rows=2609 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_476]
+                    <-Reducer 11 [SIMPLE_EDGE]
+                      SHUFFLE [RS_200]
+                        PartitionCols:_col1
+                        Merge Join Operator [MERGEJOIN_450] (rows=3941102 width=118)
+                          Conds:RS_197._col2=RS_576._col0(Inner),Output:["_col1","_col3","_col4"]
+                        <-Reducer 10 [SIMPLE_EDGE]
+                          PARTITION_ONLY_SHUFFLE [RS_197]
+                            PartitionCols:_col2
+                            Merge Join Operator [MERGEJOIN_440] (rows=3941102 width=122)
+                              Conds:RS_557._col0=RS_467._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            <-Map 8 [SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_467]
+                                PartitionCols:_col0
+                                Select Operator [SEL_464] (rows=50 width=4)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_463] (rows=50 width=12)
+                                    predicate:((d_moy = 1) and (d_year = 1999))
+                                    TableScan [TS_3] (rows=73049 width=12)
+                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
+                            <-Map 41 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_557]
+                                PartitionCols:_col0
+                                Select Operator [SEL_556] (rows=143930993 width=127)
+                                  Output:["_col0","_col1","_col2","_col3","_col4"]
+                                  Filter Operator [FIL_555] (rows=143930993 width=127)
+                                    predicate:((ws_item_sk BETWEEN DynamicValue(RS_201_item_i_item_sk_min) AND DynamicValue(RS_201_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_201_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_195_date_dim_d_date_sk_min) AND DynamicValue(RS_195_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_195_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_102] (rows=144002668 width=127)
+                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_quantity","ws_list_price"]
+                                    <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_545]
+                                        Group By Operator [GBY_544] (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_472]
+                                            Group By Operator [GBY_470] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_468] (rows=50 width=4)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_464]
+                                    <-Reducer 35 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_554]
+                                        Group By Operator [GBY_553] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                        <-Reducer 34 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_552]
+                                            Group By Operator [GBY_551] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_550] (rows=745 width=4)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_548]
+                        <-Reducer 26 [ONE_TO_ONE_EDGE] vectorized
+                          FORWARD [RS_576]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_575] (rows=235937 width=3)
+                              Output:["_col0"],keys:KEY._col0
+                            <-Reducer 25 [SIMPLE_EDGE]
+                              SHUFFLE [RS_171]
+                                PartitionCols:_col0
+                                Group By Operator [GBY_170] (rows=235937 width=3)
+                                  Output:["_col0"],keys:_col2
+                                  Select Operator [SEL_169] (rows=471875 width=227)
+                                    Output:["_col2"]
+                                    Filter Operator [FIL_168] (rows=471875 width=227)
+                                      predicate:(_col3 > _col1)
+                                      Merge Join Operator [MERGEJOIN_449] (rows=1415626 width=227)
+                                        Conds:(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Reducer 24 [CUSTOM_SIMPLE_EDGE]
+                                        PARTITION_ONLY_SHUFFLE [RS_165]
+                                          Merge Join Operator [MERGEJOIN_448] (rows=1 width=112)
+                                            Conds:(Inner),Output:["_col1"]
+                                          <-Reducer 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_563]
+                                              Select Operator [SEL_562] (rows=1 width=8)
+                                                Filter Operator [FIL_561] (rows=1 width=8)
+                                                  predicate:(sq_count_check(_col0) <= 1)
+                                                  Group By Operator [GBY_560] (rows=1 width=8)
+                                                    Output:["_col0"],aggregations:["count()"]
+                                                    Select Operator [SEL_559] (rows=1 width=8)
+                                                      Group By Operator [GBY_558] (rows=1 width=8)
+                                                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
+                                                      <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_520]
+                                                          Group By Operator [GBY_516] (rows=1 width=8)
+                                                            Output:["_col0"],aggregations:["count(_col0)"]
+                                                            Select Operator [SEL_512] (rows=50562 width=112)
+                                                              Output:["_col0"]
+                                                              Group By Operator [GBY_509] (rows=50562 width=112)
+                                                                Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                                                              <-Reducer 16 [SIMPLE_EDGE]
+                                                                SHUFFLE [RS_17]
+                                                                  PartitionCols:_col0
+                                                                  Group By Operator [GBY_16] (rows=455058 width=112)
+                                                                    Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col1
+                                                                    Merge Join Operator [MERGEJOIN_436] (rows=18762463 width=112)
+                                                                      Conds:RS_508._col0=RS_477._col0(Inner),Output:["_col1","_col2"]
+                                                                    <-Map 28 [SIMPLE_EDGE] vectorized
+                                                                      PARTITION_ONLY_SHUFFLE [RS_477]
+                                                                        PartitionCols:_col0
+                                                                         Please refer to the previous Select Operator [SEL_476]
+                                                                    <-Map 15 [SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_508]
+                                                                        PartitionCols:_col0
+                                                                        Select Operator [SEL_507] (rows=525327388 width=119)
+                                                                          Output:["_col0","_col1","_col2"]
+                                                                          Filter Operator [FIL_506] (rows=525327388 width=118)
+                                                                            predicate:((ss_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(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                                            TableScan [TS_6] (rows=575995635 width=118)
+                                                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"]
+                                                                            <-Reducer 29 [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=1000000)"]
+                                                                                <-Map 28 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                                  PARTITION_ONLY_SHUFFLE [RS_483]
+                                                                                    Group By Operator [GBY_481] (rows=1 width=12)
+                                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                                      Select Operator [SEL_478] (rows=2609 width=4)
+                                                                                        Output:["_col0"]
+                                                                                         Please refer to the previous Select Operator [SEL_476]
+                                          <-Reducer 27 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_566]
+                                              Select Operator [SEL_565] (rows=1 width=112)
+                                                Output:["_col0"]
+                                                Group By Operator [GBY_564] (rows=1 width=112)
+                                                  Output:["_col0"],aggregations:["max(VALUE._col0)"]
+                                                <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_521]
+                                                    Group By Operator [GBY_517] (rows=1 width=112)
+                                                      Output:["_col0"],aggregations:["max(_col1)"]
+                                                      Select Operator [SEL_513] (rows=50562 width=112)
+                                                        Output:["_col1"]
+                                                         Please refer to the previous Group By Operator [GBY_509]
+                                      <-Reducer 43 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_574]
+                                          Group By Operator [GBY_573] (rows=1415626 width=115)
+                                            Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                                          <-Map 42 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_572]
+                                              PartitionCols:_col0
+                                              Group By Operator [GBY_571] (rows=550080312 width=115)
+                                                Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
+                                                Select Operator [SEL_570] (rows=550080312 width=114)
+                                                  Output:["_col0","_col1"]
+                                                  Filter Operator [FIL_569] (rows=550080312 width=114)
+                                                    predicate:((ss_customer_sk BETWEEN DynamicValue(RS_197_web_sales_ws_bill_customer_sk_min) AND DynamicValue(RS_197_web_sales_ws_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_197_web_sales_ws_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null)
+                                                    TableScan [TS_154] (rows=575995635 width=114)
+                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"]
+                                                    <-Reducer 13 [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)"]
+                                                        <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
+                                                          PARTITION_ONLY_SHUFFLE [RS_414]
+                                                            Group By Operator [GBY_413] (rows=1 width=12)
+                                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                              Select Operator [SEL_412] (rows=3941102 width=7)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Merge Join Operator [MERGEJOIN_440]
+            <-Reducer 4 [CONTAINS]
+              Reduce Output Operator [RS_457]
+                Group By Operator [GBY_456] (rows=1 width=112)
+                  Output:["_col0"],aggregations:["sum(_col0)"]
+                  Select Operator [SEL_454] (rows=102 width=112)
+                    Output:["_col0"]
+                    Merge Join Operator [MERGEJOIN_453] (rows=102 width=1)
+                      Conds:RS_98._col2=RS_495._col0(Inner),Output:["_col3","_col4"]
+                    <-Reducer 32 [ONE_TO_ONE_EDGE] vectorized
+                      FORWARD [RS_495]
+                        PartitionCols:_col0
+                        Select Operator [SEL_494] (rows=745 width=4)
+                          Output:["_col0"]
+                          Filter Operator [FIL_493] (rows=745 width=12)
+                            predicate:(_col1 > 4L)
+                            Group By Operator [GBY_492] (rows=2235 width=12)
+                              Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
+                            <-Reducer 31 [SIMPLE_EDGE]
+                              SHUFFLE [RS_88]
+                                PartitionCols:_col0
+                                 Please refer to the previous Group By Operator [GBY_87]
+                    <-Reducer 3 [SIMPLE_EDGE]
+                      SHUFFLE [RS_98]
+                        PartitionCols:_col2
+                        Merge Join Operator [MERGEJOIN_447] (rows=7751875 width=98)
+                          Conds:RS_95._col1=RS_540._col0(Inner),Output:["_col2","_col3","_col4"]
+                        <-Reducer 2 [SIMPLE_EDGE]
+                          PARTITION_ONLY_SHUFFLE [RS_95]
+                            PartitionCols:_col1
+                            Merge Join Operator [MERGEJOIN_435] (rows=7751875 width=101)
+                              Conds:RS_503._col0=RS_465._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            <-Map 8 [SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_465]
+                                PartitionCols:_col0
+                                 Please refer to the previous Select Operator [SEL_464]
+                            <-Map 1 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_503]
+                                PartitionCols:_col0
+                                Select Operator [SEL_502] (rows=285117831 width=127)
+                                  Output:["_col0","_col1","_col2","_col3","_col4"]
+                                  Filter Operator [FIL_501] (rows=285117831 width=127)
+                                    predicate:((cs_item_sk BETWEEN DynamicValue(RS_99_item_i_item_sk_min) AND DynamicValue(RS_99_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_99_item_i_item_sk_bloom_filter))) and (cs_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(cs_sold_date_sk, DynamicValue(RS_93_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=127)
+                                      default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity","cs_list_price"]
+                                    <-Reducer 33 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_500]
+                                        Group By Operator [GBY_499] (rows=1 width=12)
+                                          Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                        <-Reducer 32 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          FORWARD [RS_498]
+                                            Group By Operator [GBY_497] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_496] (rows=745 width=4)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_494]
+                                    <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_474]
+                                        Group By Operator [GBY_473] (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_471]
+                                            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_466] (rows=50 width=4)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_464]
+                        <-Reducer 21 [ONE_TO_ONE_EDGE] vectorized
+                          FORWARD [RS_540]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_539] (rows=235937 width=3)
+                              Output:["_col0"],keys:KEY._col0
+                            <-Reducer 20 [SIMPLE_EDGE]
+                              SHUFFLE [RS_69]
+                                PartitionCols:_col0
+                                Group By Operator [GBY_68] (rows=235937 width=3)
+                                  Output:["_col0"],keys:_col2
+                                  Select Operator [SEL_67] (rows=471875 width=227)
+                                    Output:["_col2"]
+                                    Filter Operator [FIL_66] (rows=471875 width=227)
+                                      predicate:(_col3 > _col1)
+                                      Merge Join Operator [MERGEJOIN_446] (rows=1415626 width=227)
+                                        Conds:(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Reducer 19 [CUSTOM_SIMPLE_EDGE]
+                                        PARTITION_ONLY_SHUFFLE [RS_63]
+                                          Merge Join Operator [MERGEJOIN_445] (rows=1 width=112)
+                                            Conds:(Inner),Output:["_col1"]
+                                          <-Reducer 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_527]
+                                              Select Operator [SEL_526] (rows=1 width=8)
+                                                Filter Operator [FIL_525] (rows=1 width=8)
+                                                  predicate:(sq_count_check(_col0) <= 1)
+                                                  Group By Operator [GBY_524] (rows=1 width=8)
+                                                    Output:["_col0"],aggregations:["count()"]
+                                                    Select Operator [SEL_523] (rows=1 width=8)
+                                                      Group By Operator [GBY_522] (rows=1 width=8)
+                                                        Output:["_col0"],aggregations:["count(VALUE._col0)"]
+                                                      <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_518]
+                                                          Group By Operator [GBY_514] (rows=1 width=8)
+                                                            Output:["_col0"],aggregations:["count(_col0)"]
+                                                            Select Operator [SEL_510] (rows=50562 width=112)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Group By Operator [GBY_509]
+                                          <-Reducer 22 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_530]
+                                              Select Operator [SEL_529] (rows=1 width=112)
+                                                Output:["_col0"]
+                                                Group By Operator [GBY_528] (rows=1 width=112)
+                                                  Output:["_col0"],aggregations:["max(VALUE._col0)"]
+                                                <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  PARTITION_ONLY_SHUFFLE [RS_519]
+                                                    Group By Operator [GBY_515] (rows=1 width=112)
+                                                      Output:["_col0"],aggregations:["max(_col1)"]
+                                                      Select Operator [SEL_511] (rows=50562 width=112)
+                                                        Output:["_col1"]
+                                                         Please refer to the previous Group By Operator [GBY_509]
+                                      <-Reducer 38 [CUSTOM_SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_538]
+                                          Group By Operator [GBY_537] (rows=1415626 width=115)
+                                            Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                                          <-Map 37 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_536]
+                                              PartitionCols:_col0
+                                              Group By Operator [GBY_535] (rows=550080312 width=115)
+                                                Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
+                                                Select Operator [SEL_534] (rows=550080312 width=114)
+                                                  Output:["_col0","_col1"]
+                                                  Filter Operator [FIL_533] (rows=550080312 width=114)
+                                                    predicate:((ss_customer_sk BETWEEN DynamicValue(RS_95_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_95_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_95_catalog_sales_cs_bill_customer_sk_bloom_filter))) and ss_customer_sk is not null)
+                                                    TableScan [TS_52] (rows=575995635 width=114)
+                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"]
+                                                    <-Reducer 7 [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=1000000)"]
+                                                        <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                          PARTITION_ONLY_SHUFFLE [RS_341]
+                                                            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_339] (rows=7751875 width=6)
+                                                                Output:["_col0"]
+                                                                 Please refer to the previous Merge Join Operator [MERGEJOIN_435]
+