[ 
https://issues.apache.org/jira/browse/HIVE-8280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163080#comment-14163080
 ] 

Mostafa Mokhtar commented on HIVE-8280:
---------------------------------------

+1
With latest patch issue is fixed.
{code}
2014-10-07 19:56:31,721 DEBUG [main]: parse.SemanticAnalyzer 
(SemanticAnalyzer.java:apply(12316)) - HiveSortRel(sort0=[$0], sort1=[$1], 
sort2=[$20], dir0=[ASC], dir1=[ASC], dir2=[ASC]): rowcount = 5.566394015453287, 
cumulative cost = {6.108050195995289E8 rows, 5.566394015453287 cpu, 0.0 io}, id 
= 1321
  HiveProjectRel(product_name=[$0], store_name=[$2], store_zip=[$3], 
b_street_number=[$4], b_streen_name=[$5], b_city=[$6], b_zip=[$7], 
c_street_number=[$8], c_street_name=[$9], c_city=[$10], c_zip=[$11], 
syear=[$12], cnt=[$13], s1=[$14], s2=[$15], s3=[$16], s11=[$22], s21=[$23], 
s31=[$24], syear1=[$20], cnt1=[$21]): rowcount = 5.566394015453287, cumulative 
cost = {6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 1319
    HiveFilterRel(condition=[<=($21, $13)]): rowcount = 5.566394015453287, 
cumulative cost = {6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 1317
      HiveProjectRel(product_name=[$0], item_sk=[$1], store_name=[$2], 
store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6], 
b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10], 
c_zip=[$11], syear=[$12], cnt=[$13], s1=[$14], s2=[$15], s3=[$16], 
item_sk0=[$17], store_name0=[$18], store_zip0=[$19], syear0=[$20], cnt0=[$21], 
s10=[$22], s20=[$23], s30=[$24]): rowcount = 16.699182046359862, cumulative 
cost = {6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 3638
        HiveJoinRel(condition=[AND(AND(=($1, $17), =($2, $18)), =($3, $19))], 
joinType=[inner]): rowcount = 16.699182046359862, cumulative cost = 
{6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 3633
          HiveProjectRel(product_name=[$0], item_sk=[$1], store_name=[$2], 
store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6], 
b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10], 
c_zip=[$11], syear=[$12], cnt=[$15], s1=[$16], s2=[$17], s3=[$18]): rowcount = 
79.18487224803891, cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0 
io}, id = 1219
            HiveAggregateRel(group=[{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
13, 14}], agg#0=[count()], agg#1=[sum($15)], agg#2=[sum($16)], 
agg#3=[sum($17)]): rowcount = 79.18487224803891, cumulative cost = 
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1217
              HiveProjectRel($f0=[$17], $f1=[$14], $f2=[$31], $f3=[$32], 
$f4=[$43], $f5=[$44], $f6=[$45], $f7=[$46], $f8=[$48], $f9=[$49], $f10=[$50], 
$f11=[$51], $f12=[$25], $f13=[$27], $f14=[$29], $f15=[$8], $f16=[$9], 
$f17=[$10]): rowcount = 215.84856608045916, cumulative cost = 
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1215
                HiveProjectRel(ss_item_sk=[$16], ss_customer_sk=[$17], 
ss_cdemo_sk=[$18], ss_hdemo_sk=[$19], ss_addr_sk=[$20], ss_store_sk=[$21], 
ss_promo_sk=[$22], ss_ticket_number=[$23], ss_wholesale_cost=[$24], 
ss_list_price=[$25], ss_coupon_amt=[$26], ss_sold_date_sk=[$27], 
sr_item_sk=[$28], sr_ticket_number=[$29], i_item_sk=[$30], 
i_current_price=[$31], i_color=[$32], i_product_name=[$33], 
c_customer_sk=[$34], c_current_cdemo_sk=[$35], c_current_hdemo_sk=[$36], 
c_current_addr_sk=[$37], c_first_shipto_date_sk=[$38], 
c_first_sales_date_sk=[$39], d_date_sk=[$40], d_year=[$41], d_date_sk0=[$42], 
d_year0=[$43], d_date_sk1=[$44], d_year1=[$45], s_store_sk=[$46], 
s_store_name=[$47], s_zip=[$48], cd_demo_sk=[$49], cd_marital_status=[$50], 
cd_demo_sk0=[$51], cd_marital_status0=[$52], p_promo_sk=[$15], hd_demo_sk=[$0], 
hd_income_band_sk=[$1], hd_demo_sk0=[$13], hd_income_band_sk0=[$14], 
ca_address_sk=[$8], ca_street_number=[$9], ca_street_name=[$10], ca_city=[$11], 
ca_zip=[$12], ca_address_sk0=[$3], ca_street_number0=[$4], 
ca_street_name0=[$5], ca_city0=[$6], ca_zip0=[$7], ib_income_band_sk=[$2], 
ib_income_band_sk0=[$54], cs_item_sk=[$53]): rowcount = 215.84856608045916, 
cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 3631
                  HiveJoinRel(condition=[=($19, $0)], joinType=[inner]): 
rowcount = 215.84856608045916, cumulative cost = {6.108040585179948E8 rows, 0.0 
cpu, 0.0 io}, id = 3629
                    HiveJoinRel(condition=[=($1, $2)], joinType=[inner]): 
rowcount = 7200.0, cumulative cost = {7220.0 rows, 0.0 cpu, 0.0 io}, id = 3464
                      HiveProjectRel(hd_demo_sk=[$0], hd_income_band_sk=[$1]): 
rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1269
                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
 rowcount = 7200.0, cumulative cost = {0}, id = 53
                      HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]): 
