http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query62.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query62.q.out 
b/ql/src/test/results/clientpositive/perf/query62.q.out
new file mode 100644
index 0000000..ae50787
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/query62.q.out
@@ -0,0 +1,164 @@
+PREHOOK: query: explain
+select  
+   substr(w_warehouse_name,1,20)
+  ,sm_type
+  ,web_name
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk <= 30 ) then 1 else 0 end) 
 as `30 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 30) and 
+                 (ws_ship_date_sk - ws_sold_date_sk <= 60) then 1 else 0 end ) 
 as `31-60 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 60) and 
+                 (ws_ship_date_sk - ws_sold_date_sk <= 90) then 1 else 0 end)  
as `61-90 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 90) and
+                 (ws_ship_date_sk - ws_sold_date_sk <= 120) then 1 else 0 end) 
 as `91-120 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk  > 120) then 1 else 0 end) 
 as `>120 days` 
+from
+   web_sales
+  ,warehouse
+  ,ship_mode
+  ,web_site
+  ,date_dim
+where
+    d_month_seq between 1212 and 1212 + 11
+and ws_ship_date_sk   = d_date_sk
+and ws_warehouse_sk   = w_warehouse_sk
+and ws_ship_mode_sk   = sm_ship_mode_sk
+and ws_web_site_sk    = web_site_sk
+group by
+   substr(w_warehouse_name,1,20)
+  ,sm_type
+  ,web_name
+order by substr(w_warehouse_name,1,20)
+        ,sm_type
+       ,web_name
+limit 100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select  
+   substr(w_warehouse_name,1,20)
+  ,sm_type
+  ,web_name
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk <= 30 ) then 1 else 0 end) 
 as `30 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 30) and 
+                 (ws_ship_date_sk - ws_sold_date_sk <= 60) then 1 else 0 end ) 
 as `31-60 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 60) and 
