You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2017/04/08 03:58:04 UTC

[03/14] hive git commit: HIVE-14564 : Column Pruning generates out of order columns in SelectOperator which cause ArrayIndexOutOfBoundsException. (Zhihai Xu via Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/78d8b337/ql/src/test/results/clientpositive/perf/query85.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query85.q.out b/ql/src/test/results/clientpositive/perf/query85.q.out
index e7f7348..67b7993 100644
--- a/ql/src/test/results/clientpositive/perf/query85.q.out
+++ b/ql/src/test/results/clientpositive/perf/query85.q.out
@@ -36,122 +36,120 @@ Stage-0
                     PartitionCols:_col0
                     Group By Operator [GBY_52] (rows=2440165 width=1014)
                       Output:["_col0","_col1","_col2","_col3"],aggregations:["avg(_col6)","avg(_col16)","avg(_col15)"],keys:_col28
-                      Select Operator [SEL_51] (rows=2440165 width=1014)
-                        Output:["_col28","_col6","_col16","_col15"]
-                        Merge Join Operator [MERGEJOIN_109] (rows=2440165 width=1014)
-                          Conds:RS_48._col13=RS_49._col0(Inner),Output:["_col6","_col15","_col16","_col28"]
-                        <-Map 17 [SIMPLE_EDGE]
-                          SHUFFLE [RS_49]
-                            PartitionCols:_col0
-                            Select Operator [SEL_44] (rows=72 width=200)
-                              Output:["_col0","_col1"]
-                              Filter Operator [FIL_102] (rows=72 width=200)
-                                predicate:r_reason_sk is not null
-                                TableScan [TS_42] (rows=72 width=200)
-                                  default@reason,reason,Tbl:COMPLETE,Col:NONE,Output:["r_reason_sk","r_reason_desc"]
-                        <-Reducer 2 [SIMPLE_EDGE]
-                          SHUFFLE [RS_48]
-                            PartitionCols:_col13
-                            Merge Join Operator [MERGEJOIN_108] (rows=2218332 width=1014)
-                              Conds:RS_45._col0=RS_46._col0(Inner),Output:["_col6","_col13","_col15","_col16"]
-                            <-Map 1 [SIMPLE_EDGE]
-                              SHUFFLE [RS_45]
-                                PartitionCols:_col0
-                                Select Operator [SEL_2] (rows=36524 width=1119)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_95] (rows=36524 width=1119)
-                                    predicate:((d_year = 1998) and d_date_sk is not null)
-                                    TableScan [TS_0] (rows=73049 width=1119)
-                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                            <-Reducer 8 [SIMPLE_EDGE]
-                              SHUFFLE [RS_46]
-                                PartitionCols:_col0
-                                Select Operator [SEL_41] (rows=2016666 width=1014)
-                                  Output:["_col0","_col11","_col13","_col14","_col4"]
-                                  Filter Operator [FIL_40] (rows=2016666 width=1014)
-                                    predicate:(((_col23) IN ('KY', 'GA', 'NM') and _col6 BETWEEN 100 AND 200) or ((_col23) IN ('MT', 'OR', 'IN') and _col6 BETWEEN 150 AND 300) or ((_col23) IN ('WI', 'MO', 'WV') and _col6 BETWEEN 50 AND 250))
-                                    Select Operator [SEL_39] (rows=12100000 width=1014)
-                                      Output:["_col0","_col4","_col6","_col11","_col13","_col14","_col23"]
-                                      Merge Join Operator [MERGEJOIN_107] (rows=12100000 width=1014)
-                                        Conds:RS_36._col13, _col20, _col21=RS_37._col0, _col1, _col2(Inner),Output:["_col1","_col3","_col7","_col9","_col14","_col16","_col17"]
-                                      <-Map 16 [SIMPLE_EDGE]
-                                        SHUFFLE [RS_37]
-                                          PartitionCols:_col0, _col1, _col2
-                                          Select Operator [SEL_32] (rows=1861800 width=385)
-                                            Output:["_col0","_col1","_col2"]
-                                            Filter Operator [FIL_101] (rows=1861800 width=385)
-                                              predicate:(((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_marital_status is not null and cd_education_status is not null)
-                                              TableScan [TS_30] (rows=1861800 width=385)
-                                                default@customer_demographics,cd2,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
-                                      <-Reducer 7 [SIMPLE_EDGE]
-                                        SHUFFLE [RS_36]
-                                          PartitionCols:_col13, _col20, _col21
-                                          Merge Join Operator [MERGEJOIN_106] (rows=11000000 width=1014)
-                                            Conds:RS_33._col0=RS_34._col9(Inner),Output:["_col1","_col3","_col7","_col9","_col13","_col14","_col16","_col17","_col20","_col21"]
-                                          <-Map 6 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_33]
-                                              PartitionCols:_col0
-                                              Select Operator [SEL_5] (rows=10000000 width=1014)
-                                                Output:["_col0","_col1"]
-                                                Filter Operator [FIL_96] (rows=10000000 width=1014)
-                                                  predicate:((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null)
-                                                  TableScan [TS_3] (rows=40000000 width=1014)
-                                                    default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_country"]
-                                          <-Reducer 12 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_34]
-                                              PartitionCols:_col9
-                                              Select Operator [SEL_29] (rows=1774698 width=135)
-                                                Output:["_col0","_col10","_col11","_col13","_col14","_col17","_col18","_col4","_col6","_col9"]
-                                                Filter Operator [FIL_28] (rows=1774698 width=135)
-                                                  predicate:(((_col17 = 'M') and (_col18 = '4 yr Degree') and _col5 BETWEEN 100 AND 150) or ((_col17 = 'D') and (_col18 = 'Primary') and _col5 BETWEEN 50 AND 100) or ((_col17 = 'U') and (_col18 = 'Advanced Degree') and _col5 BETWEEN 150 AND 200))
-                                                  Select Operator [SEL_27] (rows=21296393 width=135)
-                                                    Output:["_col0","_col4","_col5","_col6","_col9","_col10","_col11","_col13","_col14","_col17","_col18"]
-                                                    Merge Join Operator [MERGEJOIN_105] (rows=21296393 width=135)
-                                                      Conds:RS_24._col9=RS_25._col0(Inner),Output:["_col1","_col5","_col6","_col7","_col10","_col11","_col12","_col14","_col15","_col17","_col18"]
-                                                    <-Map 15 [SIMPLE_EDGE]
-                                                      SHUFFLE [RS_25]
-                                                        PartitionCols:_col0
-                                                        Select Operator [SEL_17] (rows=1861800 width=385)
-                                                          Output:["_col0","_col1","_col2"]
-                                                          Filter Operator [FIL_100] (rows=1861800 width=385)
-                                                            predicate:(((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_marital_status is not null and cd_education_status is not null)
-                                                            TableScan [TS_15] (rows=1861800 width=385)
-                                                              default@customer_demographics,cd1,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
-                                                    <-Reducer 11 [SIMPLE_EDGE]
-                                                      SHUFFLE [RS_24]
-                                                        PartitionCols:_col9
-                                                        Merge Join Operator [MERGEJOIN_104] (rows=19360357 width=135)
-                                                          Conds:RS_21._col2, _col4=RS_22._col0, _col5(Inner),Output:["_col1","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col14","_col15"]
-                                                        <-Map 14 [SIMPLE_EDGE]
-                                                          SHUFFLE [RS_22]
-                                                            PartitionCols:_col0, _col5
-                                                            Select Operator [SEL_14] (rows=14398467 width=92)
-                                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                                              Filter Operator [FIL_99] (rows=14398467 width=92)
-                                                                predicate:(wr_item_sk is not null and wr_order_number is not null and wr_refunded_cdemo_sk is not null and wr_returning_cdemo_sk is not null and wr_refunded_addr_sk is not null and wr_reason_sk is not null)
-                                                                TableScan [TS_12] (rows=14398467 width=92)
-                                                                  default@web_returns,web_returns,Tbl:COMPLETE,Col:NONE,Output:["wr_item_sk","wr_refunded_cdemo_sk","wr_refunded_addr_sk","wr_returning_cdemo_sk","wr_reason_sk","wr_order_number","wr_fee","wr_refunded_cash"]
-                                                        <-Reducer 10 [SIMPLE_EDGE]
-                                                          SHUFFLE [RS_21]
-                                                            PartitionCols:_col2, _col4
-                                                            Merge Join Operator [MERGEJOIN_103] (rows=17600325 width=135)
-                                                              Conds:RS_18._col0=RS_19._col2(Inner),Output:["_col1","_col2","_col4","_col5","_col6","_col7"]
-                                                            <-Map 13 [SIMPLE_EDGE]
-                                                              SHUFFLE [RS_19]
-                                                                PartitionCols:_col2
-                                                                Select Operator [SEL_11] (rows=16000296 width=135)
-                                                                  Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                                  Filter Operator [FIL_98] (rows=16000296 width=135)
-                                                                    predicate:((ws_sales_price BETWEEN 100 AND 150 or ws_sales_price BETWEEN 50 AND 100 or ws_sales_price BETWEEN 150 AND 200) and (ws_net_profit BETWEEN 100 AND 200 or ws_net_profit BETWEEN 150 AND 300 or ws_net_profit BETWEEN 50 AND 250) and ws_order_number is not null and ws_item_sk is not null and ws_web_page_sk is not null and ws_sold_date_sk is not null)
-                                                                    TableScan [TS_9] (rows=144002668 width=135)
-                                                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_page_sk","ws_order_number","ws_quantity","ws_sales_price","ws_net_profit"]
-                                                            <-Map 9 [SIMPLE_EDGE]
-                                                              SHUFFLE [RS_18]
-                                                                PartitionCols:_col0
-                                                                Select Operator [SEL_8] (rows=4602 width=585)
-                                                                  Output:["_col0"]
-                                                                  Filter Operator [FIL_97] (rows=4602 width=585)
-                                                                    predicate:wp_web_page_sk is not null
-                                                                    TableScan [TS_6] (rows=4602 width=585)
-                                                                      default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk"]
+                      Merge Join Operator [MERGEJOIN_109] (rows=2440165 width=1014)
+                        Conds:RS_48._col13=RS_49._col0(Inner),Output:["_col6","_col15","_col16","_col28"]
+                      <-Map 17 [SIMPLE_EDGE]
+                        SHUFFLE [RS_49]
+                          PartitionCols:_col0
+                          Select Operator [SEL_44] (rows=72 width=200)
+                            Output:["_col0","_col1"]
+                            Filter Operator [FIL_102] (rows=72 width=200)
+                              predicate:r_reason_sk is not null
+                              TableScan [TS_42] (rows=72 width=200)
+                                default@reason,reason,Tbl:COMPLETE,Col:NONE,Output:["r_reason_sk","r_reason_desc"]
+                      <-Reducer 2 [SIMPLE_EDGE]
+                        SHUFFLE [RS_48]
+                          PartitionCols:_col13
+                          Merge Join Operator [MERGEJOIN_108] (rows=2218332 width=1014)
+                            Conds:RS_45._col0=RS_46._col0(Inner),Output:["_col6","_col13","_col15","_col16"]
+                          <-Map 1 [SIMPLE_EDGE]
+                            SHUFFLE [RS_45]
+                              PartitionCols:_col0
+                              Select Operator [SEL_2] (rows=36524 width=1119)
+                                Output:["_col0"]
+                                Filter Operator [FIL_95] (rows=36524 width=1119)
+                                  predicate:((d_year = 1998) and d_date_sk is not null)
+                                  TableScan [TS_0] (rows=73049 width=1119)
+                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
+                          <-Reducer 8 [SIMPLE_EDGE]
+                            SHUFFLE [RS_46]
+                              PartitionCols:_col0
+                              Select Operator [SEL_41] (rows=2016666 width=1014)
+                                Output:["_col0","_col4","_col11","_col13","_col14"]
+                                Filter Operator [FIL_40] (rows=2016666 width=1014)
+                                  predicate:(((_col23) IN ('KY', 'GA', 'NM') and _col6 BETWEEN 100 AND 200) or ((_col23) IN ('MT', 'OR', 'IN') and _col6 BETWEEN 150 AND 300) or ((_col23) IN ('WI', 'MO', 'WV') and _col6 BETWEEN 50 AND 250))
+                                  Select Operator [SEL_39] (rows=12100000 width=1014)
+                                    Output:["_col0","_col4","_col6","_col11","_col13","_col14","_col23"]
+                                    Merge Join Operator [MERGEJOIN_107] (rows=12100000 width=1014)
+                                      Conds:RS_36._col13, _col20, _col21=RS_37._col0, _col1, _col2(Inner),Output:["_col1","_col3","_col7","_col9","_col14","_col16","_col17"]
+                                    <-Map 16 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_37]
+                                        PartitionCols:_col0, _col1, _col2
+                                        Select Operator [SEL_32] (rows=1861800 width=385)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_101] (rows=1861800 width=385)
+                                            predicate:(((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_marital_status is not null and cd_education_status is not null)
+                                            TableScan [TS_30] (rows=1861800 width=385)
+                                              default@customer_demographics,cd2,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
+                                    <-Reducer 7 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_36]
+                                        PartitionCols:_col13, _col20, _col21
+                                        Merge Join Operator [MERGEJOIN_106] (rows=11000000 width=1014)
+                                          Conds:RS_33._col0=RS_34._col9(Inner),Output:["_col1","_col3","_col7","_col9","_col13","_col14","_col16","_col17","_col20","_col21"]
+                                        <-Map 6 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_33]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_5] (rows=10000000 width=1014)
+                                              Output:["_col0","_col1"]
+                                              Filter Operator [FIL_96] (rows=10000000 width=1014)
+                                                predicate:((ca_state) IN ('KY', 'GA', 'NM', 'MT', 'OR', 'IN', 'WI', 'MO', 'WV') and (ca_country = 'United States') and ca_address_sk is not null)
+                                                TableScan [TS_3] (rows=40000000 width=1014)
+                                                  default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state","ca_country"]
+                                        <-Reducer 12 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_34]
+                                            PartitionCols:_col9
+                                            Select Operator [SEL_29] (rows=1774698 width=135)
+                                              Output:["_col0","_col4","_col6","_col9","_col10","_col11","_col13","_col14","_col17","_col18"]
+                                              Filter Operator [FIL_28] (rows=1774698 width=135)
+                                                predicate:(((_col17 = 'M') and (_col18 = '4 yr Degree') and _col5 BETWEEN 100 AND 150) or ((_col17 = 'D') and (_col18 = 'Primary') and _col5 BETWEEN 50 AND 100) or ((_col17 = 'U') and (_col18 = 'Advanced Degree') and _col5 BETWEEN 150 AND 200))
+                                                Select Operator [SEL_27] (rows=21296393 width=135)
+                                                  Output:["_col0","_col4","_col5","_col6","_col9","_col10","_col11","_col13","_col14","_col17","_col18"]
+                                                  Merge Join Operator [MERGEJOIN_105] (rows=21296393 width=135)
+                                                    Conds:RS_24._col9=RS_25._col0(Inner),Output:["_col1","_col5","_col6","_col7","_col10","_col11","_col12","_col14","_col15","_col17","_col18"]
+                                                  <-Map 15 [SIMPLE_EDGE]
+                                                    SHUFFLE [RS_25]
+                                                      PartitionCols:_col0
+                                                      Select Operator [SEL_17] (rows=1861800 width=385)
+                                                        Output:["_col0","_col1","_col2"]
+                                                        Filter Operator [FIL_100] (rows=1861800 width=385)
+                                                          predicate:(((cd_education_status = '4 yr Degree') or (cd_education_status = 'Primary') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'D') or (cd_marital_status = 'U')) and cd_demo_sk is not null and cd_marital_status is not null and cd_education_status is not null)
+                                                          TableScan [TS_15] (rows=1861800 width=385)
+                                                            default@customer_demographics,cd1,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
+                                                  <-Reducer 11 [SIMPLE_EDGE]
+                                                    SHUFFLE [RS_24]
+                                                      PartitionCols:_col9
+                                                      Merge Join Operator [MERGEJOIN_104] (rows=19360357 width=135)
+                                                        Conds:RS_21._col2, _col4=RS_22._col0, _col5(Inner),Output:["_col1","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col14","_col15"]
+                                                      <-Map 14 [SIMPLE_EDGE]
+                                                        SHUFFLE [RS_22]
+                                                          PartitionCols:_col0, _col5
+                                                          Select Operator [SEL_14] (rows=14398467 width=92)
+                                                            Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                                            Filter Operator [FIL_99] (rows=14398467 width=92)
+                                                              predicate:(wr_item_sk is not null and wr_order_number is not null and wr_refunded_cdemo_sk is not null and wr_returning_cdemo_sk is not null and wr_refunded_addr_sk is not null and wr_reason_sk is not null)
+                                                              TableScan [TS_12] (rows=14398467 width=92)
+                                                                default@web_returns,web_returns,Tbl:COMPLETE,Col:NONE,Output:["wr_item_sk","wr_refunded_cdemo_sk","wr_refunded_addr_sk","wr_returning_cdemo_sk","wr_reason_sk","wr_order_number","wr_fee","wr_refunded_cash"]
+                                                      <-Reducer 10 [SIMPLE_EDGE]
+                                                        SHUFFLE [RS_21]
+                                                          PartitionCols:_col2, _col4
+                                                          Merge Join Operator [MERGEJOIN_103] (rows=17600325 width=135)
+                                                            Conds:RS_18._col0=RS_19._col2(Inner),Output:["_col1","_col2","_col4","_col5","_col6","_col7"]
+                                                          <-Map 13 [SIMPLE_EDGE]
+                                                            SHUFFLE [RS_19]
+                                                              PartitionCols:_col2
+                                                              Select Operator [SEL_11] (rows=16000296 width=135)
+                                                                Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+                                                                Filter Operator [FIL_98] (rows=16000296 width=135)
+                                                                  predicate:((ws_sales_price BETWEEN 100 AND 150 or ws_sales_price BETWEEN 50 AND 100 or ws_sales_price BETWEEN 150 AND 200) and (ws_net_profit BETWEEN 100 AND 200 or ws_net_profit BETWEEN 150 AND 300 or ws_net_profit BETWEEN 50 AND 250) and ws_order_number is not null and ws_item_sk is not null and ws_web_page_sk is not null and ws_sold_date_sk is not null)
+                                                                  TableScan [TS_9] (rows=144002668 width=135)
+                                                                    default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_page_sk","ws_order_number","ws_quantity","ws_sales_price","ws_net_profit"]
+                                                          <-Map 9 [SIMPLE_EDGE]
+                                                            SHUFFLE [RS_18]
+                                                              PartitionCols:_col0
+                                                              Select Operator [SEL_8] (rows=4602 width=585)
+                                                                Output:["_col0"]
+                                                                Filter Operator [FIL_97] (rows=4602 width=585)
+                                                                  predicate:wp_web_page_sk is not null
+                                                                  TableScan [TS_6] (rows=4602 width=585)
+                                                                    default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/78d8b337/ql/src/test/results/clientpositive/perf/query87.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query87.q.out b/ql/src/test/results/clientpositive/perf/query87.q.out
index 09f1539..c7dd1d9 100644
--- a/ql/src/test/results/clientpositive/perf/query87.q.out
+++ b/ql/src/test/results/clientpositive/perf/query87.q.out
@@ -94,42 +94,40 @@ Stage-0
                                       PartitionCols:_col0, _col1, _col2
                                       Group By Operator [GBY_81] (rows=174243235 width=135)
                                         Output:["_col0","_col1","_col2"],keys:_col7, _col6, _col3