rowcount = 20.0, cumulative cost = {0}, id = 63
                    HiveJoinRel(condition=[=($11, $51)], joinType=[inner]): 
rowcount = 136.44231621312272, cumulative cost = {6.107967220756786E8 rows, 0.0 
cpu, 0.0 io}, id = 3627
                      HiveJoinRel(condition=[=($34, $0)], joinType=[inner]): 
rowcount = 136.44231621312272, cumulative cost = {6.107965656333624E8 rows, 0.0 
cpu, 0.0 io}, id = 3625
                        HiveProjectRel(ca_address_sk=[$0], 
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]): 
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
                          
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
 rowcount = 800000.0, cumulative cost = {0}, id = 61
                        HiveJoinRel(condition=[=($12, $0)], joinType=[inner]): 
rowcount = 136.44231621312272, cumulative cost = {6.099964291910462E8 rows, 0.0 
cpu, 0.0 io}, id = 3623
                          HiveProjectRel(ca_address_sk=[$0], 
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]): 
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
                            
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
 rowcount = 800000.0, cumulative cost = {0}, id = 61
                          HiveJoinRel(condition=[=($23, $0)], 
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost = 
{6.091962927487301E8 rows, 0.0 cpu, 0.0 io}, id = 3621
                            HiveProjectRel(hd_demo_sk=[$0], 
hd_income_band_sk=[$1]): rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1269
                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
 rowcount = 7200.0, cumulative cost = {0}, id = 53
                            HiveJoinRel(condition=[=($7, $0)], 
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost = 
{6.091889563064139E8 rows, 0.0 cpu, 0.0 io}, id = 3619
                              HiveProjectRel(p_promo_sk=[$0]): rowcount = 
450.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1265
                                
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.promotion]]): 
rowcount = 450.0, cumulative cost = {0}, id = 58
                              HiveJoinRel(condition=[=($0, $37)], 
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost = 
{6.091883698640977E8 rows, 0.0 cpu, 0.0 io}, id = 3479
                                HiveFilterRel(condition=[<>($34, $36)]): 
rowcount = 136.44231621312272, cumulative cost = {6.091882324217815E8 rows, 0.0 
cpu, 0.0 io}, id = 1169
                                  HiveProjectRel(ss_item_sk=[$19], 
ss_customer_sk=[$20], ss_cdemo_sk=[$21], ss_hdemo_sk=[$22], ss_addr_sk=[$23], 
ss_store_sk=[$24], ss_promo_sk=[$25], ss_ticket_number=[$26], 
ss_wholesale_cost=[$27], ss_list_price=[$28], ss_coupon_amt=[$29], 
ss_sold_date_sk=[$30], sr_item_sk=[$0], sr_ticket_number=[$1], i_item_sk=[$31], 
i_current_price=[$32], i_color=[$33], i_product_name=[$34], c_customer_sk=[$4], 
c_current_cdemo_sk=[$5], c_current_hdemo_sk=[$6], c_current_addr_sk=[$7], 
c_first_shipto_date_sk=[$8], c_first_sales_date_sk=[$9], d_date_sk=[$35], 
d_year=[$36], d_date_sk0=[$10], d_year0=[$11], d_date_sk1=[$12], d_year1=[$13], 
s_store_sk=[$14], s_store_name=[$15], s_zip=[$16], cd_demo_sk=[$17], 
cd_marital_status=[$18], cd_demo_sk0=[$2], cd_marital_status0=[$3]): rowcount = 
955.0962134918581, cumulative cost = {6.091882324217815E8 rows, 0.0 cpu, 0.0 
io}, id = 2633
                                    HiveJoinRel(condition=[AND(=($19, $0), 
=($26, $1))], joinType=[inner]): rowcount = 955.0962134918581, cumulative cost 
= {6.091882324217815E8 rows, 0.0 cpu, 0.0 io}, id = 2631
                                      HiveProjectRel(sr_item_sk=[$1], 
sr_ticket_number=[$8]): rowcount = 5.5578005E7, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1223
                                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_returns]]): 
