Anonymous Coward (816) has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/22409 )

Change subject: IMPALA-13042: Calcite Planner; Enable partition pruning
......................................................................


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/22409/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/22409/6//COMMIT_MSG@21
PS6, Line 21: root type should not change, and this was tested on a full 
Jenkins run.
hi, tpcds q11:
when use calcite in impala:
[Impala plan]
LogicalSort(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], 
dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100]), id = 1082
  LogicalProject(CUSTOMER_ID=[$10], CUSTOMER_FIRST_NAME=[$11], 
CUSTOMER_LAST_NAME=[$12], CUSTOMER_EMAIL_ADDRESS=[$16]), id = 1081
    LogicalProject(CUSTOMER_ID=[$10], CUSTOMER_FIRST_NAME=[$11], 
CUSTOMER_LAST_NAME=[$12], CUSTOMER_PREFERRED_CUST_FLAG=[$13], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$17], YEAR_TOTAL=[$18], SALE_TYPE=[$19], 
CUSTOMER_ID0=[$30], CUSTOMER_FIRST_NAME0=[$31], CUSTOMER_LAST_NAME0=[$32], 
CUSTOMER_PREFERRED_CUST_FLAG0=[$33], CUSTOMER_BIRTH_COUNTRY0=[$34], 
CUSTOMER_LOGIN0=[$35], CUSTOMER_EMAIL_ADDRESS0=[$36], DYEAR0=[$37], 
YEAR_TOTAL0=[$38], SALE_TYPE0=[$39], CUSTOMER_ID1=[$0], 
CUSTOMER_FIRST_NAME1=[$1], CUSTOMER_LAST_NAME1=[$2], 
CUSTOMER_PREFERRED_CUST_FLAG1=[$3], CUSTOMER_BIRTH_COUNTRY1=[$4], 
CUSTOMER_LOGIN1=[$5], CUSTOMER_EMAIL_ADDRESS1=[$6], DYEAR1=[$7], 
YEAR_TOTAL1=[$8], SALE_TYPE1=[$9], CUSTOMER_ID2=[$20], 
CUSTOMER_FIRST_NAME2=[$21], CUSTOMER_LAST_NAME2=[$22], 
CUSTOMER_PREFERRED_CUST_FLAG2=[$23], CUSTOMER_BIRTH_COUNTRY2=[$24], 
CUSTOMER_LOGIN2=[$25], CUSTOMER_EMAIL_ADDRESS2=[$26], DYEAR2=[$27], 
YEAR_TOTAL2=[$28], SALE_TYPE2=[$29]), id = 1080
      LogicalJoin(condition=[AND(>(CASE(>($8, 0:DECIMAL(3, 0)), /($28, $8), 
0.0:DECIMAL(38, 6)), CASE(>($18, 0:DECIMAL(3, 0)), /($38, $18), 0.0:DECIMAL(38, 
6))), =(CAST($30):VARCHAR(1), CAST($10):VARCHAR(1)))], joinType=[inner]), id = 
1079
        LogicalJoin(condition=[=(CAST($10):VARCHAR(1), CAST($20):VARCHAR(1))], 
joinType=[inner]), id = 1074
          LogicalJoin(condition=[=(CAST($10):VARCHAR(1), CAST($0):VARCHAR(1))], 
joinType=[inner]), id = 1069
            LogicalFilter(condition=[AND(=($9, 
CAST('w':VARCHAR(2147483647)):VARCHAR(2147483647)), =($7, 2001), >($8, 
0:DECIMAL(3, 0)))]), id = 1064
              LogicalUnion(all=[true]), id = 1063
                LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('s':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1061
                  LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 924
                    LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$47], $f8=[-($35, $32)]), id = 922
                      LogicalProject(c_customer_sk=[$23], c_customer_id=[$24], 
c_current_cdemo_sk=[$25], c_current_hdemo_sk=[$26], c_current_addr_sk=[$27], 
c_first_shipto_date_sk=[$28], c_first_sales_date_sk=[$29], c_salutation=[$30], 
c_first_name=[$31], c_last_name=[$32], c_preferred_cust_flag=[$33], 
c_birth_day=[$34], c_birth_month=[$35], c_birth_year=[$36], 
c_birth_country=[$37], c_login=[$38], c_email_address=[$39], 
c_last_review_date_sk=[$40], ss_sold_date_sk=[$0], ss_sold_time_sk=[$1], 
ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], 
ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], 
ss_quantity=[$10], ss_wholesale_cost=[$11], ss_list_price=[$12], 
ss_sales_price=[$13], ss_ext_discount_amt=[$14], ss_ext_sales_price=[$15], 
ss_ext_wholesale_cost=[$16], ss_ext_list_price=[$17], ss_ext_tax=[$18], 
ss_coupon_amt=[$19], ss_net_paid=[$20], ss_net_paid_inc_tax=[$21], 
ss_net_profit=[$22], d_date_sk=[$41], d_date_id=[$42], d_date=[$43], 
d_month_seq=[$44], d_week_seq=[$45], d_quarter_seq=[$46], d_year=[$47], 
d_dow=[$48], d_moy=[$49], d_dom=[$50], d_qoy=[$51], d_fy_year=[$52], 
d_fy_quarter_seq=[$53], d_fy_week_seq=[$54], d_day_name=[$55], 
d_quarter_name=[$56], d_holiday=[$57], d_weekend=[$58], 
d_following_holiday=[$59], d_first_dom=[$60], d_last_dom=[$61], 
d_same_day_ly=[$62], d_same_day_lq=[$63], d_current_day=[$64], 
d_current_week=[$65], d_current_month=[$66], d_current_quarter=[$67], 
d_current_year=[$68]), id = 920
                        LogicalJoin(condition=[=($0, $41)], joinType=[inner]), 