-                                        Select Operator [SEL_80] (rows=174243235 width=135)
-                                          Output:["_col7","_col6","_col3"]
-                                          Merge Join Operator [MERGEJOIN_135] (rows=174243235 width=135)
-                                            Conds:RS_77._col1=RS_78._col0(Inner),Output:["_col3","_col6","_col7"]
-                                          <-Map 23 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_78]
-                                              PartitionCols:_col0
-                                              Select Operator [SEL_73] (rows=80000000 width=860)
-                                                Output:["_col0","_col1","_col2"]
-                                                Filter Operator [FIL_128] (rows=80000000 width=860)
-                                                  predicate:c_customer_sk is not null
-                                                  TableScan [TS_71] (rows=80000000 width=860)
-                                                    default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
-                                          <-Reducer 19 [SIMPLE_EDGE]
-                                            SHUFFLE [RS_77]
-                                              PartitionCols:_col1
-                                              Merge Join Operator [MERGEJOIN_134] (rows=158402938 width=135)
-                                                Conds:RS_74._col0=RS_75._col0(Inner),Output:["_col1","_col3"]
-                                              <-Map 18 [SIMPLE_EDGE]
-                                                SHUFFLE [RS_74]
-                                                  PartitionCols:_col0
-                                                  Select Operator [SEL_67] (rows=144002668 width=135)
-                                                    Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_126] (rows=144002668 width=135)
-                                                      predicate:(ws_sold_date_sk is not null and ws_bill_customer_sk is not null)
-                                                      TableScan [TS_65] (rows=144002668 width=135)
-                                                        default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk"]
-                                              <-Map 22 [SIMPLE_EDGE]
-                                                SHUFFLE [RS_75]
-                                                  PartitionCols:_col0
-                                                  Select Operator [SEL_70] (rows=8116 width=1119)
-                                                    Output:["_col0","_col1"]
-                                                    Filter Operator [FIL_127] (rows=8116 width=1119)
-                                                      predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
-                                                      TableScan [TS_68] (rows=73049 width=1119)
-                                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
+                                        Merge Join Operator [MERGEJOIN_135] (rows=174243235 width=135)
+                                          Conds:RS_77._col1=RS_78._col0(Inner),Output:["_col3","_col6","_col7"]
+                                        <-Map 23 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_78]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_73] (rows=80000000 width=860)
+                                              Output:["_col0","_col1","_col2"]
+                                              Filter Operator [FIL_128] (rows=80000000 width=860)
+                                                predicate:c_customer_sk is not null
+                                                TableScan [TS_71] (rows=80000000 width=860)
+                                                  default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
+                                        <-Reducer 19 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_77]
+                                            PartitionCols:_col1
+                                            Merge Join Operator [MERGEJOIN_134] (rows=158402938 width=135)
+                                              Conds:RS_74._col0=RS_75._col0(Inner),Output:["_col1","_col3"]
+                                            <-Map 18 [SIMPLE_EDGE]
+                                              SHUFFLE [RS_74]
+                                                PartitionCols:_col0
+                                                Select Operator [SEL_67] (rows=144002668 width=135)
+                                                  Output:["_col0","_col1"]
+                                                  Filter Operator [FIL_126] (rows=144002668 width=135)
+                                                    predicate:(ws_sold_date_sk is not null and ws_bill_customer_sk is not null)
+                                                    TableScan [TS_65] (rows=144002668 width=135)
+                                                      default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk"]
+                                            <-Map 22 [SIMPLE_EDGE]
+                                              SHUFFLE [RS_75]
+                                                PartitionCols:_col0
+                                                Select Operator [SEL_70] (rows=8116 width=1119)
+                                                  Output:["_col0","_col1"]
+                                                  Filter Operator [FIL_127] (rows=8116 width=1119)
+                                                    predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
+                                                    TableScan [TS_68] (rows=73049 width=1119)
+                                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
                       <-Reducer 6 [CONTAINS]
                         Reduce Output Operator [RS_95]
                           PartitionCols:_col0, _col1, _col2