rowcount = 5.5578005E7, cumulative cost = {0}, id = 62
                                      HiveJoinRel(condition=[=($18, $2)], 
joinType=[inner]): rowcount = 241.3079963041512, cumulative cost = 
{5.536099861137853E8 rows, 0.0 cpu, 0.0 io}, id = 2629
                                        HiveJoinRel(condition=[=($6, $10)], 
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {6866898.0 rows, 0.0 
cpu, 0.0 io}, id = 2620
                                          HiveJoinRel(condition=[=($7, $8)], 
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {5193849.0 rows, 0.0 
cpu, 0.0 io}, id = 2618
                                            HiveJoinRel(condition=[=($3, $0)], 
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {3520800.0 rows, 0.0 
cpu, 0.0 io}, id = 2060
                                              HiveProjectRel(cd_demo_sk=[$0], 
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1255
                                                
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
 rowcount = 1920800.0, cumulative cost = {0}, id = 56
                                              
HiveProjectRel(c_customer_sk=[$0], c_current_cdemo_sk=[$2], 
c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], 
c_first_sales_date_sk=[$6]): rowcount = 1600000.0, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1233
                                                
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer]]): 
rowcount = 1600000.0, cumulative cost = {0}, id = 59
                                            HiveProjectRel(d_date_sk=[$0], 
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 
io}, id = 1243
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]): 
rowcount = 73049.0, cumulative cost = {0}, id = 65
                                          HiveProjectRel(d_date_sk=[$0], 
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 
io}, id = 1243
                                            
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]): 
rowcount = 73049.0, cumulative cost = {0}, id = 65
                                        HiveJoinRel(condition=[=($10, $0)], 
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost = 
{5.520098837929977E8 rows, 0.0 cpu, 0.0 io}, id = 2627
                                          HiveProjectRel(s_store_sk=[$0], 
s_store_name=[$5], s_zip=[$25]): rowcount = 212.0, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1251
                                            
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store]]): rowcount 
= 212.0, cumulative cost = {0}, id = 54
                                          HiveJoinRel(condition=[=($4, $0)], 
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost = 
{5.520095694722102E8 rows, 0.0 cpu, 0.0 io}, id = 2625
                                            HiveProjectRel(cd_demo_sk=[$0], 
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1255
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
 rowcount = 1920800.0, cumulative cost = {0}, id = 56
                                            HiveJoinRel(condition=[=($11, 
$16)], joinType=[inner]): rowcount = 102.32078757440475, cumulative cost = 
{5.500886671514226E8 rows, 0.0 cpu, 0.0 io}, id = 2623
                                              HiveJoinRel(condition=[=($0, 
$12)], joinType=[inner]): rowcount = 11459.928208333333, cumulative cost = 
{5.50076555E8 rows, 0.0 cpu, 0.0 io}, id = 2090
                                                HiveProjectRel(ss_item_sk=[$1], 
ss_customer_sk=[$2], ss_cdemo_sk=[$3], ss_hdemo_sk=[$4], ss_addr_sk=[$5], 
ss_store_sk=[$6], ss_promo_sk=[$7], ss_ticket_number=[$8], 
ss_wholesale_cost=[$10], ss_list_price=[$11], ss_coupon_amt=[$18], 
ss_sold_date_sk=[$22]): rowcount = 5.50076554E8, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1221
                                                  
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_sales]]): 
rowcount = 5.50076554E8, cumulative cost = {0}, id = 55
                                                HiveProjectRel(i_item_sk=[$0], 
i_current_price=[$5], i_color=[$17], i_product_name=[$21]): rowcount = 1.0, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1135
                                                  