id = 918
                          LogicalJoin(condition=[=($23, $3)], 
joinType=[inner]), id = 915
                            LogicalTableScan(table=[[tpcds_1, store_sales]]), 
id = 3
                            LogicalTableScan(table=[[tpcds_1, customer]]), id = 
1
                          LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
                LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('w':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1062
                  LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 939
                    LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$58], $f8=[-($43, $40)]), id = 937
                      LogicalProject(c_customer_sk=[$34], c_customer_id=[$35], 
c_current_cdemo_sk=[$36], c_current_hdemo_sk=[$37], c_current_addr_sk=[$38], 
c_first_shipto_date_sk=[$39], c_first_sales_date_sk=[$40], c_salutation=[$41], 
c_first_name=[$42], c_last_name=[$43], c_preferred_cust_flag=[$44], 
c_birth_day=[$45], c_birth_month=[$46], c_birth_year=[$47], 
c_birth_country=[$48], c_login=[$49], c_email_address=[$50], 
c_last_review_date_sk=[$51], ws_sold_date_sk=[$0], ws_sold_time_sk=[$1], 
ws_ship_date_sk=[$2], ws_item_sk=[$3], ws_bill_customer_sk=[$4], 
ws_bill_cdemo_sk=[$5], ws_bill_hdemo_sk=[$6], ws_bill_addr_sk=[$7], 
ws_ship_customer_sk=[$8], ws_ship_cdemo_sk=[$9], ws_ship_hdemo_sk=[$10], 
ws_ship_addr_sk=[$11], ws_web_page_sk=[$12], ws_web_site_sk=[$13], 
ws_ship_mode_sk=[$14], ws_warehouse_sk=[$15], ws_promo_sk=[$16], 
ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], 
ws_list_price=[$20], ws_sales_price=[$21], ws_ext_discount_amt=[$22], 
ws_ext_sales_price=[$23], ws_ext_wholesale_cost=[$24], ws_ext_list_price=[$25], 
ws_ext_tax=[$26], ws_coupon_amt=[$27], ws_ext_ship_cost=[$28], 
ws_net_paid=[$29], ws_net_paid_inc_tax=[$30], ws_net_paid_inc_ship=[$31], 
ws_net_paid_inc_ship_tax=[$32], ws_net_profit=[$33], d_date_sk=[$52], 
d_date_id=[$53], d_date=[$54], d_month_seq=[$55], d_week_seq=[$56], 
d_quarter_seq=[$57], d_year=[$58], d_dow=[$59], d_moy=[$60], d_dom=[$61], 
d_qoy=[$62], d_fy_year=[$63], d_fy_quarter_seq=[$64], d_fy_week_seq=[$65], 
d_day_name=[$66], d_quarter_name=[$67], d_holiday=[$68], d_weekend=[$69], 
d_following_holiday=[$70], d_first_dom=[$71], d_last_dom=[$72], 
d_same_day_ly=[$73], d_same_day_lq=[$74], d_current_day=[$75], 
d_current_week=[$76], d_current_month=[$77], d_current_quarter=[$78], 
d_current_year=[$79]), id = 935
                        LogicalJoin(condition=[=($0, $52)], joinType=[inner]), 