@@ -166,42 +164,40 @@ Stage-0
                                                         PartitionCols:_col0, _col1, _col2
                                                         Group By Operator [GBY_42] (rows=348467716 width=135)
                                                           Output:["_col0","_col1","_col2"],keys:_col7, _col6, _col3
-                                                          Select Operator [SEL_41] (rows=348467716 width=135)
-                                                            Output:["_col7","_col6","_col3"]
-                                                            Merge Join Operator [MERGEJOIN_133] (rows=348467716 width=135)
-                                                              Conds:RS_38._col1=RS_39._col0(Inner),Output:["_col3","_col6","_col7"]
-                                                            <-Map 17 [SIMPLE_EDGE]
-                                                              SHUFFLE [RS_39]
-                                                                PartitionCols:_col0
-                                                                Select Operator [SEL_34] (rows=80000000 width=860)
-                                                                  Output:["_col0","_col1","_col2"]
-                                                                  Filter Operator [FIL_125] (rows=80000000 width=860)
-                                                                    predicate:c_customer_sk is not null
-                                                                    TableScan [TS_32] (rows=80000000 width=860)
-                                                                      default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
-                                                            <-Reducer 13 [SIMPLE_EDGE]
-                                                              SHUFFLE [RS_38]
-                                                                PartitionCols:_col1
-                                                                Merge Join Operator [MERGEJOIN_132] (rows=316788826 width=135)
-                                                                  Conds:RS_35._col0=RS_36._col0(Inner),Output:["_col1","_col3"]
-                                                                <-Map 12 [SIMPLE_EDGE]
-                                                                  SHUFFLE [RS_35]
-                                                                    PartitionCols:_col0
-                                                                    Select Operator [SEL_28] (rows=287989836 width=135)
-                                                                      Output:["_col0","_col1"]
-                                                                      Filter Operator [FIL_123] (rows=287989836 width=135)
-                                                                        predicate:(cs_sold_date_sk is not null and cs_bill_customer_sk is not null)
-                                                                        TableScan [TS_26] (rows=287989836 width=135)
-                                                                          default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk"]
-                                                                <-Map 16 [SIMPLE_EDGE]
-                                                                  SHUFFLE [RS_36]
-                                                                    PartitionCols:_col0
-                                                                    Select Operator [SEL_31] (rows=8116 width=1119)
-                                                                      Output:["_col0","_col1"]
-                                                                      Filter Operator [FIL_124] (rows=8116 width=1119)
-                                                                        predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
-                                                                        TableScan [TS_29] (rows=73049 width=1119)
-                                                                          default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
+                                                          Merge Join Operator [MERGEJOIN_133] (rows=348467716 width=135)
+                                                            Conds:RS_38._col1=RS_39._col0(Inner),Output:["_col3","_col6","_col7"]
+                                                          <-Map 17 [SIMPLE_EDGE]
+                                                            SHUFFLE [RS_39]
+                                                              PartitionCols:_col0
+                                                              Select Operator [SEL_34] (rows=80000000 width=860)
+                                                                Output:["_col0","_col1","_col2"]
+                                                                Filter Operator [FIL_125] (rows=80000000 width=860)
+                                                                  predicate:c_customer_sk is not null
+                                                                  TableScan [TS_32] (rows=80000000 width=860)
+                                                                    default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
+                                                          <-Reducer 13 [SIMPLE_EDGE]
+                                                            SHUFFLE [RS_38]
+                                                              PartitionCols:_col1
+                                                              Merge Join Operator [MERGEJOIN_132] (rows=316788826 width=135)
+                                                                Conds:RS_35._col0=RS_36._col0(Inner),Output:["_col1","_col3"]
+                                                              <-Map 12 [SIMPLE_EDGE]
+                                                                SHUFFLE [RS_35]
+                                                                  PartitionCols:_col0
+                                                                  Select Operator [SEL_28] (rows=287989836 width=135)
+                                                                    Output:["_col0","_col1"]
+                                                                    Filter Operator [FIL_123] (rows=287989836 width=135)
+                                                                      predicate:(cs_sold_date_sk is not null and cs_bill_customer_sk is not null)
+                                                                      TableScan [TS_26] (rows=287989836 width=135)
+                                                                        default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk"]
+                                                              <-Map 16 [SIMPLE_EDGE]
+                                                                SHUFFLE [RS_36]
+                                                                  PartitionCols:_col0
+                                                                  Select Operator [SEL_31] (rows=8116 width=1119)
+                                                                    Output:["_col0","_col1"]
+                                                                    Filter Operator [FIL_124] (rows=8116 width=1119)
+                                                                      predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
+                                                                      TableScan [TS_29] (rows=73049 width=1119)
+                                                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
                                         <-Reducer 4 [CONTAINS]
                                           Reduce Output Operator [RS_56]
                                             PartitionCols:_col0, _col1, _col2