HiveFilterRel(condition=[AND(in($17, 'maroon', 'burnished', 'dim', 'steel', 
'navajo', 'chocolate'), between(false, $5, 35, +(35, 10)), between(false, $5, 
+(35, 1), +(35, 15)))]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu, 
0.0 io}, id = 1133
                                                    
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.item]]): rowcount = 
48000.0, cumulative cost = {0}, id = 68
                                              HiveProjectRel(d_date_sk=[$0], 
d_year=[$6]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1145
                                                HiveFilterRel(condition=[=($6, 
2000)]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0 cpu, 
0.0 io}, id = 1143
                                                  
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]): 
rowcount = 73049.0, cumulative cost = {0}, id = 65
                                HiveProjectRel(cs_item_sk=[$0]): rowcount = 
1.0, cumulative cost = {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1211
                                  HiveFilterRel(condition=[>($1, 
*(CAST(2):DOUBLE NOT NULL, $2))]): rowcount = 1.0, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1209
                                    HiveAggregateRel(group=[{0}], 
agg#0=[sum($1)], agg#1=[sum($2)]): rowcount = 38846.0, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1207
                                      HiveProjectRel($f0=[$0], $f1=[$2], 
$f2=[+(+($5, $6), $7)]): rowcount = 6.692553251460564E8, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1205
                                        HiveProjectRel(cs_item_sk=[$0], 
cs_order_number=[$1], cs_ext_list_price=[$2], cr_item_sk=[$3], 
cr_order_number=[$4], cr_refunded_cash=[$5], cr_reversed_charge=[$6], 
cr_store_credit=[$7]): rowcount = 6.692553251460564E8, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1461
                                          HiveJoinRel(condition=[AND(=($0, $3), 
=($1, $4))], joinType=[inner]): rowcount = 6.692553251460564E8, cumulative cost 
= {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1456
                                            HiveProjectRel(cs_item_sk=[$14], 
cs_order_number=[$16], cs_ext_list_price=[$24]): rowcount = 2.86549727E8, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1293
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_sales]]): 
rowcount = 2.86549727E8, cumulative cost = {0}, id = 45
                                            HiveProjectRel(cr_item_sk=[$1], 
cr_order_number=[$15], cr_refunded_cash=[$22], cr_reversed_charge=[$23], 
cr_store_credit=[$24]): rowcount = 2.8798881E7, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1295
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_returns]]): 
rowcount = 2.8798881E7, cumulative cost = {0}, id = 46
                      HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]): 