id = 933
                          LogicalJoin(condition=[=($34, $4)], 
joinType=[inner]), id = 930
                            LogicalTableScan(table=[[tpcds_1, web_sales]]), id 
= 17
                            LogicalTableScan(table=[[tpcds_1, customer]]), id = 
1
                          LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
            LogicalFilter(condition=[AND(=($9, 
CAST('s':VARCHAR(2147483647)):VARCHAR(2147483647)), =($7, 2001), >($8, 
0:DECIMAL(3, 0)))]), id = 1068
              LogicalUnion(all=[true]), id = 1067
                LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('s':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1065
                  LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 958
                    LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$47], $f8=[-($35, $32)]), id = 956
                      LogicalProject(c_customer_sk=[$23], c_customer_id=[$24], 
c_current_cdemo_sk=[$25], c_current_hdemo_sk=[$26], c_current_addr_sk=[$27], 
c_first_shipto_date_sk=[$28], c_first_sales_date_sk=[$29], c_salutation=[$30], 
c_first_name=[$31], c_last_name=[$32], c_preferred_cust_flag=[$33], 
c_birth_day=[$34], c_birth_month=[$35], c_birth_year=[$36], 
c_birth_country=[$37], c_login=[$38], c_email_address=[$39], 
c_last_review_date_sk=[$40], ss_sold_date_sk=[$0], ss_sold_time_sk=[$1], 
ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], 
ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], 
ss_quantity=[$10], ss_wholesale_cost=[$11], ss_list_price=[$12], 
ss_sales_price=[$13], ss_ext_discount_amt=[$14], ss_ext_sales_price=[$15], 
ss_ext_wholesale_cost=[$16], ss_ext_list_price=[$17], ss_ext_tax=[$18], 
ss_coupon_amt=[$19], ss_net_paid=[$20], ss_net_paid_inc_tax=[$21], 
ss_net_profit=[$22], d_date_sk=[$41], d_date_id=[$42], d_date=[$43], 
d_month_seq=[$44], d_week_seq=[$45], d_quarter_seq=[$46], d_year=[$47], 
d_dow=[$48], d_moy=[$49], d_dom=[$50], d_qoy=[$51], d_fy_year=[$52], 
d_fy_quarter_seq=[$53], d_fy_week_seq=[$54], d_day_name=[$55], 
d_quarter_name=[$56], d_holiday=[$57], d_weekend=[$58], 
d_following_holiday=[$59], d_first_dom=[$60], d_last_dom=[$61], 
d_same_day_ly=[$62], d_same_day_lq=[$63], d_current_day=[$64], 
d_current_week=[$65], d_current_month=[$66], d_current_quarter=[$67], 
d_current_year=[$68]), id = 954
                        LogicalJoin(condition=[=($0, $41)], joinType=[inner]), 
id = 952
                          LogicalJoin(condition=[=($23, $3)], 
joinType=[inner]), id = 949
                            LogicalTableScan(table=[[tpcds_1, store_sales]]), 
id = 3
                            LogicalTableScan(table=[[tpcds_1, customer]]), id = 