@@ -220,40 +216,38 @@ Stage-0
                                                         PartitionCols:_col0, _col1, _col2
                                                         Group By Operator [GBY_16] (rows=696954748 width=88)
                                                           Output:["_col0","_col1","_col2"],keys:_col7, _col6, _col3
-                                                          Select Operator [SEL_15] (rows=696954748 width=88)
-                                                            Output:["_col7","_col6","_col3"]
-                                                            Merge Join Operator [MERGEJOIN_131] (rows=696954748 width=88)
-                                                              Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col3","_col6","_col7"]
-                                                            <-Map 11 [SIMPLE_EDGE]
-                                                              SHUFFLE [RS_13]
-                                                                PartitionCols:_col0
-                                                                Select Operator [SEL_8] (rows=80000000 width=860)
-                                                                  Output:["_col0","_col1","_col2"]
-                                                                  Filter Operator [FIL_122] (rows=80000000 width=860)
-                                                                    predicate:c_customer_sk is not null
-                                                                    TableScan [TS_6] (rows=80000000 width=860)
-                                                                      default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
-                                                            <-Reducer 2 [SIMPLE_EDGE]
-                                                              SHUFFLE [RS_12]
-                                                                PartitionCols:_col1
-                                                                Merge Join Operator [MERGEJOIN_130] (rows=633595212 width=88)
-                                                                  Conds:RS_9._col0=RS_10._col0(Inner),Output:["_col1","_col3"]
-                                                                <-Map 1 [SIMPLE_EDGE]
-                                                                  SHUFFLE [RS_9]
-                                                                    PartitionCols:_col0
-                                                                    Select Operator [SEL_2] (rows=575995635 width=88)
-                                                                      Output:["_col0","_col1"]
-                                                                      Filter Operator [FIL_120] (rows=575995635 width=88)
-                                                                        predicate:(ss_sold_date_sk is not null and ss_customer_sk is not null)
-                                                                        TableScan [TS_0] (rows=575995635 width=88)
-                                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk"]
-                                                                <-Map 10 [SIMPLE_EDGE]
-                                                                  SHUFFLE [RS_10]
-                                                                    PartitionCols:_col0
-                                                                    Select Operator [SEL_5] (rows=8116 width=1119)
-                                                                      Output:["_col0","_col1"]
-                                                                      Filter Operator [FIL_121] (rows=8116 width=1119)
-                                                                        predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
-                                                                        TableScan [TS_3] (rows=73049 width=1119)
-                                                                          default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
+                                                          Merge Join Operator [MERGEJOIN_131] (rows=696954748 width=88)
+                                                            Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col3","_col6","_col7"]
+                                                          <-Map 11 [SIMPLE_EDGE]
+                                                            SHUFFLE [RS_13]
+                                                              PartitionCols:_col0
+                                                              Select Operator [SEL_8] (rows=80000000 width=860)
+                                                                Output:["_col0","_col1","_col2"]
+                                                                Filter Operator [FIL_122] (rows=80000000 width=860)
+                                                                  predicate:c_customer_sk is not null
+                                                                  TableScan [TS_6] (rows=80000000 width=860)
+                                                                    default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_first_name","c_last_name"]
+                                                          <-Reducer 2 [SIMPLE_EDGE]
+                                                            SHUFFLE [RS_12]
+                                                              PartitionCols:_col1
+                                                              Merge Join Operator [MERGEJOIN_130] (rows=633595212 width=88)
+                                                                Conds:RS_9._col0=RS_10._col0(Inner),Output:["_col1","_col3"]
+                                                              <-Map 1 [SIMPLE_EDGE]
+                                                                SHUFFLE [RS_9]
+                                                                  PartitionCols:_col0
+                                                                  Select Operator [SEL_2] (rows=575995635 width=88)
+                                                                    Output:["_col0","_col1"]
+                                                                    Filter Operator [FIL_120] (rows=575995635 width=88)
+                                                                      predicate:(ss_sold_date_sk is not null and ss_customer_sk is not null)
+                                                                      TableScan [TS_0] (rows=575995635 width=88)
+                                                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk"]
+                                                              <-Map 10 [SIMPLE_EDGE]
+                                                                SHUFFLE [RS_10]
+                                                                  PartitionCols:_col0
+                                                                  Select Operator [SEL_5] (rows=8116 width=1119)
+                                                                    Output:["_col0","_col1"]
+                                                                    Filter Operator [FIL_121] (rows=8116 width=1119)
+                                                                      predicate:(d_month_seq BETWEEN 1212 AND 1223 and d_date_sk is not null)
+                                                                      TableScan [TS_3] (rows=73049 width=1119)
+                                                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_month_seq"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/78d8b337/ql/src/test/results/clientpositive/perf/query89.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query89.q.out b/ql/src/test/results/clientpositive/perf/query89.q.out
index 7bc8700..66481f7 100644
--- a/ql/src/test/results/clientpositive/perf/query89.q.out
+++ b/ql/src/test/results/clientpositive/perf/query89.q.out
@@ -96,54 +96,52 @@ Stage-0
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
                                 Group By Operator [GBY_22] (rows=766650239 width=88)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col3)"],keys:_col5, _col6, _col7, _col10, _col12, _col13