rowcount = 20.0, cumulative cost = {0}, id = 63
          HiveProjectRel(item_sk=[$1], store_name=[$2], store_zip=[$3], 
syear=[$12], cnt=[$15], s1=[$16], s2=[$17], s3=[$18]): rowcount = 
79.18487224803891, cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0 
io}, id = 1313
            HiveAggregateRel(group=[{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
13, 14}], agg#0=[count()], agg#1=[sum($15)], agg#2=[sum($16)], 
agg#3=[sum($17)]): rowcount = 79.18487224803891, cumulative cost = 
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1311
              HiveProjectRel($f0=[$17], $f1=[$14], $f2=[$31], $f3=[$32], 
$f4=[$43], $f5=[$44], $f6=[$45], $f7=[$46], $f8=[$48], $f9=[$49], $f10=[$50], 
$f11=[$51], $f12=[$25], $f13=[$27], $f14=[$29], $f15=[$8], $f16=[$9], 
$f17=[$10]): rowcount = 215.84856608045916, cumulative cost = 
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1309
                HiveProjectRel(ss_item_sk=[$16], ss_customer_sk=[$17], 
ss_cdemo_sk=[$18], ss_hdemo_sk=[$19], ss_addr_sk=[$20], ss_store_sk=[$21], 
ss_promo_sk=[$22], ss_ticket_number=[$23], ss_wholesale_cost=[$24], 
ss_list_price=[$25], ss_coupon_amt=[$26], ss_sold_date_sk=[$27], 
sr_item_sk=[$28], sr_ticket_number=[$29], i_item_sk=[$30], 
i_current_price=[$31], i_color=[$32], i_product_name=[$33], 
c_customer_sk=[$34], c_current_cdemo_sk=[$35], c_current_hdemo_sk=[$36], 
c_current_addr_sk=[$37], c_first_shipto_date_sk=[$38], 
c_first_sales_date_sk=[$39], d_date_sk=[$40], d_year=[$41], d_date_sk0=[$42], 
d_year0=[$43], d_date_sk1=[$44], d_year1=[$45], s_store_sk=[$46], 
s_store_name=[$47], s_zip=[$48], cd_demo_sk=[$49], cd_marital_status=[$50], 
cd_demo_sk0=[$51], cd_marital_status0=[$52], p_promo_sk=[$15], hd_demo_sk=[$0], 
hd_income_band_sk=[$1], hd_demo_sk0=[$13], hd_income_band_sk0=[$14], 
ca_address_sk=[$8], ca_street_number=[$9], ca_street_name=[$10], ca_city=[$11], 
ca_zip=[$12], ca_address_sk0=[$3], ca_street_number0=[$4], 
ca_street_name0=[$5], ca_city0=[$6], ca_zip0=[$7], ib_income_band_sk=[$2], 
ib_income_band_sk0=[$54], cs_item_sk=[$53]): rowcount = 215.84856608045916, 
cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 3132
                  HiveJoinRel(condition=[=($19, $0)], joinType=[inner]): 
rowcount = 215.84856608045916, cumulative cost = {6.108040585179948E8 rows, 0.0 
cpu, 0.0 io}, id = 3130
                    HiveJoinRel(condition=[=($1, $2)], joinType=[inner]): 
rowcount = 7200.0, cumulative cost = {7220.0 rows, 0.0 cpu, 0.0 io}, id = 2965
                      HiveProjectRel(hd_demo_sk=[$0], hd_income_band_sk=[$1]): 
rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1269
                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
 rowcount = 7200.0, cumulative cost = {0}, id = 53
                      HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]): 
rowcount = 20.0, cumulative cost = {0}, id = 63
                    HiveJoinRel(condition=[=($11, $51)], joinType=[inner]): 
rowcount = 136.44231621312272, cumulative cost = {6.107967220756786E8 rows, 0.0 
cpu, 0.0 io}, id = 3128
                      HiveJoinRel(condition=[=($34, $0)], joinType=[inner]): 