1
                          LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
                LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('w':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1066
                  LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 973
                    LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$58], $f8=[-($43, $40)]), id = 971
                      LogicalProject(c_customer_sk=[$34], c_customer_id=[$35], 
c_current_cdemo_sk=[$36], c_current_hdemo_sk=[$37], c_current_addr_sk=[$38], 
c_first_shipto_date_sk=[$39], c_first_sales_date_sk=[$40], c_salutation=[$41], 
c_first_name=[$42], c_last_name=[$43], c_preferred_cust_flag=[$44], 
c_birth_day=[$45], c_birth_month=[$46], c_birth_year=[$47], 
c_birth_country=[$48], c_login=[$49], c_email_address=[$50], 
c_last_review_date_sk=[$51], ws_sold_date_sk=[$0], ws_sold_time_sk=[$1], 
ws_ship_date_sk=[$2], ws_item_sk=[$3], ws_bill_customer_sk=[$4], 
ws_bill_cdemo_sk=[$5], ws_bill_hdemo_sk=[$6], ws_bill_addr_sk=[$7], 
ws_ship_customer_sk=[$8], ws_ship_cdemo_sk=[$9], ws_ship_hdemo_sk=[$10], 
ws_ship_addr_sk=[$11], ws_web_page_sk=[$12], ws_web_site_sk=[$13], 
ws_ship_mode_sk=[$14], ws_warehouse_sk=[$15], ws_promo_sk=[$16], 
ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], 
ws_list_price=[$20], ws_sales_price=[$21], ws_ext_discount_amt=[$22], 
ws_ext_sales_price=[$23], ws_ext_wholesale_cost=[$24], ws_ext_list_price=[$25], 
ws_ext_tax=[$26], ws_coupon_amt=[$27], ws_ext_ship_cost=[$28], 
ws_net_paid=[$29], ws_net_paid_inc_tax=[$30], ws_net_paid_inc_ship=[$31], 
ws_net_paid_inc_ship_tax=[$32], ws_net_profit=[$33], d_date_sk=[$52], 
d_date_id=[$53], d_date=[$54], d_month_seq=[$55], d_week_seq=[$56], 
d_quarter_seq=[$57], d_year=[$58], d_dow=[$59], d_moy=[$60], d_dom=[$61], 
d_qoy=[$62], d_fy_year=[$63], d_fy_quarter_seq=[$64], d_fy_week_seq=[$65], 
d_day_name=[$66], d_quarter_name=[$67], d_holiday=[$68], d_weekend=[$69], 
d_following_holiday=[$70], d_first_dom=[$71], d_last_dom=[$72], 
d_same_day_ly=[$73], d_same_day_lq=[$74], d_current_day=[$75], 
d_current_week=[$76], d_current_month=[$77], d_current_quarter=[$78], 
d_current_year=[$79]), id = 969
                        LogicalJoin(condition=[=($0, $52)], joinType=[inner]), 
id = 967
                          LogicalJoin(condition=[=($34, $4)], 
joinType=[inner]), id = 964
                            LogicalTableScan(table=[[tpcds_1, web_sales]]), id 
= 17
                            LogicalTableScan(table=[[tpcds_1, customer]]), id = 
1
                          LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
          LogicalFilter(condition=[AND(=($9, 
CAST('w':VARCHAR(2147483647)):VARCHAR(2147483647)), =($7, +(2001, 1)))]), id = 
1073
            LogicalUnion(all=[true]), id = 1072
              LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('s':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1070
                LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 994
                  LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$47], $f8=[-($35, $32)]), id = 992
                    LogicalProject(c_customer_sk=[$23], c_customer_id=[$24], 
c_current_cdemo_sk=[$25], c_current_hdemo_sk=[$26], c_current_addr_sk=[$27], 
c_first_shipto_date_sk=[$28], c_first_sales_date_sk=[$29], c_salutation=[$30], 
c_first_name=[$31], c_last_name=[$32], c_preferred_cust_flag=[$33], 
c_birth_day=[$34], c_birth_month=[$35], c_birth_year=[$36], 
c_birth_country=[$37], c_login=[$38], c_email_address=[$39], 
c_last_review_date_sk=[$40], ss_sold_date_sk=[$0], ss_sold_time_sk=[$1], 
ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], 
ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], 
ss_quantity=[$10], ss_wholesale_cost=[$11], ss_list_price=[$12], 
ss_sales_price=[$13], ss_ext_discount_amt=[$14], ss_ext_sales_price=[$15], 
ss_ext_wholesale_cost=[$16], ss_ext_list_price=[$17], ss_ext_tax=[$18], 
ss_coupon_amt=[$19], ss_net_paid=[$20], ss_net_paid_inc_tax=[$21], 
ss_net_profit=[$22], d_date_sk=[$41], d_date_id=[$42], d_date=[$43], 
d_month_seq=[$44], d_week_seq=[$45], d_quarter_seq=[$46], d_year=[$47], 
d_dow=[$48], d_moy=[$49], d_dom=[$50], d_qoy=[$51], d_fy_year=[$52], 
d_fy_quarter_seq=[$53], d_fy_week_seq=[$54], d_day_name=[$55], 
d_quarter_name=[$56], d_holiday=[$57], d_weekend=[$58], 
d_following_holiday=[$59], d_first_dom=[$60], d_last_dom=[$61], 
d_same_day_ly=[$62], d_same_day_lq=[$63], d_current_day=[$64], 
d_current_week=[$65], d_current_month=[$66], d_current_quarter=[$67], 
d_current_year=[$68]), id = 990
                      LogicalJoin(condition=[=($0, $41)], joinType=[inner]), id 