+                 (ws_ship_date_sk - ws_sold_date_sk <= 90) then 1 else 0 end)  
as `61-90 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk > 90) and
+                 (ws_ship_date_sk - ws_sold_date_sk <= 120) then 1 else 0 end) 
 as `91-120 days` 
+  ,sum(case when (ws_ship_date_sk - ws_sold_date_sk  > 120) then 1 else 0 end) 
 as `>120 days` 
+from
+   web_sales
+  ,warehouse
+  ,ship_mode
+  ,web_site
+  ,date_dim
+where
+    d_month_seq between 1212 and 1212 + 11
+and ws_ship_date_sk   = d_date_sk
+and ws_warehouse_sk   = w_warehouse_sk
+and ws_ship_mode_sk   = sm_ship_mode_sk
+and ws_web_site_sk    = web_site_sk
+group by
+   substr(w_warehouse_name,1,20)
+  ,sm_type
+  ,web_name
+order by substr(w_warehouse_name,1,20)
+        ,sm_type
+       ,web_name
+limit 100
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 7
+      File Output Operator [FS_37]
+        Limit [LIM_35] (rows=100 width=135)
+          Number of rows:100
+          Select Operator [SEL_34] (rows=105417161 width=135)
+            
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+          <-Reducer 6 [SIMPLE_EDGE]
+            SHUFFLE [RS_33]
+              Select Operator [SEL_32] (rows=105417161 width=135)
+                
Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                Group By Operator [GBY_31] (rows=105417161 width=135)
+                  
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)"],keys:KEY._col0,
 KEY._col1, KEY._col2
+                <-Reducer 5 [SIMPLE_EDGE]
+                  SHUFFLE [RS_30]
+                    PartitionCols:_col0, _col1, _col2
+                    Group By Operator [GBY_29] (rows=210834322 width=135)
+                      
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)"],keys:_col0,
 _col1, _col2
+                      Select Operator [SEL_27] (rows=210834322 width=135)
+                        
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                        Merge Join Operator [MERGEJOIN_60] (rows=210834322 
width=135)
+                          
Conds:RS_24._col3=RS_25._col0(Inner),Output:["_col0","_col1","_col8","_col10","_col12"]
+                        <-Map 11 [SIMPLE_EDGE]
+                          SHUFFLE [RS_25]
+                            PartitionCols:_col0
+                            Select Operator [SEL_14] (rows=1 width=0)
+                              Output:["_col0","_col1"]
+                              Filter Operator [FIL_56] (rows=1 width=0)
+                                predicate:sm_ship_mode_sk is not null
+                                TableScan [TS_12] (rows=1 width=0)
+                                  
default@ship_mode,ship_mode,Tbl:PARTIAL,Col:NONE,Output:["sm_ship_mode_sk","sm_type"]
+                        <-Reducer 4 [SIMPLE_EDGE]
+                          SHUFFLE [RS_24]
+                            PartitionCols:_col3
+                            Merge Join Operator [MERGEJOIN_59] (rows=191667562 
width=135)
+                              
Conds:RS_21._col4=RS_22._col0(Inner),Output:["_col0","_col1","_col3","_col8","_col10"]
+                            <-Map 10 [SIMPLE_EDGE]
+                              SHUFFLE [RS_22]
+                                PartitionCols:_col0
+                                Select Operator [SEL_11] (rows=27 width=1029)
+                                  Output:["_col0","_col1"]
+                                  Filter Operator [FIL_55] (rows=27 width=1029)
+                                    predicate:w_warehouse_sk is not null
+                                    TableScan [TS_9] (rows=27 width=1029)
+                                      
default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_warehouse_name"]
+                            <-Reducer 3 [SIMPLE_EDGE]
+                              SHUFFLE [RS_21]
+                                PartitionCols:_col4
+                                Merge Join Operator [MERGEJOIN_58] 
(rows=174243235 width=135)
+                                  
Conds:RS_18._col2=RS_19._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col8"]
+                                <-Map 9 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_19]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_8] (rows=84 
width=1850)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_54] (rows=84 
width=1850)
+                                        predicate:web_site_sk is not null
+                                        TableScan [TS_6] (rows=84 width=1850)
+                                          
default@web_site,web_site,Tbl:COMPLETE,Col:NONE,Output:["web_site_sk","web_name"]
+                                <-Reducer 2 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_18]
+                                    PartitionCols:_col2
+                                    Merge Join Operator [MERGEJOIN_57] 
(rows=158402938 width=135)
+                                      
Conds:RS_15._col1=RS_16._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4"]
+                                    <-Map 1 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_15]
+                                        PartitionCols:_col1
+                                        Select Operator [SEL_2] 
(rows=144002668 width=135)
+                                          
Output:["_col0","_col1","_col2","_col3","_col4"]
+                                          Filter Operator [FIL_52] 
(rows=144002668 width=135)
+                                            predicate:(ws_warehouse_sk is not 
null and ws_ship_mode_sk is not null and ws_web_site_sk is not null and 
ws_ship_date_sk is not null)
+                                            TableScan [TS_0] (rows=144002668 
width=135)
+                                              
default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_ship_date_sk","ws_web_site_sk","ws_ship_mode_sk","ws_warehouse_sk"]
+                                    <-Map 8 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_16]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_5] (rows=8116 
width=1119)
+                                          Output:["_col0"]
+                                          Filter Operator [FIL_53] (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_month_seq"]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query63.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query63.q.out 
b/ql/src/test/results/clientpositive/perf/query63.q.out
new file mode 100644
index 0000000..1f0f184
--- /dev/null
+++ b/ql/src/test/results/clientpositive/perf/query63.q.out
@@ -0,0 +1,143 @@
+PREHOOK: query: explain
+select  * 
+from (select i_manager_id
+             ,sum(ss_sales_price) sum_sales
+             ,avg(sum(ss_sales_price)) over (partition by i_manager_id) 
avg_monthly_sales
+      from item
+          ,store_sales
+          ,date_dim
+          ,store
+      where ss_item_sk = i_item_sk
+        and ss_sold_date_sk = d_date_sk
+        and ss_store_sk = s_store_sk
+        and d_month_seq in 
(1212,1212+1,1212+2,1212+3,1212+4,1212+5,1212+6,1212+7,1212+8,1212+9,1212+10,1212+11)
+        and ((    i_category in ('Books','Children','Electronics')
+              and i_class in ('personal','portable','refernece','self-help')
+              and i_brand in ('scholaramalgamalg #14','scholaramalgamalg #7',
+                                 'exportiunivamalg #9','scholaramalgamalg #9'))
+           or(    i_category in ('Women','Music','Men')
+              and i_class in ('accessories','classical','fragrances','pants')
+              and i_brand in ('amalgimporto #1','edu packscholar 
#1','exportiimporto #1',
+                                'importoamalg #1')))
+group by i_manager_id, d_moy) tmp1
+where case when avg_monthly_sales > 0 then abs (sum_sales - avg_monthly_sales) 
/ avg_monthly_sales else null end > 0.1
+order by i_manager_id
+        ,avg_monthly_sales
+        ,sum_sales
+limit 100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select  * 
+from (select i_manager_id
+             ,sum(ss_sales_price) sum_sales
+             ,avg(sum(ss_sales_price)) over (partition by i_manager_id) 
avg_monthly_sales
+      from item
+          ,store_sales
+          ,date_dim
+          ,store
+      where ss_item_sk = i_item_sk
+        and ss_sold_date_sk = d_date_sk
+        and ss_store_sk = s_store_sk
+        and d_month_seq in 
(1212,1212+1,1212+2,1212+3,1212+4,1212+5,1212+6,1212+7,1212+8,1212+9,1212+10,1212+11)
+        and ((    i_category in ('Books','Children','Electronics')
+              and i_class in ('personal','portable','refernece','self-help')
+              and i_brand in ('scholaramalgamalg #14','scholaramalgamalg #7',
+                                 'exportiunivamalg #9','scholaramalgamalg #9'))
+           or(    i_category in ('Women','Music','Men')
+              and i_class in ('accessories','classical','fragrances','pants')
+              and i_brand in ('amalgimporto #1','edu packscholar 
#1','exportiimporto #1',
+                                'importoamalg #1')))
+group by i_manager_id, d_moy) tmp1
+where case when avg_monthly_sales > 0 then abs (sum_sales - avg_monthly_sales) 
/ avg_monthly_sales else null end > 0.1
+order by i_manager_id
+        ,avg_monthly_sales
+        ,sum_sales
+limit 100
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:100
+    Stage-1
+      Reducer 6
+      File Output Operator [FS_36]
+        Limit [LIM_35] (rows=100 width=88)
+          Number of rows:100
+          Select Operator [SEL_34] (rows=191662559 width=88)
+            Output:["_col0","_col1","_col2"]
+          <-Reducer 5 [SIMPLE_EDGE]
+            SHUFFLE [RS_33]
+              Select Operator [SEL_30] (rows=191662559 width=88)
+                Output:["_col0","_col1","_col2"]
+                Filter Operator [FIL_46] (rows=191662559 width=88)
+                  predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 
- avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+                  Select Operator [SEL_29] (rows=383325119 width=88)
+                    Output:["avg_window_0","_col0","_col2"]
+                    PTF Operator [PTF_28] (rows=383325119 width=88)
+                      Function 
definitions:[{},{"name:":"windowingtablefunction","order by:":"_col0 ASC NULLS 
FIRST","partition by:":"_col0"}]
+                      Select Operator [SEL_25] (rows=383325119 width=88)
+                        Output:["_col0","_col2"]
+                        Group By Operator [GBY_24] (rows=383325119 width=88)
+                          
Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0,
 KEY._col1
+                        <-Reducer 4 [SIMPLE_EDGE]
+                          SHUFFLE [RS_23]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_22] (rows=766650239 
width=88)
+                              
Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col8, _col11
+                              Merge Join Operator [MERGEJOIN_54] 
(rows=766650239 width=88)
+                                
Conds:RS_18._col2=RS_19._col0(Inner),Output:["_col3","_col8","_col11"]
+                              <-Map 9 [SIMPLE_EDGE]
+                                SHUFFLE [RS_19]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_11] (rows=1704 
width=1910)
+                                    Output:["_col0"]
+                                    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"]
+                              <-Reducer 3 [SIMPLE_EDGE]
+                                SHUFFLE [RS_18]
+                                  PartitionCols:_col2
+                                  Merge Join Operator [MERGEJOIN_53] 
(rows=696954748 width=88)
+                                    
Conds:RS_15._col0=RS_16._col0(Inner),Output:["_col2","_col3","_col8","_col11"]
+                                  <-Map 8 [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_month_seq) IN (1212, 
1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223) and d_date_sk 
is not null)
+                                          TableScan [TS_6] (rows=73049 
width=1119)
+                                            
default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_month_seq","d_moy"]
+                                  <-Reducer 2 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_15]
+                                      PartitionCols:_col0
+                                      Merge Join Operator [MERGEJOIN_52] 
(rows=633595212 width=88)
+                                        
Conds:RS_12._col1=RS_13._col0(Inner),Output:["_col0","_col2","_col3","_col8"]
+                                      <-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 7 [SIMPLE_EDGE]
+                                        SHUFFLE [RS_13]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_5] (rows=115500 
width=1436)
+                                            Output:["_col0","_col4"]
+                                            Filter Operator [FIL_48] 
(rows=115500 width=1436)
+                                              predicate:(((i_class) IN 
('personal', 'portable', 'refernece', 'self-help') or (i_class) IN 
('accessories', 'classical', 'fragrances', 'pants')) and ((i_brand) IN 
('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 
'scholaramalgamalg #9') or (i_brand) IN ('amalgimporto #1', 'edu packscholar 
#1', 'exportiimporto #1', 'importoamalg #1')) and ((i_category) IN ('Books', 
'Children', 'Electronics') or (i_category) IN ('Women', 'Music', 'Men')) and 
(((i_category) IN ('Books', 'Children', 'Electronics') and (i_class) IN 
('personal', 'portable', 'refernece', 'self-help') and (i_brand) IN 
('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 
'scholaramalgamalg #9')) or ((i_category) IN ('Women', 'Music', 'Men') and 
(i_class) IN ('accessories', 'classical', 'fragrances', 'pants') and (i_brand) 
IN ('amalgimporto #1', 'edu packscholar #1', 'exportiimporto #1', 'importoamalg 
#1'))) and i_item_sk is not null)
+                                              TableScan [TS_3] (rows=462000 
width=1436)
+                                                
default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_class","i_category","i_manager_id"]
+

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query64.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query64.q.out 
b/ql/src/test/results/clientpositive/perf/query64.q.out
index 0d2fc21..f24b14d 100644
--- a/ql/src/test/results/clientpositive/perf/query64.q.out
+++ b/ql/src/test/results/clientpositive/perf/query64.q.out
@@ -1,6 +1,238 @@
-PREHOOK: query: explain select cs1.product_name ,cs1.store_name ,cs1.store_zip 
,cs1.b_street_number ,cs1.b_streen_name ,cs1.b_city ,cs1.b_zip 
,cs1.c_street_number ,cs1.c_street_name ,cs1.c_city ,cs1.c_zip ,cs1.syear 
,cs1.cnt ,cs1.s1 ,cs1.s2 ,cs1.s3 ,cs2.s1 ,cs2.s2 ,cs2.s3 ,cs2.syear ,cs2.cnt 
from (select i_product_name as product_name ,i_item_sk as item_sk ,s_store_name 
as store_name ,s_zip as store_zip ,ad1.ca_street_number as b_street_number 
,ad1.ca_street_name as b_streen_name ,ad1.ca_city as b_city ,ad1.ca_zip as 
b_zip ,ad2.ca_street_number as c_street_number ,ad2.ca_street_name as 
c_street_name ,ad2.ca_city as c_city ,ad2.ca_zip as c_zip ,d1.d_year as syear 
,d2.d_year as fsyear ,d3.d_year as s2year ,count(*) as cnt 
,sum(ss_wholesale_cost) as s1 ,sum(ss_list_price) as s2 ,sum(ss_coupon_amt) as 
s3 FROM store_sales JOIN store_returns ON store_sales.ss_item_sk = 
store_returns.sr_item_sk and store_sales.ss_ticket_number = 
store_returns.sr_ticket_number JOIN customer ON store_sales.s
 s_customer_sk = customer.c_customer_sk JOIN date_dim d1 ON 
store_sales.ss_sold_date_sk = d1.d_date_sk JOIN date_dim d2 ON 
customer.c_first_sales_date_sk = d2.d_date_sk JOIN date_dim d3 ON 
customer.c_first_shipto_date_sk = d3.d_date_sk JOIN store ON 
store_sales.ss_store_sk = store.s_store_sk JOIN customer_demographics cd1 ON 
store_sales.ss_cdemo_sk= cd1.cd_demo_sk JOIN customer_demographics cd2 ON 
customer.c_current_cdemo_sk = cd2.cd_demo_sk JOIN promotion ON 
store_sales.ss_promo_sk = promotion.p_promo_sk JOIN household_demographics hd1 
ON store_sales.ss_hdemo_sk = hd1.hd_demo_sk JOIN household_demographics hd2 ON 
customer.c_current_hdemo_sk = hd2.hd_demo_sk JOIN customer_address ad1 ON 
store_sales.ss_addr_sk = ad1.ca_address_sk JOIN customer_address ad2 ON 
customer.c_current_addr_sk = ad2.ca_address_sk JOIN income_band ib1 ON 
hd1.hd_income_band_sk = ib1.ib_income_band_sk JOIN income_band ib2 ON 
hd2.hd_income_band_sk = ib2.ib_income_band_sk JOIN item ON 
store_sales.ss_item_sk = item.
 i_item_sk JOIN (select cs_item_sk ,sum(cs_ext_list_price) as 
sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund from 
catalog_sales JOIN catalog_returns ON catalog_sales.cs_item_sk = 
catalog_returns.cr_item_sk and catalog_sales.cs_order_number = 
catalog_returns.cr_order_number group by cs_item_sk having 
sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit))
 cs_ui ON store_sales.ss_item_sk = cs_ui.cs_item_sk WHERE cd1.cd_marital_status 
<> cd2.cd_marital_status and i_color in 
('maroon','burnished','dim','steel','navajo','chocolate') and i_current_price 
between 35 and 35 + 10 and i_current_price between 35 + 1 and 35 + 15 group by 
i_product_name ,i_item_sk ,s_store_name ,s_zip ,ad1.ca_street_number 
,ad1.ca_street_name ,ad1.ca_city ,ad1.ca_zip ,ad2.ca_street_number 
,ad2.ca_street_name ,ad2.ca_city ,ad2.ca_zip ,d1.d_year ,d2.d_year ,d3.d_year ) 
cs1 JOIN (select i_product_name as product_name ,i_item_sk as item_sk 
,s_store_name as store_name
  ,s_zip as store_zip ,ad1.ca_street_number as b_street_number 
,ad1.ca_street_name as b_streen_name ,ad1.ca_city as b_city ,ad1.ca_zip as 
b_zip ,ad2.ca_street_number as c_street_number ,ad2.ca_street_name as 
c_street_name ,ad2.ca_city as c_city ,ad2.ca_zip as c_zip ,d1.d_year as syear 
,d2.d_year as fsyear ,d3.d_year as s2year ,count(*) as cnt 
,sum(ss_wholesale_cost) as s1 ,sum(ss_list_price) as s2 ,sum(ss_coupon_amt) as 
s3 FROM store_sales JOIN store_returns ON store_sales.ss_item_sk = 
store_returns.sr_item_sk and store_sales.ss_ticket_number = 
store_returns.sr_ticket_number JOIN customer ON store_sales.ss_customer_sk = 
customer.c_customer_sk JOIN date_dim d1 ON store_sales.ss_sold_date_sk = 
d1.d_date_sk JOIN date_dim d2 ON customer.c_first_sales_date_sk = d2.d_date_sk 
JOIN date_dim d3 ON customer.c_first_shipto_date_sk = d3.d_date_sk JOIN store 
ON store_sales.ss_store_sk = store.s_store_sk JOIN customer_demographics cd1 ON 
store_sales.ss_cdemo_sk= cd1.cd_demo_sk JOIN customer_demogr
 aphics cd2 ON customer.c_current_cdemo_sk = cd2.cd_demo_sk JOIN promotion ON 
store_sales.ss_promo_sk = promotion.p_promo_sk JOIN household_demographics hd1 
ON store_sales.ss_hdemo_sk = hd1.hd_demo_sk JOIN household_demographics hd2 ON 
customer.c_current_hdemo_sk = hd2.hd_demo_sk JOIN customer_address ad1 ON 
store_sales.ss_addr_sk = ad1.ca_address_sk JOIN customer_address ad2 ON 
customer.c_current_addr_sk = ad2.ca_address_sk JOIN income_band ib1 ON 
hd1.hd_income_band_sk = ib1.ib_income_band_sk JOIN income_band ib2 ON 
hd2.hd_income_band_sk = ib2.ib_income_band_sk JOIN item ON 
store_sales.ss_item_sk = item.i_item_sk JOIN (select cs_item_sk 
,sum(cs_ext_list_price) as 
sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund from 
catalog_sales JOIN catalog_returns ON catalog_sales.cs_item_sk = 
catalog_returns.cr_item_sk and catalog_sales.cs_order_number = 
catalog_returns.cr_order_number group by cs_item_sk having 
sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_cha
 rge+cr_store_credit)) cs_ui ON store_sales.ss_item_sk = cs_ui.cs_item_sk WHERE 
cd1.cd_marital_status <> cd2.cd_marital_status and i_color in 
('maroon','burnished','dim','steel','navajo','chocolate') and i_current_price 
between 35 and 35 + 10 and i_current_price between 35 + 1 and 35 + 15 group by 
i_product_name ,i_item_sk ,s_store_name ,s_zip ,ad1.ca_street_number 
,ad1.ca_street_name ,ad1.ca_city ,ad1.ca_zip ,ad2.ca_street_number 
,ad2.ca_street_name ,ad2.ca_city ,ad2.ca_zip ,d1.d_year ,d2.d_year ,d3.d_year ) 
cs2 ON cs1.item_sk=cs2.item_sk where cs1.syear = 2000 and cs2.syear = 2000 + 1 
and cs2.cnt <= cs1.cnt and cs1.store_name = cs2.store_name and cs1.store_zip = 
cs2.store_zip order by cs1.product_name ,cs1.store_name ,cs2.cnt
+PREHOOK: query: explain
+with cs_ui as
+ (select cs_item_sk
+        ,sum(cs_ext_list_price) as 
sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund
+  from catalog_sales
+      ,catalog_returns
+  where cs_item_sk = cr_item_sk
+    and cs_order_number = cr_order_number
+  group by cs_item_sk
+  having 
sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit)),
+cross_sales as
+ (select i_product_name product_name
+     ,i_item_sk item_sk
+     ,s_store_name store_name
+     ,s_zip store_zip
+     ,ad1.ca_street_number b_street_number
+     ,ad1.ca_street_name b_streen_name
+     ,ad1.ca_city b_city
+     ,ad1.ca_zip b_zip
+     ,ad2.ca_street_number c_street_number
+     ,ad2.ca_street_name c_street_name
+     ,ad2.ca_city c_city
+     ,ad2.ca_zip c_zip
+     ,d1.d_year as syear
+     ,d2.d_year as fsyear
+     ,d3.d_year s2year
+     ,count(*) cnt
+     ,sum(ss_wholesale_cost) s1
+     ,sum(ss_list_price) s2
+     ,sum(ss_coupon_amt) s3
+  FROM   store_sales
+        ,store_returns
+        ,cs_ui
+        ,date_dim d1
+        ,date_dim d2
+        ,date_dim d3
+        ,store
+        ,customer
+        ,customer_demographics cd1
+        ,customer_demographics cd2
+        ,promotion
+        ,household_demographics hd1
+        ,household_demographics hd2
+        ,customer_address ad1
+        ,customer_address ad2
+        ,income_band ib1
+        ,income_band ib2
+        ,item
+  WHERE  ss_store_sk = s_store_sk AND
+         ss_sold_date_sk = d1.d_date_sk AND
+         ss_customer_sk = c_customer_sk AND
+         ss_cdemo_sk= cd1.cd_demo_sk AND
+         ss_hdemo_sk = hd1.hd_demo_sk AND
+         ss_addr_sk = ad1.ca_address_sk and
+         ss_item_sk = i_item_sk and
+         ss_item_sk = sr_item_sk and
+         ss_ticket_number = sr_ticket_number and
+         ss_item_sk = cs_ui.cs_item_sk and
+         c_current_cdemo_sk = cd2.cd_demo_sk AND
+         c_current_hdemo_sk = hd2.hd_demo_sk AND
+         c_current_addr_sk = ad2.ca_address_sk and
+         c_first_sales_date_sk = d2.d_date_sk and
+         c_first_shipto_date_sk = d3.d_date_sk and
+         ss_promo_sk = p_promo_sk and
+         hd1.hd_income_band_sk = ib1.ib_income_band_sk and
+         hd2.hd_income_band_sk = ib2.ib_income_band_sk and
+         cd1.cd_marital_status <> cd2.cd_marital_status and
+         i_color in ('maroon','burnished','dim','steel','navajo','chocolate') 
and
+         i_current_price between 35 and 35 + 10 and
+         i_current_price between 35 + 1 and 35 + 15
+group by i_product_name
+       ,i_item_sk
+       ,s_store_name
+       ,s_zip
+       ,ad1.ca_street_number
+       ,ad1.ca_street_name
+       ,ad1.ca_city
+       ,ad1.ca_zip
+       ,ad2.ca_street_number
+       ,ad2.ca_street_name
+       ,ad2.ca_city
+       ,ad2.ca_zip
+       ,d1.d_year
+       ,d2.d_year
+       ,d3.d_year
+)
+select cs1.product_name
+     ,cs1.store_name
+     ,cs1.store_zip
+     ,cs1.b_street_number
+     ,cs1.b_streen_name
+     ,cs1.b_city
+     ,cs1.b_zip
+     ,cs1.c_street_number
+     ,cs1.c_street_name
+     ,cs1.c_city
+     ,cs1.c_zip
+     ,cs1.syear
+     ,cs1.cnt
+     ,cs1.s1
+     ,cs1.s2
+     ,cs1.s3
+     ,cs2.s1
+     ,cs2.s2
+     ,cs2.s3
+     ,cs2.syear
+     ,cs2.cnt
+from cross_sales cs1,cross_sales cs2
+where cs1.item_sk=cs2.item_sk and
+     cs1.syear = 2000 and
+     cs2.syear = 2000 + 1 and
+     cs2.cnt <= cs1.cnt and
+     cs1.store_name = cs2.store_name and
+     cs1.store_zip = cs2.store_zip
+order by cs1.product_name
+       ,cs1.store_name
+       ,cs2.cnt
 PREHOOK: type: QUERY
-POSTHOOK: query: explain select cs1.product_name ,cs1.store_name 
,cs1.store_zip ,cs1.b_street_number ,cs1.b_streen_name ,cs1.b_city ,cs1.b_zip 
,cs1.c_street_number ,cs1.c_street_name ,cs1.c_city ,cs1.c_zip ,cs1.syear 
,cs1.cnt ,cs1.s1 ,cs1.s2 ,cs1.s3 ,cs2.s1 ,cs2.s2 ,cs2.s3 ,cs2.syear ,cs2.cnt 
from (select i_product_name as product_name ,i_item_sk as item_sk ,s_store_name 
as store_name ,s_zip as store_zip ,ad1.ca_street_number as b_street_number 
,ad1.ca_street_name as b_streen_name ,ad1.ca_city as b_city ,ad1.ca_zip as 
b_zip ,ad2.ca_street_number as c_street_number ,ad2.ca_street_name as 
c_street_name ,ad2.ca_city as c_city ,ad2.ca_zip as c_zip ,d1.d_year as syear 
,d2.d_year as fsyear ,d3.d_year as s2year ,count(*) as cnt 
,sum(ss_wholesale_cost) as s1 ,sum(ss_list_price) as s2 ,sum(ss_coupon_amt) as 
s3 FROM store_sales JOIN store_returns ON store_sales.ss_item_sk = 
store_returns.sr_item_sk and store_sales.ss_ticket_number = 
store_returns.sr_ticket_number JOIN customer ON store_sales.
 ss_customer_sk = customer.c_customer_sk JOIN date_dim d1 ON 
store_sales.ss_sold_date_sk = d1.d_date_sk JOIN date_dim d2 ON 
customer.c_first_sales_date_sk = d2.d_date_sk JOIN date_dim d3 ON 
customer.c_first_shipto_date_sk = d3.d_date_sk JOIN store ON 
store_sales.ss_store_sk = store.s_store_sk JOIN customer_demographics cd1 ON 
store_sales.ss_cdemo_sk= cd1.cd_demo_sk JOIN customer_demographics cd2 ON 
customer.c_current_cdemo_sk = cd2.cd_demo_sk JOIN promotion ON 
store_sales.ss_promo_sk = promotion.p_promo_sk JOIN household_demographics hd1 
ON store_sales.ss_hdemo_sk = hd1.hd_demo_sk JOIN household_demographics hd2 ON 
customer.c_current_hdemo_sk = hd2.hd_demo_sk JOIN customer_address ad1 ON 
store_sales.ss_addr_sk = ad1.ca_address_sk JOIN customer_address ad2 ON 
customer.c_current_addr_sk = ad2.ca_address_sk JOIN income_band ib1 ON 
hd1.hd_income_band_sk = ib1.ib_income_band_sk JOIN income_band ib2 ON 
hd2.hd_income_band_sk = ib2.ib_income_band_sk JOIN item ON 
store_sales.ss_item_sk = item
 .i_item_sk JOIN (select cs_item_sk ,sum(cs_ext_list_price) as 
sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund from 
catalog_sales JOIN catalog_returns ON catalog_sales.cs_item_sk = 
catalog_returns.cr_item_sk and catalog_sales.cs_order_number = 
catalog_returns.cr_order_number group by cs_item_sk having 
sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit))
 cs_ui ON store_sales.ss_item_sk = cs_ui.cs_item_sk WHERE cd1.cd_marital_status 
<> cd2.cd_marital_status and i_color in 
('maroon','burnished','dim','steel','navajo','chocolate') and i_current_price 
between 35 and 35 + 10 and i_current_price between 35 + 1 and 35 + 15 group by 
i_product_name ,i_item_sk ,s_store_name ,s_zip ,ad1.ca_street_number 
,ad1.ca_street_name ,ad1.ca_city ,ad1.ca_zip ,ad2.ca_street_number 
,ad2.ca_street_name ,ad2.ca_city ,ad2.ca_zip ,d1.d_year ,d2.d_year ,d3.d_year ) 
cs1 JOIN (select i_product_name as product_name ,i_item_sk as item_sk 
,s_store_name as store_nam
 e ,s_zip as store_zip ,ad1.ca_street_number as b_street_number 
,ad1.ca_street_name as b_streen_name ,ad1.ca_city as b_city ,ad1.ca_zip as 
b_zip ,ad2.ca_street_number as c_street_number ,ad2.ca_street_name as 
c_street_name ,ad2.ca_city as c_city ,ad2.ca_zip as c_zip ,d1.d_year as syear 
,d2.d_year as fsyear ,d3.d_year as s2year ,count(*) as cnt 
,sum(ss_wholesale_cost) as s1 ,sum(ss_list_price) as s2 ,sum(ss_coupon_amt) as 
s3 FROM store_sales JOIN store_returns ON store_sales.ss_item_sk = 
store_returns.sr_item_sk and store_sales.ss_ticket_number = 
store_returns.sr_ticket_number JOIN customer ON store_sales.ss_customer_sk = 
customer.c_customer_sk JOIN date_dim d1 ON store_sales.ss_sold_date_sk = 
d1.d_date_sk JOIN date_dim d2 ON customer.c_first_sales_date_sk = d2.d_date_sk 
JOIN date_dim d3 ON customer.c_first_shipto_date_sk = d3.d_date_sk JOIN store 
ON store_sales.ss_store_sk = store.s_store_sk JOIN customer_demographics cd1 ON 
store_sales.ss_cdemo_sk= cd1.cd_demo_sk JOIN customer_demog
 raphics cd2 ON customer.c_current_cdemo_sk = cd2.cd_demo_sk JOIN promotion ON 
store_sales.ss_promo_sk = promotion.p_promo_sk JOIN household_demographics hd1 
ON store_sales.ss_hdemo_sk = hd1.hd_demo_sk JOIN household_demographics hd2 ON 
customer.c_current_hdemo_sk = hd2.hd_demo_sk JOIN customer_address ad1 ON 
store_sales.ss_addr_sk = ad1.ca_address_sk JOIN customer_address ad2 ON 
customer.c_current_addr_sk = ad2.ca_address_sk JOIN income_band ib1 ON 
hd1.hd_income_band_sk = ib1.ib_income_band_sk JOIN income_band ib2 ON 
hd2.hd_income_band_sk = ib2.ib_income_band_sk JOIN item ON 
store_sales.ss_item_sk = item.i_item_sk JOIN (select cs_item_sk 
,sum(cs_ext_list_price) as 
sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund from 
catalog_sales JOIN catalog_returns ON catalog_sales.cs_item_sk = 
catalog_returns.cr_item_sk and catalog_sales.cs_order_number = 
catalog_returns.cr_order_number group by cs_item_sk having 
sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_ch
 arge+cr_store_credit)) cs_ui ON store_sales.ss_item_sk = cs_ui.cs_item_sk 
WHERE cd1.cd_marital_status <> cd2.cd_marital_status and i_color in 
('maroon','burnished','dim','steel','navajo','chocolate') and i_current_price 
between 35 and 35 + 10 and i_current_price between 35 + 1 and 35 + 15 group by 
i_product_name ,i_item_sk ,s_store_name ,s_zip ,ad1.ca_street_number 
,ad1.ca_street_name ,ad1.ca_city ,ad1.ca_zip ,ad2.ca_street_number 
,ad2.ca_street_name ,ad2.ca_city ,ad2.ca_zip ,d1.d_year ,d2.d_year ,d3.d_year ) 
cs2 ON cs1.item_sk=cs2.item_sk where cs1.syear = 2000 and cs2.syear = 2000 + 1 
and cs2.cnt <= cs1.cnt and cs1.store_name = cs2.store_name and cs1.store_zip = 
cs2.store_zip order by cs1.product_name ,cs1.store_name ,cs2.cnt
+POSTHOOK: query: explain
+with cs_ui as
+ (select cs_item_sk
+        ,sum(cs_ext_list_price) as 
sale,sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit) as refund
+  from catalog_sales
+      ,catalog_returns
+  where cs_item_sk = cr_item_sk
+    and cs_order_number = cr_order_number
+  group by cs_item_sk
+  having 
sum(cs_ext_list_price)>2*sum(cr_refunded_cash+cr_reversed_charge+cr_store_credit)),
+cross_sales as
+ (select i_product_name product_name
+     ,i_item_sk item_sk
+     ,s_store_name store_name
+     ,s_zip store_zip
+     ,ad1.ca_street_number b_street_number
+     ,ad1.ca_street_name b_streen_name
+     ,ad1.ca_city b_city
+     ,ad1.ca_zip b_zip
+     ,ad2.ca_street_number c_street_number
+     ,ad2.ca_street_name c_street_name
+     ,ad2.ca_city c_city
+     ,ad2.ca_zip c_zip
+     ,d1.d_year as syear
+     ,d2.d_year as fsyear
+     ,d3.d_year s2year
+     ,count(*) cnt
+     ,sum(ss_wholesale_cost) s1
+     ,sum(ss_list_price) s2
+     ,sum(ss_coupon_amt) s3
+  FROM   store_sales
+        ,store_returns
+        ,cs_ui
+        ,date_dim d1
+        ,date_dim d2
+        ,date_dim d3
+        ,store
+        ,customer
+        ,customer_demographics cd1
+        ,customer_demographics cd2
+        ,promotion
+        ,household_demographics hd1
+        ,household_demographics hd2
+        ,customer_address ad1
+        ,customer_address ad2
+        ,income_band ib1
+        ,income_band ib2
+        ,item
+  WHERE  ss_store_sk = s_store_sk AND
+         ss_sold_date_sk = d1.d_date_sk AND
+         ss_customer_sk = c_customer_sk AND
+         ss_cdemo_sk= cd1.cd_demo_sk AND
+         ss_hdemo_sk = hd1.hd_demo_sk AND
+         ss_addr_sk = ad1.ca_address_sk and
+         ss_item_sk = i_item_sk and
+         ss_item_sk = sr_item_sk and
+         ss_ticket_number = sr_ticket_number and
+         ss_item_sk = cs_ui.cs_item_sk and
+         c_current_cdemo_sk = cd2.cd_demo_sk AND
+         c_current_hdemo_sk = hd2.hd_demo_sk AND
+         c_current_addr_sk = ad2.ca_address_sk and
+         c_first_sales_date_sk = d2.d_date_sk and
+         c_first_shipto_date_sk = d3.d_date_sk and
+         ss_promo_sk = p_promo_sk and
+         hd1.hd_income_band_sk = ib1.ib_income_band_sk and
+         hd2.hd_income_band_sk = ib2.ib_income_band_sk and
+         cd1.cd_marital_status <> cd2.cd_marital_status and
+         i_color in ('maroon','burnished','dim','steel','navajo','chocolate') 
and
+         i_current_price between 35 and 35 + 10 and
+         i_current_price between 35 + 1 and 35 + 15
+group by i_product_name
+       ,i_item_sk
+       ,s_store_name
+       ,s_zip
+       ,ad1.ca_street_number
+       ,ad1.ca_street_name
+       ,ad1.ca_city
+       ,ad1.ca_zip
+       ,ad2.ca_street_number
+       ,ad2.ca_street_name
+       ,ad2.ca_city
+       ,ad2.ca_zip
+       ,d1.d_year
+       ,d2.d_year
+       ,d3.d_year
+)
+select cs1.product_name
+     ,cs1.store_name
+     ,cs1.store_zip
+     ,cs1.b_street_number
+     ,cs1.b_streen_name
+     ,cs1.b_city
+     ,cs1.b_zip
+     ,cs1.c_street_number
+     ,cs1.c_street_name
+     ,cs1.c_city
+     ,cs1.c_zip
+     ,cs1.syear
+     ,cs1.cnt
+     ,cs1.s1
+     ,cs1.s2
+     ,cs1.s3
+     ,cs2.s1
+     ,cs2.s2
+     ,cs2.s3
+     ,cs2.syear
+     ,cs2.cnt
+from cross_sales cs1,cross_sales cs2
+where cs1.item_sk=cs2.item_sk and
+     cs1.syear = 2000 and
+     cs2.syear = 2000 + 1 and
+     cs2.cnt <= cs1.cnt and
+     cs1.store_name = cs2.store_name and
+     cs1.store_zip = cs2.store_zip
+order by cs1.product_name
+       ,cs1.store_name
+       ,cs2.cnt
 POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
@@ -161,7 +393,7 @@ Stage-0
                                                             Select Operator 
[SEL_130] (rows=80000000 width=860)
                                                               
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                                                               Filter Operator 
[FIL_556] (rows=80000000 width=860)
-                                                                
predicate:(c_customer_sk is not null and c_first_sales_date_sk is not null and 
c_first_shipto_date_sk is not null and c_current_cdemo_sk is not null and 
c_current_hdemo_sk is not null and c_current_addr_sk is not null)
+                                                                
predicate:(c_customer_sk is not null and c_first_shipto_date_sk is not null and 
c_first_sales_date_sk is not null and c_current_cdemo_sk is not null and 
c_current_hdemo_sk is not null and c_current_addr_sk is not null)
                                                                 TableScan 
[TS_0] (rows=80000000 width=860)
                                                                   
default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_hdemo_sk","c_current_addr_sk","c_first_shipto_date_sk","c_first_sales_date_sk"]
                                                 <-Reducer 36 [SIMPLE_EDGE]
@@ -280,7 +512,7 @@ Stage-0
                                                                             
Select Operator [SEL_161] (rows=575995635 width=88)
                                                                               
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
                                                                               
Filter Operator [FIL_565] (rows=575995635 width=88)
-                                                                               
 predicate:(ss_item_sk is not null and ss_ticket_number is not null and 
ss_customer_sk is not null and ss_sold_date_sk is not null and ss_store_sk is 
not null and ss_cdemo_sk is not null and ss_promo_sk is not null and 
ss_hdemo_sk is not null and ss_addr_sk is not null)
+                                                                               
 predicate:(ss_item_sk is not null and ss_ticket_number is not null and 
ss_sold_date_sk is not null and ss_store_sk is not null and ss_customer_sk is 
not null and ss_cdemo_sk is not null and ss_promo_sk is not null and 
ss_hdemo_sk is not null and ss_addr_sk is not null)
                                                                                
 TableScan [TS_31] (rows=575995635 width=88)
                                                                                
   
default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_cdemo_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_promo_sk","ss_ticket_number","ss_wholesale_cost","ss_list_price","ss_coupon_amt"]
                                                                         <-Map 
46 [SIMPLE_EDGE]
@@ -470,7 +702,7 @@ Stage-0
                                                                             
Select Operator [SEL_33] (rows=575995635 width=88)
                                                                               
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
                                                                               
Filter Operator [FIL_546] (rows=575995635 width=88)
-                                                                               
 predicate:(ss_item_sk is not null and ss_ticket_number is not null and 
ss_customer_sk is not null and ss_sold_date_sk is not null and ss_store_sk is 
not null and ss_cdemo_sk is not null and ss_promo_sk is not null and 
ss_hdemo_sk is not null and ss_addr_sk is not null)
+                                                                               
 predicate:(ss_item_sk is not null and ss_ticket_number is not null and 
ss_sold_date_sk is not null and ss_store_sk is not null and ss_customer_sk is 
not null and ss_cdemo_sk is not null and ss_promo_sk is not null and 
ss_hdemo_sk is not null and ss_addr_sk is not null)
                                                                                
  Please refer to the previous TableScan [TS_31]
                                                                         <-Map 
46 [SIMPLE_EDGE]
                                                                           
SHUFFLE [RS_47]
@@ -598,7 +830,7 @@ Stage-0
                                                             Select Operator 
[SEL_2] (rows=80000000 width=860)
                                                               
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                                                               Filter Operator 
[FIL_537] (rows=80000000 width=860)
-                                                                
predicate:(c_customer_sk is not null and c_first_sales_date_sk is not null and 
c_first_shipto_date_sk is not null and c_current_cdemo_sk is not null and 
c_current_hdemo_sk is not null and c_current_addr_sk is not null)
+                                                                
predicate:(c_customer_sk is not null and c_first_shipto_date_sk is not null and 
c_first_sales_date_sk is not null and c_current_cdemo_sk is not null and 
c_current_hdemo_sk is not null and c_current_addr_sk is not null)
                                                                  Please refer 
to the previous TableScan [TS_0]
                                                 <-Reducer 34 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_107]

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query65.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query65.q.out 
b/ql/src/test/results/clientpositive/perf/query65.q.out
index 17d80d0..b2035c2 100644
--- a/ql/src/test/results/clientpositive/perf/query65.q.out
+++ b/ql/src/test/results/clientpositive/perf/query65.q.out
@@ -1,77 +1,57 @@
-PREHOOK: query: explain select 
-    s_store_name,
-    i_item_desc,
-    sc.revenue,
-    i_current_price,
-    i_wholesale_cost,
-    i_brand
-from
-    store,
-    item,
-    (select 
-        ss_store_sk, avg(revenue) as ave
-    from
-        (select 
-        ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
-    from
-        store_sales, date_dim
-    where
-        ss_sold_date_sk = d_date_sk
-            and d_month_seq between 1212 and 1212 + 11
-    group by ss_store_sk , ss_item_sk) sa
-    group by ss_store_sk) sb,
-    (select 
-        ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
-    from
-        store_sales, date_dim
-    where
-        ss_sold_date_sk = d_date_sk
-            and d_month_seq between 1212 and 1212 + 11
-    group by ss_store_sk , ss_item_sk) sc
-where
-    sb.ss_store_sk = sc.ss_store_sk
-        and sc.revenue <= 0.1 * sb.ave
-        and s_store_sk = sc.ss_store_sk
-        and i_item_sk = sc.ss_item_sk
-order by s_store_name , i_item_desc
+PREHOOK: query: explain
+select 
+       s_store_name,
+       i_item_desc,
+       sc.revenue,
+       i_current_price,
+       i_wholesale_cost,
+       i_brand
+ from store, item,
+     (select ss_store_sk, avg(revenue) as ave
+       from
+           (select  ss_store_sk, ss_item_sk, 
+                    sum(ss_sales_price) as revenue
+               from store_sales, date_dim
+               where ss_sold_date_sk = d_date_sk and d_month_seq between 1212 
and 1212+11
+               group by ss_store_sk, ss_item_sk) sa
+       group by ss_store_sk) sb,
+     (select  ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
+       from store_sales, date_dim
+       where ss_sold_date_sk = d_date_sk and d_month_seq between 1212 and 
1212+11
+       group by ss_store_sk, ss_item_sk) sc
+ where sb.ss_store_sk = sc.ss_store_sk and 
+       sc.revenue <= 0.1 * sb.ave and
+       s_store_sk = sc.ss_store_sk and
+       i_item_sk = sc.ss_item_sk
+ order by s_store_name, i_item_desc
 limit 100
 PREHOOK: type: QUERY
-POSTHOOK: query: explain select 
-    s_store_name,
-    i_item_desc,
-    sc.revenue,
-    i_current_price,
-    i_wholesale_cost,
-    i_brand
-from
-    store,
-    item,
-    (select 
-        ss_store_sk, avg(revenue) as ave
-    from
-        (select 
-        ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
-    from
-        store_sales, date_dim
-    where
-        ss_sold_date_sk = d_date_sk
-            and d_month_seq between 1212 and 1212 + 11
-    group by ss_store_sk , ss_item_sk) sa
-    group by ss_store_sk) sb,
-    (select 
-        ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
-    from
-        store_sales, date_dim
-    where
-        ss_sold_date_sk = d_date_sk
-            and d_month_seq between 1212 and 1212 + 11
-    group by ss_store_sk , ss_item_sk) sc
-where
-    sb.ss_store_sk = sc.ss_store_sk
-        and sc.revenue <= 0.1 * sb.ave
-        and s_store_sk = sc.ss_store_sk
-        and i_item_sk = sc.ss_item_sk
-order by s_store_name , i_item_desc
+POSTHOOK: query: explain
+select 
+       s_store_name,
+       i_item_desc,
+       sc.revenue,
+       i_current_price,
+       i_wholesale_cost,
+       i_brand
+ from store, item,
+     (select ss_store_sk, avg(revenue) as ave
+       from
+           (select  ss_store_sk, ss_item_sk, 
+                    sum(ss_sales_price) as revenue
+               from store_sales, date_dim
+               where ss_sold_date_sk = d_date_sk and d_month_seq between 1212 
and 1212+11
+               group by ss_store_sk, ss_item_sk) sa
+       group by ss_store_sk) sb,
+     (select  ss_store_sk, ss_item_sk, sum(ss_sales_price) as revenue
+       from store_sales, date_dim
+       where ss_sold_date_sk = d_date_sk and d_month_seq between 1212 and 
1212+11
+       group by ss_store_sk, ss_item_sk) sc
+ where sb.ss_store_sk = sc.ss_store_sk and 
+       sc.revenue <= 0.1 * sb.ave and
+       s_store_sk = sc.ss_store_sk and
+       i_item_sk = sc.ss_item_sk
+ order by s_store_name, i_item_desc
 limit 100
 POSTHOOK: type: QUERY
 Plan optimized by CBO.

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query66.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query66.q.out 
b/ql/src/test/results/clientpositive/perf/query66.q.out
index 19cd0fb..2c74815 100644
--- a/ql/src/test/results/clientpositive/perf/query66.q.out
+++ b/ql/src/test/results/clientpositive/perf/query66.q.out
@@ -1,11 +1,11 @@
 PREHOOK: query: explain
 select   
          w_warehouse_name
-        ,w_warehouse_sq_ft
-        ,w_city
-        ,w_county
-        ,w_state
-        ,w_country
+       ,w_warehouse_sq_ft
+       ,w_city
+       ,w_county
+       ,w_state
+       ,w_country
         ,ship_carriers
         ,year
        ,sum(jan_sales) as jan_sales
@@ -45,74 +45,74 @@ select
        ,sum(nov_net) as nov_net
        ,sum(dec_net) as dec_net
  from (
-    select 
-    w_warehouse_name
-    ,w_warehouse_sq_ft
-    ,w_city
-    ,w_county
-    ,w_state
-    ,w_country
-    ,concat('DIAMOND', ',', 'AIRBORNE') as ship_carriers
-        ,d_year as year
+    (select 
+       w_warehouse_name
+       ,w_warehouse_sq_ft
+       ,w_city
+       ,w_county
+       ,w_state
+       ,w_country
+       ,'DIAMOND' || ',' || 'AIRBORNE' as ship_carriers
+       ,d_year as year
        ,sum(case when d_moy = 1 
-                 then ws_sales_price* ws_quantity else 0 end) as jan_sales
-                 ,sum(case when d_moy = 2 
-                           then ws_sales_price* ws_quantity else 0 end) as 
feb_sales
-                           ,sum(case when d_moy = 3 
-                                     then ws_sales_price* ws_quantity else 0 
end) as mar_sales
-                                     ,sum(case when d_moy = 4 
-                                               then ws_sales_price* 
ws_quantity else 0 end) as apr_sales
-                                               ,sum(case when d_moy = 5 
-                                                         then ws_sales_price* 
ws_quantity else 0 end) as may_sales
-                                                         ,sum(case when d_moy 
= 6 
-                                                                   then 
ws_sales_price* ws_quantity else 0 end) as jun_sales
-                                                                   ,sum(case 
when d_moy = 7 
-                                                                             
then ws_sales_price* ws_quantity else 0 end) as jul_sales
-                                                                             
,sum(case when d_moy = 8 
-                                                                               
        then ws_sales_price* ws_quantity else 0 end) as aug_sales
-                                                                               
        ,sum(case when d_moy = 9 
-                                                                               
                  then ws_sales_price* ws_quantity else 0 end) as sep_sales
-                                                                               
                  ,sum(case when d_moy = 10 
-                                                                               
                            then ws_sales_price* ws_quantity else 0 end) as 
oct_sales
-                                                                               
                            ,sum(case when d_moy = 11
-                                                                               
                                      then ws_sales_price* ws_quantity else 0 
end) as nov_sales
-                                                                               
                                      ,sum(case when d_moy = 12
-                                                                               
                                                then ws_sales_price* 
ws_quantity else 0 end) as dec_sales
-                                                                               
                                                ,sum(case when d_moy = 1 
-                                                                               
                                                          then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as jan_net
-                                                                               
                                                          ,sum(case when d_moy 
= 2
-                                                                               
                                                                    then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as feb_net
-                                                                               
                                                                    ,sum(case 
when d_moy = 3 
-                                                                               
                                                                              
then ws_net_paid_inc_tax * ws_quantity else 0 end) as mar_net
-                                                                               
                                                                              
,sum(case when d_moy = 4 
-                                                                               
                                                                                
        then ws_net_paid_inc_tax * ws_quantity else 0 end) as apr_net
-                                                                               
                                                                                
        ,sum(case when d_moy = 5 
-                                                                               
                                                                                
                  then ws_net_paid_inc_tax * ws_quantity else 0 end) as may_net
-                                                                               
                                                                                
                  ,sum(case when d_moy = 6 
-                                                                               
                                                                                
                            then ws_net_paid_inc_tax * ws_quantity else 0 end) 
as jun_net
-                                                                               
                                                                                
                            ,sum(case when d_moy = 7 
-                                                                               
                                                                                
                                      then ws_net_paid_inc_tax * ws_quantity 
else 0 end) as jul_net
-                                                                               
                                                                                
                                      ,sum(case when d_moy = 8 
-                                                                               
                                                                                
                                                then ws_net_paid_inc_tax * 
ws_quantity else 0 end) as aug_net
-                                                                               
                                                                                
                                                ,sum(case when d_moy = 9 
-                                                                               
                                                                                
                                                          then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as sep_net
-                                                                               
                                                                                
                                                          ,sum(case when d_moy 
= 10 
-                                                                               
                                                                                
                                                                    then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as oct_net
-                                                                               
                                                                                
                                                                    ,sum(case 
when d_moy = 11
-                                                                               
                                                                                
                                                                              
then ws_net_paid_inc_tax * ws_quantity else 0 end) as nov_net
-                                                                               
                                                                                
                                                                              
,sum(case when d_moy = 12
-                                                                               
                                                                                
                                                                                
        then ws_net_paid_inc_tax * ws_quantity else 0 end) as dec_net
+               then ws_sales_price* ws_quantity else 0 end) as jan_sales
+       ,sum(case when d_moy = 2 
+               then ws_sales_price* ws_quantity else 0 end) as feb_sales
+       ,sum(case when d_moy = 3 
+               then ws_sales_price* ws_quantity else 0 end) as mar_sales
+       ,sum(case when d_moy = 4 
+               then ws_sales_price* ws_quantity else 0 end) as apr_sales
+       ,sum(case when d_moy = 5 
+               then ws_sales_price* ws_quantity else 0 end) as may_sales
+       ,sum(case when d_moy = 6 
+               then ws_sales_price* ws_quantity else 0 end) as jun_sales
+       ,sum(case when d_moy = 7 
+               then ws_sales_price* ws_quantity else 0 end) as jul_sales
+       ,sum(case when d_moy = 8 
+               then ws_sales_price* ws_quantity else 0 end) as aug_sales
+       ,sum(case when d_moy = 9 
+               then ws_sales_price* ws_quantity else 0 end) as sep_sales
+       ,sum(case when d_moy = 10 
+               then ws_sales_price* ws_quantity else 0 end) as oct_sales
+       ,sum(case when d_moy = 11
+               then ws_sales_price* ws_quantity else 0 end) as nov_sales
+       ,sum(case when d_moy = 12
+               then ws_sales_price* ws_quantity else 0 end) as dec_sales
+       ,sum(case when d_moy = 1 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as jan_net
+       ,sum(case when d_moy = 2
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as feb_net
+       ,sum(case when d_moy = 3 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as mar_net
+       ,sum(case when d_moy = 4 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as apr_net
+       ,sum(case when d_moy = 5 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as may_net
+       ,sum(case when d_moy = 6 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as jun_net
+       ,sum(case when d_moy = 7 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as jul_net
+       ,sum(case when d_moy = 8 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as aug_net
+       ,sum(case when d_moy = 9 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as sep_net
+       ,sum(case when d_moy = 10 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as oct_net
+       ,sum(case when d_moy = 11
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as nov_net
+       ,sum(case when d_moy = 12
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as dec_net
      from
           web_sales
          ,warehouse
          ,date_dim
          ,time_dim
-          ,ship_mode
+         ,ship_mode
      where
-            web_sales.ws_warehouse_sk =  warehouse.w_warehouse_sk
-        and web_sales.ws_sold_date_sk = date_dim.d_date_sk
-        and web_sales.ws_sold_time_sk = time_dim.t_time_sk
-       and web_sales.ws_ship_mode_sk = ship_mode.sm_ship_mode_sk
+            ws_warehouse_sk =  w_warehouse_sk
+        and ws_sold_date_sk = d_date_sk
+        and ws_sold_time_sk = t_time_sk
+       and ws_ship_mode_sk = sm_ship_mode_sk
         and d_year = 2002
        and t_time between 49530 and 49530+28800 
        and sm_carrier in ('DIAMOND','AIRBORNE')
@@ -124,75 +124,76 @@ select
        ,w_state
        ,w_country
        ,d_year
+       )
  union all
-    select 
-    w_warehouse_name
-    ,w_warehouse_sq_ft
-    ,w_city
-    ,w_county
-    ,w_state
-    ,w_country
-        ,concat('DIAMOND', ',', 'AIRBORNE') as ship_carriers
+    (select 
+       w_warehouse_name
+       ,w_warehouse_sq_ft
+       ,w_city
+       ,w_county
+       ,w_state
+       ,w_country
+       ,'DIAMOND' || ',' || 'AIRBORNE' as ship_carriers
        ,d_year as year
-       ,sum(case when d_moy = 1 
-                        then cs_ext_sales_price* cs_quantity else 0 end) as 
jan_sales
-                ,sum(case when d_moy = 2 
-                          then cs_ext_sales_price* cs_quantity else 0 end) as 
feb_sales
-                          ,sum(case when d_moy = 3 
-                                    then cs_ext_sales_price* cs_quantity else 
0 end) as mar_sales
-                                    ,sum(case when d_moy = 4 
-                                              then cs_ext_sales_price* 
cs_quantity else 0 end) as apr_sales
-                                              ,sum(case when d_moy = 5 
-                                                        then 
cs_ext_sales_price* cs_quantity else 0 end) as may_sales
-                                                        ,sum(case when d_moy = 
6 
-                                                                  then 
cs_ext_sales_price* cs_quantity else 0 end) as jun_sales
-                                                                  ,sum(case 
when d_moy = 7 
-                                                                            
then cs_ext_sales_price* cs_quantity else 0 end) as jul_sales
-                                                                            
,sum(case when d_moy = 8 
-                                                                               
       then cs_ext_sales_price* cs_quantity else 0 end) as aug_sales
-                                                                               
       ,sum(case when d_moy = 9 
-                                                                               
                 then cs_ext_sales_price* cs_quantity else 0 end) as sep_sales
-                                                                               
                 ,sum(case when d_moy = 10 
-                                                                               
                           then cs_ext_sales_price* cs_quantity else 0 end) as 
oct_sales
-                                                                               
                           ,sum(case when d_moy = 11
-                                                                               
                                     then cs_ext_sales_price* cs_quantity else 
0 end) as nov_sales
-                                                                               
                                     ,sum(case when d_moy = 12
-                                                                               
                                               then cs_ext_sales_price* 
cs_quantity else 0 end) as dec_sales
-                                                                               
                                               ,sum(case when d_moy = 1 
-                                                                               
                                                         then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as jan_net
-                                                                               
                                                         ,sum(case when d_moy = 
2 
-                                                                               
                                                                   then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as feb_net
-                                                                               
                                                                   ,sum(case 
when d_moy = 3 
-                                                                               
                                                                             
then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as mar_net
-                                                                               
                                                                             
,sum(case when d_moy = 4 
-                                                                               
                                                                                
       then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as apr_net
-                                                                               
                                                                                
       ,sum(case when d_moy = 5 
-                                                                               
                                                                                
                 then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
may_net
-                                                                               
                                                                                
                 ,sum(case when d_moy = 6 
-                                                                               
                                                                                
                           then cs_net_paid_inc_ship_tax * cs_quantity else 0 
end) as jun_net
-                                                                               
                                                                                
                           ,sum(case when d_moy = 7 
-                                                                               
                                                                                
                                     then cs_net_paid_inc_ship_tax * 
cs_quantity else 0 end) as jul_net
-                                                                               
                                                                                
                                     ,sum(case when d_moy = 8 
-                                                                               
                                                                                
                                               then cs_net_paid_inc_ship_tax * 
cs_quantity else 0 end) as aug_net
-                                                                               
                                                                                
                                               ,sum(case when d_moy = 9 
-                                                                               
                                                                                
                                                         then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as sep_net
-                                                                               
                                                                                
                                                         ,sum(case when d_moy = 
10 
-                                                                               
                                                                                
                                                                   then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as oct_net
-                                                                               
                                                                                
                                                                   ,sum(case 
when d_moy = 11
-                                                                               
                                                                                
                                                                             
then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as nov_net
-                                                                               
                                                                                
                                                                             
,sum(case when d_moy = 12
-                                                                               
                                                                                
                                                                                
       then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as dec_net
+       ,sum(case when d_moy = 1 
+               then cs_ext_sales_price* cs_quantity else 0 end) as jan_sales
+       ,sum(case when d_moy = 2 
+               then cs_ext_sales_price* cs_quantity else 0 end) as feb_sales
+       ,sum(case when d_moy = 3 
+               then cs_ext_sales_price* cs_quantity else 0 end) as mar_sales
+       ,sum(case when d_moy = 4 
+               then cs_ext_sales_price* cs_quantity else 0 end) as apr_sales
+       ,sum(case when d_moy = 5 
+               then cs_ext_sales_price* cs_quantity else 0 end) as may_sales
+       ,sum(case when d_moy = 6 
+               then cs_ext_sales_price* cs_quantity else 0 end) as jun_sales
+       ,sum(case when d_moy = 7 
+               then cs_ext_sales_price* cs_quantity else 0 end) as jul_sales
+       ,sum(case when d_moy = 8 
+               then cs_ext_sales_price* cs_quantity else 0 end) as aug_sales
+       ,sum(case when d_moy = 9 
+               then cs_ext_sales_price* cs_quantity else 0 end) as sep_sales
+       ,sum(case when d_moy = 10 
+               then cs_ext_sales_price* cs_quantity else 0 end) as oct_sales
+       ,sum(case when d_moy = 11
+               then cs_ext_sales_price* cs_quantity else 0 end) as nov_sales
+       ,sum(case when d_moy = 12
+               then cs_ext_sales_price* cs_quantity else 0 end) as dec_sales
+       ,sum(case when d_moy = 1 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
jan_net
+       ,sum(case when d_moy = 2 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
feb_net
+       ,sum(case when d_moy = 3 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
mar_net
+       ,sum(case when d_moy = 4 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
apr_net
+       ,sum(case when d_moy = 5 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
may_net
+       ,sum(case when d_moy = 6 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
jun_net
+       ,sum(case when d_moy = 7 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
jul_net
+       ,sum(case when d_moy = 8 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
aug_net
+       ,sum(case when d_moy = 9 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
sep_net
+       ,sum(case when d_moy = 10 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
oct_net
+       ,sum(case when d_moy = 11
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
nov_net
+       ,sum(case when d_moy = 12
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
dec_net
      from
           catalog_sales
          ,warehouse
          ,date_dim
          ,time_dim
-         ,ship_mode
+        ,ship_mode
      where
-            catalog_sales.cs_warehouse_sk =  warehouse.w_warehouse_sk
-        and catalog_sales.cs_sold_date_sk = date_dim.d_date_sk
-        and catalog_sales.cs_sold_time_sk = time_dim.t_time_sk
-       and catalog_sales.cs_ship_mode_sk = ship_mode.sm_ship_mode_sk
+            cs_warehouse_sk =  w_warehouse_sk
+        and cs_sold_date_sk = d_date_sk
+        and cs_sold_time_sk = t_time_sk
+       and cs_ship_mode_sk = sm_ship_mode_sk
         and d_year = 2002
        and t_time between 49530 AND 49530+28800 
        and sm_carrier in ('DIAMOND','AIRBORNE')
@@ -204,6 +205,7 @@ select
        ,w_state
        ,w_country
        ,d_year
+     ) 
  ) x
  group by 
         w_warehouse_name
@@ -220,11 +222,11 @@ PREHOOK: type: QUERY
 POSTHOOK: query: explain
 select   
          w_warehouse_name
-        ,w_warehouse_sq_ft
-        ,w_city
-        ,w_county
-        ,w_state
-        ,w_country
+       ,w_warehouse_sq_ft
+       ,w_city
+       ,w_county
+       ,w_state
+       ,w_country
         ,ship_carriers
         ,year
        ,sum(jan_sales) as jan_sales
@@ -264,74 +266,74 @@ select
        ,sum(nov_net) as nov_net
        ,sum(dec_net) as dec_net
  from (
-    select 
-    w_warehouse_name
-    ,w_warehouse_sq_ft
-    ,w_city
-    ,w_county
-    ,w_state
-    ,w_country
-    ,concat('DIAMOND', ',', 'AIRBORNE') as ship_carriers
-        ,d_year as year
+    (select 
+       w_warehouse_name
+       ,w_warehouse_sq_ft
+       ,w_city
+       ,w_county
+       ,w_state
+       ,w_country
+       ,'DIAMOND' || ',' || 'AIRBORNE' as ship_carriers
+       ,d_year as year
        ,sum(case when d_moy = 1 
-                 then ws_sales_price* ws_quantity else 0 end) as jan_sales
-                 ,sum(case when d_moy = 2 
-                           then ws_sales_price* ws_quantity else 0 end) as 
feb_sales
-                           ,sum(case when d_moy = 3 
-                                     then ws_sales_price* ws_quantity else 0 
end) as mar_sales
-                                     ,sum(case when d_moy = 4 
-                                               then ws_sales_price* 
ws_quantity else 0 end) as apr_sales
-                                               ,sum(case when d_moy = 5 
-                                                         then ws_sales_price* 
ws_quantity else 0 end) as may_sales
-                                                         ,sum(case when d_moy 
= 6 
-                                                                   then 
ws_sales_price* ws_quantity else 0 end) as jun_sales
-                                                                   ,sum(case 
when d_moy = 7 
-                                                                             
then ws_sales_price* ws_quantity else 0 end) as jul_sales
-                                                                             
,sum(case when d_moy = 8 
-                                                                               
        then ws_sales_price* ws_quantity else 0 end) as aug_sales
-                                                                               
        ,sum(case when d_moy = 9 
-                                                                               
                  then ws_sales_price* ws_quantity else 0 end) as sep_sales
-                                                                               
                  ,sum(case when d_moy = 10 
-                                                                               
                            then ws_sales_price* ws_quantity else 0 end) as 
oct_sales
-                                                                               
                            ,sum(case when d_moy = 11
-                                                                               
                                      then ws_sales_price* ws_quantity else 0 
end) as nov_sales
-                                                                               
                                      ,sum(case when d_moy = 12
-                                                                               
                                                then ws_sales_price* 
ws_quantity else 0 end) as dec_sales
-                                                                               
                                                ,sum(case when d_moy = 1 
-                                                                               
                                                          then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as jan_net
-                                                                               
                                                          ,sum(case when d_moy 
= 2
-                                                                               
                                                                    then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as feb_net
-                                                                               
                                                                    ,sum(case 
when d_moy = 3 
-                                                                               
                                                                              
then ws_net_paid_inc_tax * ws_quantity else 0 end) as mar_net
-                                                                               
                                                                              
,sum(case when d_moy = 4 
-                                                                               
                                                                                
        then ws_net_paid_inc_tax * ws_quantity else 0 end) as apr_net
-                                                                               
                                                                                
        ,sum(case when d_moy = 5 
-                                                                               
                                                                                
                  then ws_net_paid_inc_tax * ws_quantity else 0 end) as may_net
-                                                                               
                                                                                
                  ,sum(case when d_moy = 6 
-                                                                               
                                                                                
                            then ws_net_paid_inc_tax * ws_quantity else 0 end) 
as jun_net
-                                                                               
                                                                                
                            ,sum(case when d_moy = 7 
-                                                                               
                                                                                
                                      then ws_net_paid_inc_tax * ws_quantity 
else 0 end) as jul_net
-                                                                               
                                                                                
                                      ,sum(case when d_moy = 8 
-                                                                               
                                                                                
                                                then ws_net_paid_inc_tax * 
ws_quantity else 0 end) as aug_net
-                                                                               
                                                                                
                                                ,sum(case when d_moy = 9 
-                                                                               
                                                                                
                                                          then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as sep_net
-                                                                               
                                                                                
                                                          ,sum(case when d_moy 
= 10 
-                                                                               
                                                                                
                                                                    then 
ws_net_paid_inc_tax * ws_quantity else 0 end) as oct_net
-                                                                               
                                                                                
                                                                    ,sum(case 
when d_moy = 11
-                                                                               
                                                                                
                                                                              
then ws_net_paid_inc_tax * ws_quantity else 0 end) as nov_net
-                                                                               
                                                                                
                                                                              
,sum(case when d_moy = 12
-                                                                               
                                                                                
                                                                                
        then ws_net_paid_inc_tax * ws_quantity else 0 end) as dec_net
+               then ws_sales_price* ws_quantity else 0 end) as jan_sales
+       ,sum(case when d_moy = 2 
+               then ws_sales_price* ws_quantity else 0 end) as feb_sales
+       ,sum(case when d_moy = 3 
+               then ws_sales_price* ws_quantity else 0 end) as mar_sales
+       ,sum(case when d_moy = 4 
+               then ws_sales_price* ws_quantity else 0 end) as apr_sales
+       ,sum(case when d_moy = 5 
+               then ws_sales_price* ws_quantity else 0 end) as may_sales
+       ,sum(case when d_moy = 6 
+               then ws_sales_price* ws_quantity else 0 end) as jun_sales
+       ,sum(case when d_moy = 7 
+               then ws_sales_price* ws_quantity else 0 end) as jul_sales
+       ,sum(case when d_moy = 8 
+               then ws_sales_price* ws_quantity else 0 end) as aug_sales
+       ,sum(case when d_moy = 9 
+               then ws_sales_price* ws_quantity else 0 end) as sep_sales
+       ,sum(case when d_moy = 10 
+               then ws_sales_price* ws_quantity else 0 end) as oct_sales
+       ,sum(case when d_moy = 11
+               then ws_sales_price* ws_quantity else 0 end) as nov_sales
+       ,sum(case when d_moy = 12
+               then ws_sales_price* ws_quantity else 0 end) as dec_sales
+       ,sum(case when d_moy = 1 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as jan_net
+       ,sum(case when d_moy = 2
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as feb_net
+       ,sum(case when d_moy = 3 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as mar_net
+       ,sum(case when d_moy = 4 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as apr_net
+       ,sum(case when d_moy = 5 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as may_net
+       ,sum(case when d_moy = 6 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as jun_net
+       ,sum(case when d_moy = 7 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as jul_net
+       ,sum(case when d_moy = 8 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as aug_net
+       ,sum(case when d_moy = 9 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as sep_net
+       ,sum(case when d_moy = 10 
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as oct_net
+       ,sum(case when d_moy = 11
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as nov_net
+       ,sum(case when d_moy = 12
+               then ws_net_paid_inc_tax * ws_quantity else 0 end) as dec_net
      from
           web_sales
          ,warehouse
          ,date_dim
          ,time_dim
-          ,ship_mode
+         ,ship_mode
      where
-            web_sales.ws_warehouse_sk =  warehouse.w_warehouse_sk
-        and web_sales.ws_sold_date_sk = date_dim.d_date_sk
-        and web_sales.ws_sold_time_sk = time_dim.t_time_sk
-       and web_sales.ws_ship_mode_sk = ship_mode.sm_ship_mode_sk
+            ws_warehouse_sk =  w_warehouse_sk
+        and ws_sold_date_sk = d_date_sk
+        and ws_sold_time_sk = t_time_sk
+       and ws_ship_mode_sk = sm_ship_mode_sk
         and d_year = 2002
        and t_time between 49530 and 49530+28800 
        and sm_carrier in ('DIAMOND','AIRBORNE')
@@ -343,75 +345,76 @@ select
        ,w_state
        ,w_country
        ,d_year
+       )
  union all
-    select 
-    w_warehouse_name
-    ,w_warehouse_sq_ft
-    ,w_city
-    ,w_county
-    ,w_state
-    ,w_country
-        ,concat('DIAMOND', ',', 'AIRBORNE') as ship_carriers
+    (select 
+       w_warehouse_name
+       ,w_warehouse_sq_ft
+       ,w_city
+       ,w_county
+       ,w_state
+       ,w_country
+       ,'DIAMOND' || ',' || 'AIRBORNE' as ship_carriers
        ,d_year as year
-       ,sum(case when d_moy = 1 
-                        then cs_ext_sales_price* cs_quantity else 0 end) as 
jan_sales
-                ,sum(case when d_moy = 2 
-                          then cs_ext_sales_price* cs_quantity else 0 end) as 
feb_sales
-                          ,sum(case when d_moy = 3 
-                                    then cs_ext_sales_price* cs_quantity else 
0 end) as mar_sales
-                                    ,sum(case when d_moy = 4 
-                                              then cs_ext_sales_price* 
cs_quantity else 0 end) as apr_sales
-                                              ,sum(case when d_moy = 5 
-                                                        then 
cs_ext_sales_price* cs_quantity else 0 end) as may_sales
-                                                        ,sum(case when d_moy = 
6 
-                                                                  then 
cs_ext_sales_price* cs_quantity else 0 end) as jun_sales
-                                                                  ,sum(case 
when d_moy = 7 
-                                                                            
then cs_ext_sales_price* cs_quantity else 0 end) as jul_sales
-                                                                            
,sum(case when d_moy = 8 
-                                                                               
       then cs_ext_sales_price* cs_quantity else 0 end) as aug_sales
-                                                                               
       ,sum(case when d_moy = 9 
-                                                                               
                 then cs_ext_sales_price* cs_quantity else 0 end) as sep_sales
-                                                                               
                 ,sum(case when d_moy = 10 
-                                                                               
                           then cs_ext_sales_price* cs_quantity else 0 end) as 
oct_sales
-                                                                               
                           ,sum(case when d_moy = 11
-                                                                               
                                     then cs_ext_sales_price* cs_quantity else 
0 end) as nov_sales
-                                                                               
                                     ,sum(case when d_moy = 12
-                                                                               
                                               then cs_ext_sales_price* 
cs_quantity else 0 end) as dec_sales
-                                                                               
                                               ,sum(case when d_moy = 1 
-                                                                               
                                                         then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as jan_net
-                                                                               
                                                         ,sum(case when d_moy = 
2 
-                                                                               
                                                                   then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as feb_net
-                                                                               
                                                                   ,sum(case 
when d_moy = 3 
-                                                                               
                                                                             
then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as mar_net
-                                                                               
                                                                             
,sum(case when d_moy = 4 
-                                                                               
                                                                                
       then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as apr_net
-                                                                               
                                                                                
       ,sum(case when d_moy = 5 
-                                                                               
                                                                                
                 then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
may_net
-                                                                               
                                                                                
                 ,sum(case when d_moy = 6 
-                                                                               
                                                                                
                           then cs_net_paid_inc_ship_tax * cs_quantity else 0 
end) as jun_net
-                                                                               
                                                                                
                           ,sum(case when d_moy = 7 
-                                                                               
                                                                                
                                     then cs_net_paid_inc_ship_tax * 
cs_quantity else 0 end) as jul_net
-                                                                               
                                                                                
                                     ,sum(case when d_moy = 8 
-                                                                               
                                                                                
                                               then cs_net_paid_inc_ship_tax * 
cs_quantity else 0 end) as aug_net
-                                                                               
                                                                                
                                               ,sum(case when d_moy = 9 
-                                                                               
                                                                                
                                                         then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as sep_net
-                                                                               
                                                                                
                                                         ,sum(case when d_moy = 
10 
-                                                                               
                                                                                
                                                                   then 
cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as oct_net
-                                                                               
                                                                                
                                                                   ,sum(case 
when d_moy = 11
-                                                                               
                                                                                
                                                                             
then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as nov_net
-                                                                               
                                                                                
                                                                             
,sum(case when d_moy = 12
-                                                                               
                                                                                
                                                                                
       then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as dec_net
+       ,sum(case when d_moy = 1 
+               then cs_ext_sales_price* cs_quantity else 0 end) as jan_sales
+       ,sum(case when d_moy = 2 
+               then cs_ext_sales_price* cs_quantity else 0 end) as feb_sales
+       ,sum(case when d_moy = 3 
+               then cs_ext_sales_price* cs_quantity else 0 end) as mar_sales
+       ,sum(case when d_moy = 4 
+               then cs_ext_sales_price* cs_quantity else 0 end) as apr_sales
+       ,sum(case when d_moy = 5 
+               then cs_ext_sales_price* cs_quantity else 0 end) as may_sales
+       ,sum(case when d_moy = 6 
+               then cs_ext_sales_price* cs_quantity else 0 end) as jun_sales
+       ,sum(case when d_moy = 7 
+               then cs_ext_sales_price* cs_quantity else 0 end) as jul_sales
+       ,sum(case when d_moy = 8 
+               then cs_ext_sales_price* cs_quantity else 0 end) as aug_sales
+       ,sum(case when d_moy = 9 
+               then cs_ext_sales_price* cs_quantity else 0 end) as sep_sales
+       ,sum(case when d_moy = 10 
+               then cs_ext_sales_price* cs_quantity else 0 end) as oct_sales
+       ,sum(case when d_moy = 11
+               then cs_ext_sales_price* cs_quantity else 0 end) as nov_sales
+       ,sum(case when d_moy = 12
+               then cs_ext_sales_price* cs_quantity else 0 end) as dec_sales
+       ,sum(case when d_moy = 1 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
jan_net
+       ,sum(case when d_moy = 2 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
feb_net
+       ,sum(case when d_moy = 3 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
mar_net
+       ,sum(case when d_moy = 4 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
apr_net
+       ,sum(case when d_moy = 5 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
may_net
+       ,sum(case when d_moy = 6 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
jun_net
+       ,sum(case when d_moy = 7 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
jul_net
+       ,sum(case when d_moy = 8 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
aug_net
+       ,sum(case when d_moy = 9 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
sep_net
+       ,sum(case when d_moy = 10 
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
oct_net
+       ,sum(case when d_moy = 11
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
nov_net
+       ,sum(case when d_moy = 12
+               then cs_net_paid_inc_ship_tax * cs_quantity else 0 end) as 
dec_net
      from
           catalog_sales
          ,warehouse
          ,date_dim
          ,time_dim
-         ,ship_mode
+        ,ship_mode
      where
-            catalog_sales.cs_warehouse_sk =  warehouse.w_warehouse_sk
-        and catalog_sales.cs_sold_date_sk = date_dim.d_date_sk
-        and catalog_sales.cs_sold_time_sk = time_dim.t_time_sk
-       and catalog_sales.cs_ship_mode_sk = ship_mode.sm_ship_mode_sk
+            cs_warehouse_sk =  w_warehouse_sk
+        and cs_sold_date_sk = d_date_sk
+        and cs_sold_time_sk = t_time_sk
+       and cs_ship_mode_sk = sm_ship_mode_sk
         and d_year = 2002
        and t_time between 49530 AND 49530+28800 
        and sm_carrier in ('DIAMOND','AIRBORNE')
@@ -423,6 +426,7 @@ select
        ,w_state
        ,w_country
        ,d_year
+     ) 
  ) x
  group by 
         w_warehouse_name

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query68.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query68.q.out 
b/ql/src/test/results/clientpositive/perf/query68.q.out
index 84f701b..bd9b5ec 100644
--- a/ql/src/test/results/clientpositive/perf/query68.q.out
+++ b/ql/src/test/results/clientpositive/perf/query68.q.out
@@ -1,6 +1,84 @@
-PREHOOK: query: explain select c_last_name ,c_first_name ,ca_city ,bought_city 
,ss_ticket_number ,extended_price ,extended_tax ,list_price from (select 
ss_ticket_number ,ss_customer_sk ,ca_city bought_city ,sum(ss_ext_sales_price) 
extended_price ,sum(ss_ext_list_price) list_price ,sum(ss_ext_tax) extended_tax 
from store_sales ,date_dim ,store ,household_demographics ,customer_address 
where store_sales.ss_sold_date_sk = date_dim.d_date_sk and 
store_sales.ss_store_sk = store.s_store_sk and store_sales.ss_hdemo_sk = 
household_demographics.hd_demo_sk and store_sales.ss_addr_sk = 
customer_address.ca_address_sk and date_dim.d_dom between 1 and 2 and 
(household_demographics.hd_dep_count = 4 or 
household_demographics.hd_vehicle_count= 2) and date_dim.d_year in 
(1998,1998+1,1998+2) and store.s_city in ('Rosedale','Bethlehem') group by 
ss_ticket_number ,ss_customer_sk ,ss_addr_sk,ca_city) dn ,customer 
,customer_address current_addr where dn.ss_customer_sk = customer.c_customer_sk 
and customer
 .c_current_addr_sk = current_addr.ca_address_sk and current_addr.ca_city <> 
bought_city order by c_last_name ,ss_ticket_number limit 100
+PREHOOK: query: explain
+select  c_last_name
+       ,c_first_name
+       ,ca_city
+       ,bought_city
+       ,ss_ticket_number
+       ,extended_price
+       ,extended_tax
+       ,list_price
+ from (select ss_ticket_number
+             ,ss_customer_sk
+             ,ca_city bought_city
+             ,sum(ss_ext_sales_price) extended_price 
+             ,sum(ss_ext_list_price) list_price
+             ,sum(ss_ext_tax) extended_tax 
+       from store_sales
+           ,date_dim
+           ,store
+           ,household_demographics
+           ,customer_address 
+       where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+         and store_sales.ss_store_sk = store.s_store_sk  
+        and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+        and store_sales.ss_addr_sk = customer_address.ca_address_sk
+        and date_dim.d_dom between 1 and 2 
+        and (household_demographics.hd_dep_count = 2 or
+             household_demographics.hd_vehicle_count= 1)
+        and date_dim.d_year in (1998,1998+1,1998+2)
+        and store.s_city in ('Cedar Grove','Wildwood')
+       group by ss_ticket_number
+               ,ss_customer_sk
+               ,ss_addr_sk,ca_city) dn
+      ,customer
+      ,customer_address current_addr
+ where ss_customer_sk = c_customer_sk
+   and customer.c_current_addr_sk = current_addr.ca_address_sk
+   and current_addr.ca_city <> bought_city
+ order by c_last_name
+         ,ss_ticket_number
+ limit 100
 PREHOOK: type: QUERY
-POSTHOOK: query: explain select c_last_name ,c_first_name ,ca_city 
,bought_city ,ss_ticket_number ,extended_price ,extended_tax ,list_price from 
(select ss_ticket_number ,ss_customer_sk ,ca_city bought_city 
,sum(ss_ext_sales_price) extended_price ,sum(ss_ext_list_price) list_price 
,sum(ss_ext_tax) extended_tax from store_sales ,date_dim ,store 
,household_demographics ,customer_address where store_sales.ss_sold_date_sk = 
date_dim.d_date_sk and store_sales.ss_store_sk = store.s_store_sk and 
store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk and 
store_sales.ss_addr_sk = customer_address.ca_address_sk and date_dim.d_dom 
between 1 and 2 and (household_demographics.hd_dep_count = 4 or 
household_demographics.hd_vehicle_count= 2) and date_dim.d_year in 
(1998,1998+1,1998+2) and store.s_city in ('Rosedale','Bethlehem') group by 
ss_ticket_number ,ss_customer_sk ,ss_addr_sk,ca_city) dn ,customer 
,customer_address current_addr where dn.ss_customer_sk = customer.c_customer_sk 
and custome
 r.c_current_addr_sk = current_addr.ca_address_sk and current_addr.ca_city <> 
bought_city order by c_last_name ,ss_ticket_number limit 100
+POSTHOOK: query: explain
+select  c_last_name
+       ,c_first_name
+       ,ca_city
+       ,bought_city
+       ,ss_ticket_number
+       ,extended_price
+       ,extended_tax
+       ,list_price
+ from (select ss_ticket_number
+             ,ss_customer_sk
+             ,ca_city bought_city
+             ,sum(ss_ext_sales_price) extended_price 
+             ,sum(ss_ext_list_price) list_price
+             ,sum(ss_ext_tax) extended_tax 
+       from store_sales
+           ,date_dim
+           ,store
+           ,household_demographics
+           ,customer_address 
+       where store_sales.ss_sold_date_sk = date_dim.d_date_sk
+         and store_sales.ss_store_sk = store.s_store_sk  
+        and store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
+        and store_sales.ss_addr_sk = customer_address.ca_address_sk
+        and date_dim.d_dom between 1 and 2 
+        and (household_demographics.hd_dep_count = 2 or
+             household_demographics.hd_vehicle_count= 1)
+        and date_dim.d_year in (1998,1998+1,1998+2)
+        and store.s_city in ('Cedar Grove','Wildwood')
+       group by ss_ticket_number
+               ,ss_customer_sk
+               ,ss_addr_sk,ca_city) dn
+      ,customer
+      ,customer_address current_addr
+ where ss_customer_sk = c_customer_sk
+   and customer.c_current_addr_sk = current_addr.ca_address_sk
+   and current_addr.ca_city <> bought_city
+ order by c_last_name
+         ,ss_ticket_number
+ limit 100
 POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
@@ -88,7 +166,7 @@ Stage-0
                                       Select Operator [SEL_17] (rows=7200 
width=107)
                                         Output:["_col0"]
                                         Filter Operator [FIL_79] (rows=7200 
width=107)
-                                          predicate:(((hd_dep_count = 4) or 
(hd_vehicle_count = 2)) and hd_demo_sk is not null)
+                                          predicate:(((hd_dep_count = 2) or 
(hd_vehicle_count = 1)) and hd_demo_sk is not null)
                                           TableScan [TS_15] (rows=7200 
width=107)
                                             
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
                                   <-Reducer 10 [SIMPLE_EDGE]
@@ -102,7 +180,7 @@ Stage-0
                                           Select Operator [SEL_14] (rows=852 
width=1910)
                                             Output:["_col0"]
                                             Filter Operator [FIL_78] (rows=852 
width=1910)
-                                              predicate:((s_city) IN 
('Rosedale', 'Bethlehem') and s_store_sk is not null)
+                                              predicate:((s_city) IN ('Cedar 
Grove', 'Wildwood') and s_store_sk is not null)
                                               TableScan [TS_12] (rows=1704 
width=1910)
                                                 
default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_city"]
                                       <-Reducer 9 [SIMPLE_EDGE]

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query69.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query69.q.out 
b/ql/src/test/results/clientpositive/perf/query69.q.out
index 7ee80a6..a55c368 100644
--- a/ql/src/test/results/clientpositive/perf/query69.q.out
+++ b/ql/src/test/results/clientpositive/perf/query69.q.out
@@ -1,4 +1,5 @@
-PREHOOK: query: explain select  
+PREHOOK: query: explain
+select  
   cd_gender,
   cd_marital_status,
   cd_education_status,
@@ -43,7 +44,8 @@ PREHOOK: query: explain select
           cd_credit_rating
  limit 100
 PREHOOK: type: QUERY
-POSTHOOK: query: explain select  
+POSTHOOK: query: explain
+select  
   cd_gender,
   cd_marital_status,
   cd_education_status,

http://git-wip-us.apache.org/repos/asf/hive/blob/86b18772/ql/src/test/results/clientpositive/perf/query7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query7.q.out 
b/ql/src/test/results/clientpositive/perf/query7.q.out
index af77d9a..d3045d1 100644
--- a/ql/src/test/results/clientpositive/perf/query7.q.out
+++ b/ql/src/test/results/clientpositive/perf/query7.q.out
@@ -1,6 +1,42 @@
-PREHOOK: query: explain select i_item_id, avg(ss_quantity) agg1, 
avg(ss_list_price) agg2, avg(ss_coupon_amt) agg3, avg(ss_sales_price) agg4 from 
store_sales, customer_demographics, date_dim, item, promotion where 
store_sales.ss_sold_date_sk = date_dim.d_date_sk and store_sales.ss_item_sk = 
item.i_item_sk and store_sales.ss_cdemo_sk = customer_demographics.cd_demo_sk 
and store_sales.ss_promo_sk = promotion.p_promo_sk and cd_gender = 'F' and 
cd_marital_status = 'W' and cd_education_status = 'Primary' and 
(p_channel_email = 'N' or p_channel_event = 'N') and d_year = 1998 group by 
i_item_id order by i_item_id limit 100
+PREHOOK: query: explain
+select  i_item_id, 
+        avg(ss_quantity) agg1,
+        avg(ss_list_price) agg2,
+        avg(ss_coupon_amt) agg3,
+        avg(ss_sales_price) agg4 
+ from store_sales, customer_demographics, date_dim, item, promotion
+ where ss_sold_date_sk = d_date_sk and
+       ss_item_sk = i_item_sk and
+       ss_cdemo_sk = cd_demo_sk and
+       ss_promo_sk = p_promo_sk and
+       cd_gender = 'F' and 
+       cd_marital_status = 'W' and
+       cd_education_status = 'Primary' and
+       (p_channel_email = 'N' or p_channel_event = 'N') and
+       d_year = 1998 
+ group by i_item_id
+ order by i_item_id
+ limit 100
 PREHOOK: type: QUERY
-POSTHOOK: query: explain select i_item_id, avg(ss_quantity) agg1, 
avg(ss_list_price) agg2, avg(ss_coupon_amt) agg3, avg(ss_sales_price) agg4 from 
store_sales, customer_demographics, date_dim, item, promotion where 
store_sales.ss_sold_date_sk = date_dim.d_date_sk and store_sales.ss_item_sk = 
item.i_item_sk and store_sales.ss_cdemo_sk = customer_demographics.cd_demo_sk 
and store_sales.ss_promo_sk = promotion.p_promo_sk and cd_gender = 'F' and 
cd_marital_status = 'W' and cd_education_status = 'Primary' and 
(p_channel_email = 'N' or p_channel_event = 'N') and d_year = 1998 group by 
i_item_id order by i_item_id limit 100
+POSTHOOK: query: explain
+select  i_item_id, 
+        avg(ss_quantity) agg1,
+        avg(ss_list_price) agg2,
+        avg(ss_coupon_amt) agg3,
+        avg(ss_sales_price) agg4 
+ from store_sales, customer_demographics, date_dim, item, promotion
+ where ss_sold_date_sk = d_date_sk and
+       ss_item_sk = i_item_sk and
+       ss_cdemo_sk = cd_demo_sk and
+       ss_promo_sk = p_promo_sk and
+       cd_gender = 'F' and 
+       cd_marital_status = 'W' and
+       cd_education_status = 'Primary' and
+       (p_channel_email = 'N' or p_channel_event = 'N') and
+       d_year = 1998 
+ group by i_item_id
+ order by i_item_id
+ limit 100
 POSTHOOK: type: QUERY
 Plan optimized by CBO.
 

Reply via email to