rowcount = 136.44231621312272, cumulative cost = {6.107965656333624E8 rows, 0.0 
cpu, 0.0 io}, id = 3126
                        HiveProjectRel(ca_address_sk=[$0], 
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]): 
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
                          
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
 rowcount = 800000.0, cumulative cost = {0}, id = 61
                        HiveJoinRel(condition=[=($12, $0)], joinType=[inner]): 
rowcount = 136.44231621312272, cumulative cost = {6.099964291910462E8 rows, 0.0 
cpu, 0.0 io}, id = 3124
                          HiveProjectRel(ca_address_sk=[$0], 
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]): 
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
                            
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
 rowcount = 800000.0, cumulative cost = {0}, id = 61
                          HiveJoinRel(condition=[=($23, $0)], 
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost = 
{6.091962927487301E8 rows, 0.0 cpu, 0.0 io}, id = 3122
                            HiveProjectRel(hd_demo_sk=[$0], 
hd_income_band_sk=[$1]): rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1269
                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
 rowcount = 7200.0, cumulative cost = {0}, id = 53
                            HiveJoinRel(condition=[=($7, $0)], 
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost = 
{6.091889563064139E8 rows, 0.0 cpu, 0.0 io}, id = 3120
                              HiveProjectRel(p_promo_sk=[$0]): rowcount = 
450.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1265
                                
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.promotion]]): 
rowcount = 450.0, cumulative cost = {0}, id = 58
                              HiveJoinRel(condition=[=($0, $37)], 
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost = 
{6.091883698640977E8 rows, 0.0 cpu, 0.0 io}, id = 2980
                                HiveFilterRel(condition=[<>($34, $36)]): 
rowcount = 136.44231621312272, cumulative cost = {6.091882324217815E8 rows, 0.0 
cpu, 0.0 io}, id = 1263
                                  HiveProjectRel(ss_item_sk=[$19], 
ss_customer_sk=[$20], ss_cdemo_sk=[$21], ss_hdemo_sk=[$22], ss_addr_sk=[$23], 
ss_store_sk=[$24], ss_promo_sk=[$25], ss_ticket_number=[$26], 
ss_wholesale_cost=[$27], ss_list_price=[$28], ss_coupon_amt=[$29], 
ss_sold_date_sk=[$30], sr_item_sk=[$0], sr_ticket_number=[$1], i_item_sk=[$31], 
i_current_price=[$32], i_color=[$33], i_product_name=[$34], c_customer_sk=[$4], 
c_current_cdemo_sk=[$5], c_current_hdemo_sk=[$6], c_current_addr_sk=[$7], 
c_first_shipto_date_sk=[$8], c_first_sales_date_sk=[$9], d_date_sk=[$35], 
d_year=[$36], d_date_sk0=[$10], d_year0=[$11], d_date_sk1=[$12], d_year1=[$13], 
s_store_sk=[$14], s_store_name=[$15], s_zip=[$16], cd_demo_sk=[$17], 
cd_marital_status=[$18], cd_demo_sk0=[$2], cd_marital_status0=[$3]): rowcount = 
955.0962134918581, cumulative cost = {6.091882324217815E8 rows, 0.0 cpu, 0.0 
io}, id = 2047
                                    HiveJoinRel(condition=[AND(=($19, $0), 
=($26, $1))], joinType=[inner]): rowcount = 955.0962134918581, cumulative cost 
= {6.091882324217815E8 rows, 0.0 cpu, 0.0 io}, id = 2045
                                      HiveProjectRel(sr_item_sk=[$1], 
sr_ticket_number=[$8]): rowcount = 5.5578005E7, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1223
                                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_returns]]): 