= 988
                        LogicalJoin(condition=[=($23, $3)], joinType=[inner]), 
id = 985
                          LogicalTableScan(table=[[tpcds_1, store_sales]]), id 
= 3
                          LogicalTableScan(table=[[tpcds_1, customer]]), id = 1
                        LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
              LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('w':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1071
                LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 1009
                  LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$58], $f8=[-($43, $40)]), id = 1007
                    LogicalProject(c_customer_sk=[$34], c_customer_id=[$35], 
c_current_cdemo_sk=[$36], c_current_hdemo_sk=[$37], c_current_addr_sk=[$38], 
c_first_shipto_date_sk=[$39], c_first_sales_date_sk=[$40], c_salutation=[$41], 
c_first_name=[$42], c_last_name=[$43], c_preferred_cust_flag=[$44], 
c_birth_day=[$45], c_birth_month=[$46], c_birth_year=[$47], 
c_birth_country=[$48], c_login=[$49], c_email_address=[$50], 
c_last_review_date_sk=[$51], ws_sold_date_sk=[$0], ws_sold_time_sk=[$1], 
ws_ship_date_sk=[$2], ws_item_sk=[$3], ws_bill_customer_sk=[$4], 
ws_bill_cdemo_sk=[$5], ws_bill_hdemo_sk=[$6], ws_bill_addr_sk=[$7], 
ws_ship_customer_sk=[$8], ws_ship_cdemo_sk=[$9], ws_ship_hdemo_sk=[$10], 
ws_ship_addr_sk=[$11], ws_web_page_sk=[$12], ws_web_site_sk=[$13], 
ws_ship_mode_sk=[$14], ws_warehouse_sk=[$15], ws_promo_sk=[$16], 
ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], 
ws_list_price=[$20], ws_sales_price=[$21], ws_ext_discount_amt=[$22], 
ws_ext_sales_price=[$23], ws_ext_wholesale_cost=[$24], ws_ext_list_price=[$25], 
ws_ext_tax=[$26], ws_coupon_amt=[$27], ws_ext_ship_cost=[$28], 
ws_net_paid=[$29], ws_net_paid_inc_tax=[$30], ws_net_paid_inc_ship=[$31], 
ws_net_paid_inc_ship_tax=[$32], ws_net_profit=[$33], d_date_sk=[$52], 
d_date_id=[$53], d_date=[$54], d_month_seq=[$55], d_week_seq=[$56], 
d_quarter_seq=[$57], d_year=[$58], d_dow=[$59], d_moy=[$60], d_dom=[$61], 
d_qoy=[$62], d_fy_year=[$63], d_fy_quarter_seq=[$64], d_fy_week_seq=[$65], 
d_day_name=[$66], d_quarter_name=[$67], d_holiday=[$68], d_weekend=[$69], 
d_following_holiday=[$70], d_first_dom=[$71], d_last_dom=[$72], 
d_same_day_ly=[$73], d_same_day_lq=[$74], d_current_day=[$75], 
d_current_week=[$76], d_current_month=[$77], d_current_quarter=[$78], 
d_current_year=[$79]), id = 1005
                      LogicalJoin(condition=[=($0, $52)], joinType=[inner]), id 
= 1003
                        LogicalJoin(condition=[=($34, $4)], joinType=[inner]), 
id = 1000
                          LogicalTableScan(table=[[tpcds_1, web_sales]]), id = 