-                                  Select Operator [SEL_21] (rows=766650239 width=88)
-                                    Output:["_col5","_col6","_col7","_col10","_col12","_col13","_col3"]
-                                    Merge Join Operator [MERGEJOIN_53] (rows=766650239 width=88)
-                                      Conds:RS_18._col2=RS_19._col0(Inner),Output:["_col3","_col5","_col6","_col7","_col10","_col12","_col13"]
-                                    <-Map 10 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_19]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_11] (rows=1704 width=1910)
-                                          Output:["_col0","_col1","_col2"]
-                                          Filter Operator [FIL_50] (rows=1704 width=1910)
-                                            predicate:s_store_sk is not null
-                                            TableScan [TS_9] (rows=1704 width=1910)
-                                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_company_name"]
-                                    <-Reducer 3 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_18]
-                                        PartitionCols:_col2
-                                        Merge Join Operator [MERGEJOIN_52] (rows=696954748 width=88)
-                                          Conds:RS_15._col0=RS_16._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col7","_col10"]
-                                        <-Map 9 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_16]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_8] (rows=36525 width=1119)
-                                              Output:["_col0","_col2"]
-                                              Filter Operator [FIL_49] (rows=36525 width=1119)
-                                                predicate:((d_year) IN (2000) and d_date_sk is not null)
-                                                TableScan [TS_6] (rows=73049 width=1119)
-                                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                                        <-Reducer 2 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_15]
-                                            PartitionCols:_col0
-                                            Merge Join Operator [MERGEJOIN_51] (rows=633595212 width=88)
-                                              Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col0","_col2","_col3","_col5","_col6","_col7"]
-                                            <-Map 1 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_12]
-                                                PartitionCols:_col1
-                                                Select Operator [SEL_2] (rows=575995635 width=88)
-                                                  Output:["_col0","_col1","_col2","_col3"]
-                                                  Filter Operator [FIL_47] (rows=575995635 width=88)
-                                                    predicate:(ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                                    TableScan [TS_0] (rows=575995635 width=88)
-                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
-                                            <-Map 8 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_13]
-                                                PartitionCols:_col0
-                                                Select Operator [SEL_5] (rows=231000 width=1436)
-                                                  Output:["_col0","_col1","_col2","_col3"]
-                                                  Filter Operator [FIL_48] (rows=231000 width=1436)
-                                                    predicate:(((i_class) IN ('wallpaper', 'parenting', 'musical') or (i_class) IN ('womens', 'birdal', 'pants')) and ((i_category) IN ('Home', 'Books', 'Electronics') or (i_category) IN ('Shoes', 'Jewelry', 'Men')) and (((i_category) IN ('Home', 'Books', 'Electronics') and (i_class) IN ('wallpaper', 'parenting', 'musical')) or ((i_category) IN ('Shoes', 'Jewelry', 'Men') and (i_class) IN ('womens', 'birdal', 'pants'))) and i_item_sk is not null)
-                                                    TableScan [TS_3] (rows=462000 width=1436)
-                                                      default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_class","i_category"]
+                                  Merge Join Operator [MERGEJOIN_53] (rows=766650239 width=88)
+                                    Conds:RS_18._col2=RS_19._col0(Inner),Output:["_col3","_col5","_col6","_col7","_col10","_col12","_col13"]
+                                  <-Map 10 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_19]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_11] (rows=1704 width=1910)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_50] (rows=1704 width=1910)
+                                          predicate:s_store_sk is not null
+                                          TableScan [TS_9] (rows=1704 width=1910)
+                                            default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_company_name"]
+                                  <-Reducer 3 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_18]
+                                      PartitionCols:_col2
+                                      Merge Join Operator [MERGEJOIN_52] (rows=696954748 width=88)
+                                        Conds:RS_15._col0=RS_16._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col7","_col10"]
+                                      <-Map 9 [SIMPLE_EDGE]
+                                        SHUFFLE [RS_16]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_8] (rows=36525 width=1119)
+                                            Output:["_col0","_col2"]
+                                            Filter Operator [FIL_49] (rows=36525 width=1119)
+                                              predicate:((d_year) IN (2000) and d_date_sk is not null)
+                                              TableScan [TS_6] (rows=73049 width=1119)
+                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                                      <-Reducer 2 [SIMPLE_EDGE]
+                                        SHUFFLE [RS_15]
+                                          PartitionCols:_col0
+                                          Merge Join Operator [MERGEJOIN_51] (rows=633595212 width=88)
+                                            Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col0","_col2","_col3","_col5","_col6","_col7"]
+                                          <-Map 1 [SIMPLE_EDGE]
+                                            SHUFFLE [RS_12]
+                                              PartitionCols:_col1
+                                              Select Operator [SEL_2] (rows=575995635 width=88)
+                                                Output:["_col0","_col1","_col2","_col3"]
+                                                Filter Operator [FIL_47] (rows=575995635 width=88)
+                                                  predicate:(ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                  TableScan [TS_0] (rows=575995635 width=88)
+                                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                          <-Map 8 [SIMPLE_EDGE]
+                                            SHUFFLE [RS_13]
+                                              PartitionCols:_col0
+                                              Select Operator [SEL_5] (rows=231000 width=1436)
+                                                Output:["_col0","_col1","_col2","_col3"]
+                                                Filter Operator [FIL_48] (rows=231000 width=1436)
+                                                  predicate:(((i_class) IN ('wallpaper', 'parenting', 'musical') or (i_class) IN ('womens', 'birdal', 'pants')) and ((i_category) IN ('Home', 'Books', 'Electronics') or (i_category) IN ('Shoes', 'Jewelry', 'Men')) and (((i_category) IN ('Home', 'Books', 'Electronics') and (i_class) IN ('wallpaper', 'parenting', 'musical')) or ((i_category) IN ('Shoes', 'Jewelry', 'Men') and (i_class) IN ('womens', 'birdal', 'pants'))) and i_item_sk is not null)
+                                                  TableScan [TS_3] (rows=462000 width=1436)
+                                                    default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_class","i_category"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/78d8b337/ql/src/test/results/clientpositive/perf/query91.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query91.q.out b/ql/src/test/results/clientpositive/perf/query91.q.out
index 1538e8b..e592bba 100644
--- a/ql/src/test/results/clientpositive/perf/query91.q.out
+++ b/ql/src/test/results/clientpositive/perf/query91.q.out
@@ -33,98 +33,96 @@ Stage-0
                   PartitionCols:_col0, _col1, _col2, _col3, _col4
                   Group By Operator [GBY_41] (rows=117128008 width=860)
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col3)"],keys:_col8, _col9, _col10, _col18, _col19
-                    Select Operator [SEL_40] (rows=117128008 width=860)
-                      Output:["_col8","_col9","_col10","_col18","_col19","_col3"]
-                      Merge Join Operator [MERGEJOIN_81] (rows=117128008 width=860)
-                        Conds:RS_37._col1=RS_38._col2(Inner),Output:["_col3","_col8","_col9","_col10","_col18","_col19"]
-                      <-Reducer 12 [SIMPLE_EDGE]
-                        SHUFFLE [RS_38]
-                          PartitionCols:_col2
-                          Select Operator [SEL_30] (rows=106480005 width=860)
-                            Output:["_col2","_col7","_col8"]
-                            Merge Join Operator [MERGEJOIN_80] (rows=106480005 width=860)
-                              Conds:RS_27._col2=RS_28._col0(Inner),Output:["_col0","_col5","_col6"]
-                            <-Map 15 [SIMPLE_EDGE]
-                              SHUFFLE [RS_28]
-                                PartitionCols:_col0
-                                Select Operator [SEL_20] (rows=3600 width=107)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_75] (rows=3600 width=107)
-                                    predicate:((hd_buy_potential like '0-500%') and hd_demo_sk is not null)
-                                    TableScan [TS_18] (rows=7200 width=107)
-                                      default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_buy_potential"]
-                            <-Reducer 11 [SIMPLE_EDGE]
-                              SHUFFLE [RS_27]
-                                PartitionCols:_col2
-                                Merge Join Operator [MERGEJOIN_79] (rows=96800003 width=860)
-                                  Conds:RS_24._col3=RS_25._col0(Inner),Output:["_col0","_col2","_col5","_col6"]
-                                <-Map 14 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_25]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_17] (rows=20000000 width=1014)
-                                      Output:["_col0"]
-                                      Filter Operator [FIL_74] (rows=20000000 width=1014)
-                                        predicate:((ca_gmt_offset = -7) and ca_address_sk is not null)
-                                        TableScan [TS_15] (rows=40000000 width=1014)
-                                          default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_gmt_offset"]
-                                <-Reducer 10 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_24]
-                                    PartitionCols:_col3
-                                    Merge Join Operator [MERGEJOIN_78] (rows=88000001 width=860)
-                                      Conds:RS_21._col1=RS_22._col0(Inner),Output:["_col0","_col2","_col3","_col5","_col6"]
-                                    <-Map 13 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_22]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_14] (rows=930900 width=385)
-                                          Output:["_col0","_col1","_col2"]
-                                          Filter Operator [FIL_73] (rows=930900 width=385)
-                                            predicate:(((cd_education_status = 'Unknown') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'W')) and (((cd_marital_status = 'M') and (cd_education_status = 'Unknown')) or ((cd_marital_status = 'W') and (cd_education_status = 'Advanced Degree'))) and cd_demo_sk is not null)
-                                            TableScan [TS_12] (rows=1861800 width=385)
-                                              default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
-                                    <-Map 9 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_21]
-                                        PartitionCols:_col1
-                                        Select Operator [SEL_11] (rows=80000000 width=860)
-                                          Output:["_col0","_col1","_col2","_col3"]
-                                          Filter Operator [FIL_72] (rows=80000000 width=860)
-                                            predicate:(c_customer_sk is not null and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null)
-                                            TableScan [TS_9] (rows=80000000 width=860)
-                                              default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_hdemo_sk","c_current_addr_sk"]
-                      <-Reducer 3 [SIMPLE_EDGE]
-                        SHUFFLE [RS_37]
-                          PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_77] (rows=34846646 width=106)
-                            Conds:RS_34._col2=RS_35._col0(Inner),Output:["_col1","_col3","_col8","_col9","_col10"]
-                          <-Map 8 [SIMPLE_EDGE]
-                            SHUFFLE [RS_35]
+                    Merge Join Operator [MERGEJOIN_81] (rows=117128008 width=860)
+                      Conds:RS_37._col1=RS_38._col2(Inner),Output:["_col3","_col8","_col9","_col10","_col18","_col19"]
+                    <-Reducer 12 [SIMPLE_EDGE]
+                      SHUFFLE [RS_38]
+                        PartitionCols:_col2
+                        Select Operator [SEL_30] (rows=106480005 width=860)
+                          Output:["_col2","_col7","_col8"]
+                          Merge Join Operator [MERGEJOIN_80] (rows=106480005 width=860)
+                            Conds:RS_27._col2=RS_28._col0(Inner),Output:["_col0","_col5","_col6"]
+                          <-Map 15 [SIMPLE_EDGE]
+                            SHUFFLE [RS_28]
                               PartitionCols:_col0