rowcount = 5.5578005E7, cumulative cost = {0}, id = 62
                                      HiveJoinRel(condition=[=($18, $2)], 
joinType=[inner]): rowcount = 241.3079963041512, cumulative cost = 
{5.536099861137853E8 rows, 0.0 cpu, 0.0 io}, id = 2043
                                        HiveJoinRel(condition=[=($6, $10)], 
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {6866898.0 rows, 0.0 
cpu, 0.0 io}, id = 2034
                                          HiveJoinRel(condition=[=($7, $8)], 
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {5193849.0 rows, 0.0 
cpu, 0.0 io}, id = 2032
                                            HiveJoinRel(condition=[=($3, $0)], 
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {3520800.0 rows, 0.0 
cpu, 0.0 io}, id = 1474
                                              HiveProjectRel(cd_demo_sk=[$0], 
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1255
                                                
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
 rowcount = 1920800.0, cumulative cost = {0}, id = 56
                                              
HiveProjectRel(c_customer_sk=[$0], c_current_cdemo_sk=[$2], 
c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5], 
c_first_sales_date_sk=[$6]): rowcount = 1600000.0, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1233
                                                
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer]]): 
rowcount = 1600000.0, cumulative cost = {0}, id = 59
                                            HiveProjectRel(d_date_sk=[$0], 
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 
io}, id = 1243
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]): 
rowcount = 73049.0, cumulative cost = {0}, id = 65
                                          HiveProjectRel(d_date_sk=[$0], 
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 
io}, id = 1243
                                            
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]): 
rowcount = 73049.0, cumulative cost = {0}, id = 65
                                        HiveJoinRel(condition=[=($10, $0)], 
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost = 
{5.520098837929977E8 rows, 0.0 cpu, 0.0 io}, id = 2041
                                          HiveProjectRel(s_store_sk=[$0], 
s_store_name=[$5], s_zip=[$25]): rowcount = 212.0, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1251
                                            
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store]]): rowcount 
= 212.0, cumulative cost = {0}, id = 54
                                          HiveJoinRel(condition=[=($4, $0)], 
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost = 
{5.520095694722102E8 rows, 0.0 cpu, 0.0 io}, id = 2039
                                            HiveProjectRel(cd_demo_sk=[$0], 
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1255
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
 rowcount = 1920800.0, cumulative cost = {0}, id = 56
                                            HiveJoinRel(condition=[=($11, 
$16)], joinType=[inner]): rowcount = 102.32078757440475, cumulative cost = 
{5.500886671514226E8 rows, 0.0 cpu, 0.0 io}, id = 2037
                                              HiveJoinRel(condition=[=($0, 
$12)], joinType=[inner]): rowcount = 11459.928208333333, cumulative cost = 
{5.50076555E8 rows, 0.0 cpu, 0.0 io}, id = 1504
                                                HiveProjectRel(ss_item_sk=[$1], 
ss_customer_sk=[$2], ss_cdemo_sk=[$3], ss_hdemo_sk=[$4], ss_addr_sk=[$5], 
ss_store_sk=[$6], ss_promo_sk=[$7], ss_ticket_number=[$8], 
ss_wholesale_cost=[$10], ss_list_price=[$11], ss_coupon_amt=[$18], 
ss_sold_date_sk=[$22]): rowcount = 5.50076554E8, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1221
                                                  
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_sales]]): 
rowcount = 5.50076554E8, cumulative cost = {0}, id = 55
                                                HiveProjectRel(i_item_sk=[$0], 
i_current_price=[$5], i_color=[$17], i_product_name=[$21]): rowcount = 1.0, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1229
                                                  
HiveFilterRel(condition=[AND(in($17, 'maroon', 'burnished', 'dim', 'steel', 
'navajo', 'chocolate'), between(false, $5, 35, +(35, 10)), between(false, $5, 
+(35, 1), +(35, 15)))]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu, 
0.0 io}, id = 1227
                                                    
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.item]]): rowcount = 
48000.0, cumulative cost = {0}, id = 68
                                              HiveProjectRel(d_date_sk=[$0], 
d_year=[$6]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1239
                                                HiveFilterRel(condition=[=($6, 
+(2000, 1))]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0 
cpu, 0.0 io}, id = 1237
                                                  
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]): 
rowcount = 73049.0, cumulative cost = {0}, id = 65
                                HiveProjectRel(cs_item_sk=[$0]): rowcount = 