17
                          LogicalTableScan(table=[[tpcds_1, customer]]), id = 1
                        LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
        LogicalFilter(condition=[AND(=($9, 
CAST('s':VARCHAR(2147483647)):VARCHAR(2147483647)), =($7, +(2001, 1)))]), id = 
1078
          LogicalUnion(all=[true]), id = 1077
            LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('s':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1075
              LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 1030
                LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$47], $f8=[-($35, $32)]), id = 1028
                  LogicalProject(c_customer_sk=[$23], c_customer_id=[$24], 
c_current_cdemo_sk=[$25], c_current_hdemo_sk=[$26], c_current_addr_sk=[$27], 
c_first_shipto_date_sk=[$28], c_first_sales_date_sk=[$29], c_salutation=[$30], 
c_first_name=[$31], c_last_name=[$32], c_preferred_cust_flag=[$33], 
c_birth_day=[$34], c_birth_month=[$35], c_birth_year=[$36], 
c_birth_country=[$37], c_login=[$38], c_email_address=[$39], 
c_last_review_date_sk=[$40], ss_sold_date_sk=[$0], ss_sold_time_sk=[$1], 
ss_item_sk=[$2], ss_customer_sk=[$3], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], 
ss_addr_sk=[$6], ss_store_sk=[$7], ss_promo_sk=[$8], ss_ticket_number=[$9], 
ss_quantity=[$10], ss_wholesale_cost=[$11], ss_list_price=[$12], 
ss_sales_price=[$13], ss_ext_discount_amt=[$14], ss_ext_sales_price=[$15], 
ss_ext_wholesale_cost=[$16], ss_ext_list_price=[$17], ss_ext_tax=[$18], 
ss_coupon_amt=[$19], ss_net_paid=[$20], ss_net_paid_inc_tax=[$21], 
ss_net_profit=[$22], d_date_sk=[$41], d_date_id=[$42], d_date=[$43], 
d_month_seq=[$44], d_week_seq=[$45], d_quarter_seq=[$46], d_year=[$47], 
d_dow=[$48], d_moy=[$49], d_dom=[$50], d_qoy=[$51], d_fy_year=[$52], 
d_fy_quarter_seq=[$53], d_fy_week_seq=[$54], d_day_name=[$55], 
d_quarter_name=[$56], d_holiday=[$57], d_weekend=[$58], 
d_following_holiday=[$59], d_first_dom=[$60], d_last_dom=[$61], 
d_same_day_ly=[$62], d_same_day_lq=[$63], d_current_day=[$64], 
d_current_week=[$65], d_current_month=[$66], d_current_quarter=[$67], 
d_current_year=[$68]), id = 1026
                    LogicalJoin(condition=[=($0, $41)], joinType=[inner]), id = 
1024
                      LogicalJoin(condition=[=($23, $3)], joinType=[inner]), id 
= 1021
                        LogicalTableScan(table=[[tpcds_1, store_sales]]), id = 3
                        LogicalTableScan(table=[[tpcds_1, customer]]), id = 1
                      LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7
            LogicalProject(CUSTOMER_ID=[$0], CUSTOMER_FIRST_NAME=[$1], 
CUSTOMER_LAST_NAME=[$2], CUSTOMER_PREFERRED_CUST_FLAG=[$3], 
CUSTOMER_BIRTH_COUNTRY=[$4], CUSTOMER_LOGIN=[$5], CUSTOMER_EMAIL_ADDRESS=[$6], 
DYEAR=[$7], YEAR_TOTAL=[$8], 
SALE_TYPE=[CAST('w':VARCHAR(2147483647)):VARCHAR(2147483647)]), id = 1076
              LogicalAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7}], 