-                              Select Operator [SEL_8] (rows=60 width=2045)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Filter Operator [FIL_71] (rows=60 width=2045)
-                                  predicate:cc_call_center_sk is not null
-                                  TableScan [TS_6] (rows=60 width=2045)
-                                    default@call_center,call_center,Tbl:COMPLETE,Col:NONE,Output:["cc_call_center_sk","cc_call_center_id","cc_name","cc_manager"]
-                          <-Reducer 2 [SIMPLE_EDGE]
-                            SHUFFLE [RS_34]
+                              Select Operator [SEL_20] (rows=3600 width=107)
+                                Output:["_col0"]
+                                Filter Operator [FIL_75] (rows=3600 width=107)
+                                  predicate:((hd_buy_potential like '0-500%') and hd_demo_sk is not null)
+                                  TableScan [TS_18] (rows=7200 width=107)
+                                    default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_buy_potential"]
+                          <-Reducer 11 [SIMPLE_EDGE]
+                            SHUFFLE [RS_27]
                               PartitionCols:_col2
-                              Merge Join Operator [MERGEJOIN_76] (rows=31678769 width=106)
-                                Conds:RS_31._col0=RS_32._col0(Inner),Output:["_col1","_col2","_col3"]
-                              <-Map 1 [SIMPLE_EDGE]
-                                SHUFFLE [RS_31]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_2] (rows=28798881 width=106)
-                                    Output:["_col0","_col1","_col2","_col3"]
-                                    Filter Operator [FIL_69] (rows=28798881 width=106)
-                                      predicate:(cr_call_center_sk is not null and cr_returned_date_sk is not null and cr_returning_customer_sk is not null)
-                                      TableScan [TS_0] (rows=28798881 width=106)
-                                        default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_returned_date_sk","cr_returning_customer_sk","cr_call_center_sk","cr_net_loss"]
-                              <-Map 7 [SIMPLE_EDGE]
-                                SHUFFLE [RS_32]
+                              Merge Join Operator [MERGEJOIN_79] (rows=96800003 width=860)
+                                Conds:RS_24._col3=RS_25._col0(Inner),Output:["_col0","_col2","_col5","_col6"]
+                              <-Map 14 [SIMPLE_EDGE]
+                                SHUFFLE [RS_25]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_5] (rows=18262 width=1119)
+                                  Select Operator [SEL_17] (rows=20000000 width=1014)
                                     Output:["_col0"]