1.0, cumulative cost = {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1305
                                  HiveFilterRel(condition=[>($1, 
*(CAST(2):DOUBLE NOT NULL, $2))]): rowcount = 1.0, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1303
                                    HiveAggregateRel(group=[{0}], 
agg#0=[sum($1)], agg#1=[sum($2)]): rowcount = 38846.0, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1301
                                      HiveProjectRel($f0=[$0], $f1=[$2], 
$f2=[+(+($5, $6), $7)]): rowcount = 6.692553251460564E8, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1299
                                        HiveProjectRel(cs_item_sk=[$0], 
cs_order_number=[$1], cs_ext_list_price=[$2], cr_item_sk=[$3], 
cr_order_number=[$4], cr_refunded_cash=[$5], cr_reversed_charge=[$6], 
cr_store_credit=[$7]): rowcount = 6.692553251460564E8, cumulative cost = 
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1454
                                          HiveJoinRel(condition=[AND(=($0, $3), 
=($1, $4))], joinType=[inner]): rowcount = 6.692553251460564E8, cumulative cost 
= {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1449
                                            HiveProjectRel(cs_item_sk=[$14], 
cs_order_number=[$16], cs_ext_list_price=[$24]): rowcount = 2.86549727E8, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1293
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_sales]]): 
rowcount = 2.86549727E8, cumulative cost = {0}, id = 45
                                            HiveProjectRel(cr_item_sk=[$1], 
cr_order_number=[$15], cr_refunded_cash=[$22], cr_reversed_charge=[$23], 
cr_store_credit=[$24]): rowcount = 2.8798881E7, cumulative cost = {0.0 rows, 
0.0 cpu, 0.0 io}, id = 1295
                                              
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_returns]]): 
rowcount = 2.8798881E7, cumulative cost = {0}, id = 46
                      HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0, 
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
                        
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]): 
rowcount = 20.0, cumulative cost = {0}, id = 63
{code}

> CBO : When filter is applied on dimension table PK/FK code path is not in 
> effect.
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-8280
>                 URL: https://issues.apache.org/jira/browse/HIVE-8280
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO
>    Affects Versions: 0.14.0
>            Reporter: Mostafa Mokhtar
>            Assignee: Harish Butani
>             Fix For: 0.14.0
>
>         Attachments: HIVE-8280.1.patch, HIVE-8280.2.patch, HIVE-8280.3.patch
>
>
> When a filter is applied on PK side joins don't qualify as PK/FK join.
> In getUniqueKeys when a filter is applied on the table the child is no  
> longer a table scan.
> {code}
>   public Set<BitSet> getUniqueKeys(ProjectRelBase rel, boolean ignoreNulls) {
>     RelNode child = rel.getChild();
>     if (!(child instanceof HiveTableScanRel)) {
>       Function<RelNode, Metadata> fn = RelMdUniqueKeys.SOURCE.apply(
>           rel.getClass(), BuiltInMetadata.UniqueKeys.class);
>       return ((BuiltInMetadata.UniqueKeys) fn.apply(rel))
>           .getUniqueKeys(ignoreNulls);
>     } 
> {code}
> Repro 
> {code}
> with ss as 
> (select 
>     ss_customer_sk, ss_item_sk, ss_ticket_number
> from
>     store_sales,
>     store
> where
>     s_store_sk = ss_store_sk
>         and s_market_id = 4), 
> sr as
> (select sr_customer_sk,sr_item_sk ,sr_ticket_number from store_returns, store 
> where s_store_sk = sr_store_sk and s_market_id=4) 
> select 
>     count(*)
> from
>     ss,
>     sr
> where
>     ss_customer_sk = sr_customer_sk
>         and ss_item_sk = sr_item_sk
>         and ss_ticket_number = sr_ticket_number;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to