YEAR_TOTAL=[SUM($8)]), id = 1045
                LogicalProject(CUSTOMER_ID=[$1], CUSTOMER_FIRST_NAME=[$8], 
CUSTOMER_LAST_NAME=[$9], CUSTOMER_PREFERRED_CUST_FLAG=[$10], 
CUSTOMER_BIRTH_COUNTRY=[$14], CUSTOMER_LOGIN=[$15], 
CUSTOMER_EMAIL_ADDRESS=[$16], DYEAR=[$58], $f8=[-($43, $40)]), id = 1043
                  LogicalProject(c_customer_sk=[$34], c_customer_id=[$35], 
c_current_cdemo_sk=[$36], c_current_hdemo_sk=[$37], c_current_addr_sk=[$38], 
c_first_shipto_date_sk=[$39], c_first_sales_date_sk=[$40], c_salutation=[$41], 
c_first_name=[$42], c_last_name=[$43], c_preferred_cust_flag=[$44], 
c_birth_day=[$45], c_birth_month=[$46], c_birth_year=[$47], 
c_birth_country=[$48], c_login=[$49], c_email_address=[$50], 
c_last_review_date_sk=[$51], ws_sold_date_sk=[$0], ws_sold_time_sk=[$1], 
ws_ship_date_sk=[$2], ws_item_sk=[$3], ws_bill_customer_sk=[$4], 
ws_bill_cdemo_sk=[$5], ws_bill_hdemo_sk=[$6], ws_bill_addr_sk=[$7], 
ws_ship_customer_sk=[$8], ws_ship_cdemo_sk=[$9], ws_ship_hdemo_sk=[$10], 
ws_ship_addr_sk=[$11], ws_web_page_sk=[$12], ws_web_site_sk=[$13], 
ws_ship_mode_sk=[$14], ws_warehouse_sk=[$15], ws_promo_sk=[$16], 
ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], 
ws_list_price=[$20], ws_sales_price=[$21], ws_ext_discount_amt=[$22], 
ws_ext_sales_price=[$23], ws_ext_wholesale_cost=[$24], ws_ext_list_price=[$25], 
ws_ext_tax=[$26], ws_coupon_amt=[$27], ws_ext_ship_cost=[$28], 
ws_net_paid=[$29], ws_net_paid_inc_tax=[$30], ws_net_paid_inc_ship=[$31], 
ws_net_paid_inc_ship_tax=[$32], ws_net_profit=[$33], d_date_sk=[$52], 
d_date_id=[$53], d_date=[$54], d_month_seq=[$55], d_week_seq=[$56], 
d_quarter_seq=[$57], d_year=[$58], d_dow=[$59], d_moy=[$60], d_dom=[$61], 
d_qoy=[$62], d_fy_year=[$63], d_fy_quarter_seq=[$64], d_fy_week_seq=[$65], 
d_day_name=[$66], d_quarter_name=[$67], d_holiday=[$68], d_weekend=[$69], 
d_following_holiday=[$70], d_first_dom=[$71], d_last_dom=[$72], 
d_same_day_ly=[$73], d_same_day_lq=[$74], d_current_day=[$75], 
d_current_week=[$76], d_current_month=[$77], d_current_quarter=[$78], 
d_current_year=[$79]), id = 1041
                    LogicalJoin(condition=[=($0, $52)], joinType=[inner]), id = 
1039
                      LogicalJoin(condition=[=($34, $4)], joinType=[inner]), id 
= 1036
                        LogicalTableScan(table=[[tpcds_1, web_sales]]), id = 17
                        LogicalTableScan(table=[[tpcds_1, customer]]), id = 1
                      LogicalTableScan(table=[[tpcds_1, date_dim]]), id = 7



but hive 
https://github.com/apache/hive/blob/master/ql/src/test/results/clientpositive/perf/tpcds30tb/tez/cbo_query11.q.out

do not have union.

and impala old planner can remove one child of union

so maybe can add this opt in future?



--
To view, visit http://gerrit.cloudera.org:8080/22409
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I8c698b857555baeae347835b4a6b39d035f12405
Gerrit-Change-Number: 22409
Gerrit-PatchSet: 6
Gerrit-Owner: Steve Carlin <scar...@cloudera.com>
Gerrit-Reviewer: Aman Sinha <amsi...@cloudera.com>
Gerrit-Reviewer: Anonymous Coward (816)
Gerrit-Reviewer: Fang-Yu Rao <fangyu....@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <joemcdonn...@cloudera.com>
Gerrit-Reviewer: Michael Smith <michael.sm...@cloudera.com>
Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com>
Gerrit-Reviewer: Steve Carlin <scar...@cloudera.com>
Gerrit-Comment-Date: Fri, 21 Mar 2025 07:15:47 +0000
Gerrit-HasComments: Yes

Reply via email to