-                                    Filter Operator [FIL_70] (rows=18262 width=1119)
-                                      predicate:((d_year = 1999) and (d_moy = 11) and d_date_sk is not null)
-                                      TableScan [TS_3] (rows=73049 width=1119)
-                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                                    Filter Operator [FIL_74] (rows=20000000 width=1014)
+                                      predicate:((ca_gmt_offset = -7) and ca_address_sk is not null)
+                                      TableScan [TS_15] (rows=40000000 width=1014)
+                                        default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_gmt_offset"]
+                              <-Reducer 10 [SIMPLE_EDGE]
+                                SHUFFLE [RS_24]
+                                  PartitionCols:_col3
+                                  Merge Join Operator [MERGEJOIN_78] (rows=88000001 width=860)
+                                    Conds:RS_21._col1=RS_22._col0(Inner),Output:["_col0","_col2","_col3","_col5","_col6"]
+                                  <-Map 13 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_22]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_14] (rows=930900 width=385)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_73] (rows=930900 width=385)
+                                          predicate:(((cd_education_status = 'Unknown') or (cd_education_status = 'Advanced Degree')) and ((cd_marital_status = 'M') or (cd_marital_status = 'W')) and (((cd_marital_status = 'M') and (cd_education_status = 'Unknown')) or ((cd_marital_status = 'W') and (cd_education_status = 'Advanced Degree'))) and cd_demo_sk is not null)
+                                          TableScan [TS_12] (rows=1861800 width=385)
+                                            default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:NONE,Output:["cd_demo_sk","cd_marital_status","cd_education_status"]
+                                  <-Map 9 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_21]
+                                      PartitionCols:_col1
+                                      Select Operator [SEL_11] (rows=80000000 width=860)
+                                        Output:["_col0","_col1","_col2","_col3"]
+                                        Filter Operator [FIL_72] (rows=80000000 width=860)
+                                          predicate:(c_customer_sk is not null and c_current_addr_sk is not null and c_current_cdemo_sk is not null and c_current_hdemo_sk is not null)
+                                          TableScan [TS_9] (rows=80000000 width=860)
+                                            default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_hdemo_sk","c_current_addr_sk"]
+                    <-Reducer 3 [SIMPLE_EDGE]
+                      SHUFFLE [RS_37]
+                        PartitionCols:_col1
+                        Merge Join Operator [MERGEJOIN_77] (rows=34846646 width=106)
+                          Conds:RS_34._col2=RS_35._col0(Inner),Output:["_col1","_col3","_col8","_col9","_col10"]
+                        <-Map 8 [SIMPLE_EDGE]
+                          SHUFFLE [RS_35]
+                            PartitionCols:_col0
+                            Select Operator [SEL_8] (rows=60 width=2045)
+                              Output:["_col0","_col1","_col2","_col3"]
+                              Filter Operator [FIL_71] (rows=60 width=2045)
+                                predicate:cc_call_center_sk is not null
+                                TableScan [TS_6] (rows=60 width=2045)
+                                  default@call_center,call_center,Tbl:COMPLETE,Col:NONE,Output:["cc_call_center_sk","cc_call_center_id","cc_name","cc_manager"]
+                        <-Reducer 2 [SIMPLE_EDGE]
+                          SHUFFLE [RS_34]
+                            PartitionCols:_col2
+                            Merge Join Operator [MERGEJOIN_76] (rows=31678769 width=106)
+                              Conds:RS_31._col0=RS_32._col0(Inner),Output:["_col1","_col2","_col3"]
+                            <-Map 1 [SIMPLE_EDGE]
+                              SHUFFLE [RS_31]
+                                PartitionCols:_col0
+                                Select Operator [SEL_2] (rows=28798881 width=106)
+                                  Output:["_col0","_col1","_col2","_col3"]
+                                  Filter Operator [FIL_69] (rows=28798881 width=106)
+                                    predicate:(cr_call_center_sk is not null and cr_returned_date_sk is not null and cr_returning_customer_sk is not null)
+                                    TableScan [TS_0] (rows=28798881 width=106)
+                                      default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_returned_date_sk","cr_returning_customer_sk","cr_call_center_sk","cr_net_loss"]
+                            <-Map 7 [SIMPLE_EDGE]
+                              SHUFFLE [RS_32]
+                                PartitionCols:_col0
+                                Select Operator [SEL_5] (rows=18262 width=1119)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_70] (rows=18262 width=1119)
+                                    predicate:((d_year = 1999) and (d_moy = 11) and d_date_sk is not null)
+                                    TableScan [TS_3] (rows=73049 width=1119)
+                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/78d8b337/ql/src/test/results/clientpositive/perf/query92.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query92.q.out b/ql/src/test/results/clientpositive/perf/query92.q.out
index ca1f417..a53c8e7 100644
--- a/ql/src/test/results/clientpositive/perf/query92.q.out
+++ b/ql/src/test/results/clientpositive/perf/query92.q.out
@@ -38,28 +38,26 @@ Stage-0
                         PartitionCols:_col0, _col1
                         Group By Operator [GBY_10] (rows=633595212 width=88)
                           Output:["_col0","_col1"],keys:_col2, _col1
-                          Select Operator [SEL_9] (rows=633595212 width=88)
-                            Output:["_col2","_col1"]
-                            Merge Join Operator [MERGEJOIN_46] (rows=633595212 width=88)
-                              Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 1 [SIMPLE_EDGE]
-                              SHUFFLE [RS_6]
-                                PartitionCols:_col0
-                                Select Operator [SEL_2] (rows=575995635 width=88)
-                                  Output:["_col0","_col1","_col2"]
-                                  Filter Operator [FIL_42] (rows=575995635 width=88)
-                                    predicate:ss_sold_date_sk is not null
-                                    TableScan [TS_0] (rows=575995635 width=88)
-                                      default@store_sales,ss,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
-                            <-Map 6 [SIMPLE_EDGE]
-                              SHUFFLE [RS_7]
-                                PartitionCols:_col0
-                                Select Operator [SEL_5] (rows=8116 width=1119)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_43] (rows=8116 width=1119)
-                                    predicate:((d_month_seq >= 1206) and (d_month_seq <= 1217) and d_date_sk is not null)
-                                    TableScan [TS_3] (rows=73049 width=1119)
-                                      default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
+                          Merge Join Operator [MERGEJOIN_46] (rows=633595212 width=88)
+                            Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col1","_col2"]
+                          <-Map 1 [SIMPLE_EDGE]
+                            SHUFFLE [RS_6]
+                              PartitionCols:_col0
+                              Select Operator [SEL_2] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_42] (rows=575995635 width=88)
+                                  predicate:ss_sold_date_sk is not null
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,ss,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
+                          <-Map 6 [SIMPLE_EDGE]
+                            SHUFFLE [RS_7]
+                              PartitionCols:_col0
+                              Select Operator [SEL_5] (rows=8116 width=1119)
+                                Output:["_col0"]
+                                Filter Operator [FIL_43] (rows=8116 width=1119)
+                                  predicate:((d_month_seq >= 1206) and (d_month_seq <= 1217) and d_date_sk is not null)
+                                  TableScan [TS_3] (rows=73049 width=1119)
+                                    default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
                 <-Reducer 9 [SIMPLE_EDGE]
                   SHUFFLE [RS_29]
                     PartitionCols:_col0, _col1

http://git-wip-us.apache.org/repos/asf/hive/blob/78d8b337/ql/src/test/results/clientpositive/perf/query97.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query97.q.out b/ql/src/test/results/clientpositive/perf/query97.q.out
index d9c994f..54152e9 100644
--- a/ql/src/test/results/clientpositive/perf/query97.q.out
+++ b/ql/src/test/results/clientpositive/perf/query97.q.out
@@ -40,28 +40,26 @@ Stage-0
                           PartitionCols:_col0, _col1
                           Group By Operator [GBY_10] (rows=633595212 width=88)
                             Output:["_col0","_col1"],keys:_col2, _col1
-                            Select Operator [SEL_9] (rows=633595212 width=88)
-                              Output:["_col2","_col1"]
-                              Merge Join Operator [MERGEJOIN_47] (rows=633595212 width=88)
-                                Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col1","_col2"]
-                              <-Map 1 [SIMPLE_EDGE]
-                                SHUFFLE [RS_6]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_2] (rows=575995635 width=88)
-                                    Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_43] (rows=575995635 width=88)
-                                      predicate:ss_sold_date_sk is not null
-                                      TableScan [TS_0] (rows=575995635 width=88)
-                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
-                              <-Map 6 [SIMPLE_EDGE]
-                                SHUFFLE [RS_7]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_5] (rows=8116 width=1119)
-                                    Output:["_col0"]
-                                    Filter Operator [FIL_44] (rows=8116 width=1119)
-                                      predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
-                                      TableScan [TS_3] (rows=73049 width=1119)
-                                        default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
+                            Merge Join Operator [MERGEJOIN_47] (rows=633595212 width=88)
+                              Conds:RS_6._col0=RS_7._col0(Inner),Output:["_col1","_col2"]
+                            <-Map 1 [SIMPLE_EDGE]
+                              SHUFFLE [RS_6]
+                                PartitionCols:_col0
+                                Select Operator [SEL_2] (rows=575995635 width=88)
+                                  Output:["_col0","_col1","_col2"]
+                                  Filter Operator [FIL_43] (rows=575995635 width=88)
+                                    predicate:ss_sold_date_sk is not null
+                                    TableScan [TS_0] (rows=575995635 width=88)
+                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
+                            <-Map 6 [SIMPLE_EDGE]
+                              SHUFFLE [RS_7]
+                                PartitionCols:_col0
+                                Select Operator [SEL_5] (rows=8116 width=1119)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_44] (rows=8116 width=1119)
+                                    predicate:(d_month_seq BETWEEN 1193 AND 1204 and d_date_sk is not null)
+                                    TableScan [TS_3] (rows=73049 width=1119)
+                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq"]
                   <-Reducer 9 [SIMPLE_EDGE]
                     SHUFFLE [RS_29]
                       PartitionCols:_col0, _col1