http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test index 4de9722..8144524 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpcds-all.test @@ -28,6 +28,8 @@ order by brand_id limit 100 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=100] | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC | @@ -56,6 +58,8 @@ limit 100 predicates: dt.d_moy = 12, (dt.d_date_sk BETWEEN 2451149 AND 2451179 OR dt.d_date_sk BETWEEN 2451514 AND 2451544 OR dt.d_date_sk BETWEEN 2451880 AND 2451910 OR dt.d_date_sk BETWEEN 2452245 AND 2452275 OR dt.d_date_sk BETWEEN 2452610 AND 2452640) runtime filters: RF000 -> dt.d_date_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC | limit: 100 @@ -98,6 +102,8 @@ limit 100 predicates: dt.d_moy = 12, (dt.d_date_sk BETWEEN 2451149 AND 2451179 OR dt.d_date_sk BETWEEN 2451514 AND 2451544 OR dt.d_date_sk BETWEEN 2451880 AND 2451910 OR dt.d_date_sk BETWEEN 2452245 AND 2452275 OR dt.d_date_sk BETWEEN 2452610 AND 2452640) runtime filters: RF000 -> dt.d_date_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC | limit: 100 @@ -178,6 +184,8 @@ order by i_item_id limit 100 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=100] | order by: i_item_id ASC | @@ -220,6 +228,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_item_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_promo_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_item_id ASC | limit: 100 @@ -282,6 +292,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_item_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_cdemo_sk, RF003 -> ss_promo_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_item_id ASC | limit: 100 @@ -430,6 +442,8 @@ order by s_store_name limit 100 ---- PLAN +PLAN-ROOT SINK +| 11:TOP-N [LIMIT=100] | order by: s_store_name ASC | @@ -479,6 +493,8 @@ limit 100 partitions=7/120 files=7 size=1.02MB runtime filters: RF001 -> store_sales.ss_store_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 20:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name ASC | limit: 100 @@ -552,6 +568,8 @@ limit 100 partitions=7/120 files=7 size=1.02MB runtime filters: RF001 -> store_sales.ss_store_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 20:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name ASC | limit: 100 @@ -679,6 +697,8 @@ order by i_manufact limit 100 ---- PLAN +PLAN-ROOT SINK +| 12:TOP-N [LIMIT=100] | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC | @@ -730,6 +750,8 @@ limit 100 partitions=1/1 files=1 size=5.25MB runtime filters: RF004 -> ca_address_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 20:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC | limit: 100 @@ -801,6 +823,8 @@ limit 100 partitions=1/1 files=1 size=5.25MB runtime filters: RF004 -> ca_address_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 20:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(ss_ext_sales_price) DESC, i_brand ASC, i_brand_id ASC, i_manufact_id ASC, i_manufact ASC | limit: 100 @@ -924,6 +948,8 @@ order by s_state limit 100 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=100] | order by: i_item_id ASC, s_state ASC | @@ -966,6 +992,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF003 -> ss_cdemo_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_item_id ASC, s_state ASC | limit: 100 @@ -1028,6 +1056,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_item_sk, RF001 -> ss_store_sk, RF002 -> ss_sold_date_sk, RF003 -> ss_cdemo_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_item_id ASC, s_state ASC | limit: 100 @@ -1151,6 +1181,8 @@ order by c_preferred_cust_flag desc limit 100000 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=100000] | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC | @@ -1195,6 +1227,8 @@ limit 100000 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> c_customer_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC | limit: 100000 @@ -1257,6 +1291,8 @@ limit 100000 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> c_customer_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, c_first_name ASC, c_salutation ASC, c_preferred_cust_flag DESC | limit: 100000 @@ -1362,6 +1398,8 @@ order by item.i_category limit 100 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=100] | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC | @@ -1389,6 +1427,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC | limit: 100 @@ -1430,6 +1470,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(ss_ext_sales_price) DESC, dt.d_year ASC, item.i_category_id ASC, item.i_category ASC | limit: 100 @@ -1514,6 +1556,8 @@ order by sat_sales limit 100 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=100] | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC | @@ -1541,6 +1585,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC | limit: 100 @@ -1582,6 +1628,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name ASC, s_store_id ASC, sum(CASE WHEN (d_day_name = 'Sunday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Monday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Tuesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Wednesday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Thursday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Friday') THEN ss_sales_price ELSE NULL END) ASC, sum(CASE WHEN (d_day_name = 'Saturday') THEN ss_sales_price ELSE NULL END) ASC | limit: 100 @@ -1710,6 +1758,8 @@ order by ss_ticket_number limit 100 ---- PLAN +PLAN-ROOT SINK +| 14:TOP-N [LIMIT=100] | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC | @@ -1770,6 +1820,8 @@ limit 100 partitions=1/1 files=1 size=5.25MB runtime filters: RF000 -> current_addr.ca_address_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC | limit: 100 @@ -1852,6 +1904,8 @@ limit 100 partitions=1/1 files=1 size=5.25MB runtime filters: RF000 -> current_addr.ca_address_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, c_first_name ASC, ca_city ASC, bought_city ASC, ss_ticket_number ASC | limit: 100 @@ -1984,6 +2038,8 @@ order by brand_id limit 100 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=100] | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC | @@ -2011,6 +2067,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC | limit: 100 @@ -2052,6 +2110,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> store_sales.ss_sold_date_sk, RF001 -> store_sales.ss_item_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: dt.d_year ASC, sum(ss_ext_sales_price) DESC, item.i_brand_id ASC | limit: 100 @@ -2133,6 +2193,8 @@ order by i_manufact_id limit 100 ---- PLAN +PLAN-ROOT SINK +| 08:TOP-N [LIMIT=100] | order by: sum_sales ASC, i_manufact_id ASC | @@ -2168,6 +2230,8 @@ limit 100 predicates: 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) runtime filters: RF001 -> d_date_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 14:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum_sales ASC, i_manufact_id ASC | limit: 100 @@ -2219,6 +2283,8 @@ limit 100 predicates: 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) runtime filters: RF001 -> d_date_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 14:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum_sales ASC, i_manufact_id ASC | limit: 100 @@ -2305,6 +2371,8 @@ order by i_brand_id limit 100 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=100] | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC | @@ -2332,6 +2400,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_sold_date_sk, RF001 -> ss_item_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC | limit: 100 @@ -2373,6 +2443,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_sold_date_sk, RF001 -> ss_item_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(ss_ext_sales_price) DESC, i_brand_id ASC | limit: 100 @@ -2505,6 +2577,8 @@ order by d_week_seq1 limit 100 ---- PLAN +PLAN-ROOT SINK +| 17:TOP-N [LIMIT=100] | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC | @@ -2576,6 +2650,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF002 -> tpcds.store_sales.ss_store_sk, RF004 -> ss_sold_date_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 32:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC | limit: 100 @@ -2683,6 +2759,8 @@ limit 100 partitions=120/120 files=120 size=21.31MB runtime filters: RF002 -> tpcds.store_sales.ss_store_sk, RF004 -> ss_sold_date_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 32:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name1 ASC, s_store_id1 ASC, d_week_seq1 ASC | limit: 100 @@ -2855,6 +2933,8 @@ order by sum_sales limit 100 ---- PLAN +PLAN-ROOT SINK +| 11:TOP-N [LIMIT=100] | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC | @@ -2900,6 +2980,8 @@ limit 100 predicates: tpcds.date_dim.d_date_sk <= 2452275, tpcds.date_dim.d_date_sk >= 2451911, 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) runtime filters: RF001 -> d_date_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC | limit: 100 @@ -2961,6 +3043,8 @@ limit 100 predicates: tpcds.date_dim.d_date_sk <= 2452275, tpcds.date_dim.d_date_sk >= 2451911, 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) runtime filters: RF001 -> d_date_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_manager_id ASC, avg_monthly_sales ASC, sum_sales ASC | limit: 100 @@ -3090,6 +3174,8 @@ order by i_item_desc limit 100 ---- PLAN +PLAN-ROOT SINK +| 14:TOP-N [LIMIT=100] | order by: s_store_name ASC, i_item_desc ASC | @@ -3150,6 +3236,8 @@ limit 100 partitions=1/1 files=1 size=4.82MB runtime filters: RF000 -> i_item_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 26:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name ASC, i_item_desc ASC | limit: 100 @@ -3242,6 +3330,8 @@ limit 100 partitions=1/1 files=1 size=4.82MB runtime filters: RF000 -> i_item_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 26:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_store_name ASC, i_item_desc ASC | limit: 100 @@ -3404,6 +3494,8 @@ order by ss_ticket_number limit 100 ---- PLAN +PLAN-ROOT SINK +| 14:TOP-N [LIMIT=100] | order by: c_last_name ASC, ss_ticket_number ASC | @@ -3462,6 +3554,8 @@ limit 100 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> customer.c_current_addr_sk, RF001 -> c_customer_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, ss_ticket_number ASC | limit: 100 @@ -3542,6 +3636,8 @@ limit 100 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> customer.c_current_addr_sk, RF001 -> c_customer_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, ss_ticket_number ASC | limit: 100 @@ -3685,6 +3781,8 @@ order by cnt desc limit 1000 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=1000] | order by: cnt DESC | @@ -3728,6 +3826,8 @@ limit 1000 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> c_customer_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: cnt DESC | limit: 1000 @@ -3791,6 +3891,8 @@ limit 1000 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> c_customer_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: cnt DESC | limit: 1000 @@ -3914,6 +4016,8 @@ order by profit limit 100 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=100] | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC | @@ -3957,6 +4061,8 @@ limit 100 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> c_customer_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC | limit: 100 @@ -4020,6 +4126,8 @@ limit 100 partitions=1/1 files=1 size=12.60MB runtime filters: RF000 -> c_customer_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: c_last_name ASC, c_first_name ASC, substr(s_city, 1, 30) ASC, profit ASC | limit: 100 @@ -4129,6 +4237,8 @@ where case when (avg_monthly_sales <> 0) then (abs(sum_sales - avg_monthly_sales order by sum_sales - avg_monthly_sales, s_store_name limit 100) tmp2 ---- PLAN +PLAN-ROOT SINK +| 11:TOP-N [LIMIT=100] | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC | @@ -4173,6 +4283,8 @@ limit 100) tmp2 partitions=24/120 files=24 size=4.16MB runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC | limit: 100 @@ -4233,6 +4345,8 @@ limit 100) tmp2 partitions=24/120 files=24 size=4.16MB runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum_sales - avg_monthly_sales ASC, s_store_name ASC | limit: 100 @@ -4321,6 +4435,8 @@ WHERE AND hd.hd_dep_count = 5 AND s.s_store_name = 'ese' ---- PLAN +PLAN-ROOT SINK +| 07:AGGREGATE [FINALIZE] | output: count(*) | @@ -4352,6 +4468,8 @@ WHERE partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss.ss_store_sk, RF001 -> ss.ss_hdemo_sk, RF002 -> ss.ss_sold_time_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:AGGREGATE [FINALIZE] | output: count:merge(*) | @@ -4394,6 +4512,8 @@ WHERE partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss.ss_store_sk, RF001 -> ss.ss_hdemo_sk, RF002 -> ss.ss_sold_time_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 12:AGGREGATE [FINALIZE] | output: count:merge(*) | @@ -4480,6 +4600,8 @@ order by revenueratio limit 1000 ---- PLAN +PLAN-ROOT SINK +| 08:TOP-N [LIMIT=1000] | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC | @@ -4515,6 +4637,8 @@ limit 1000 predicates: tpcds.date_dim.d_date_sk <= 2451941, tpcds.date_dim.d_date_sk >= 2451911, d_date <= '2001-01-31', d_date >= '2001-01-01' runtime filters: RF000 -> d_date_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 13:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC | limit: 1000 @@ -4564,6 +4688,8 @@ limit 1000 predicates: tpcds.date_dim.d_date_sk <= 2451941, tpcds.date_dim.d_date_sk >= 2451911, d_date <= '2001-01-31', d_date >= '2001-01-01' runtime filters: RF000 -> d_date_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 13:MERGING-EXCHANGE [UNPARTITIONED] | order by: i_category ASC, i_class ASC, i_item_id ASC, i_item_desc ASC, sum(ss_ext_sales_price) * 100 / sum(sum(ss_ext_sales_price)) ASC | limit: 1000 @@ -4648,6 +4774,8 @@ select * from ( having count(*) >= 10 order by cnt limit 100) as t ---- PLAN +PLAN-ROOT SINK +| 16:TOP-N [LIMIT=100] | order by: count(*) ASC | @@ -4715,6 +4843,8 @@ select * from ( partitions=120/120 files=120 size=21.31MB runtime filters: RF002 -> s.ss_item_sk, RF003 -> s.ss_sold_date_sk, RF005 -> s.ss_customer_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 31:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) ASC | limit: 100 @@ -4820,6 +4950,8 @@ select * from ( partitions=120/120 files=120 size=21.31MB runtime filters: RF002 -> s.ss_item_sk, RF003 -> s.ss_sold_date_sk, RF005 -> s.ss_customer_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 31:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) ASC | limit: 100 @@ -5000,6 +5132,8 @@ with v1 as ( limit 100 ) as v3 ---- PLAN +PLAN-ROOT SINK +| 35:TOP-N [LIMIT=100] | order by: sum_sales - avg_monthly_sales ASC, d_year ASC | @@ -5136,6 +5270,8 @@ with v1 as ( partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 53:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum_sales - avg_monthly_sales ASC, d_year ASC | limit: 100 @@ -5316,6 +5452,8 @@ with v1 as ( partitions=120/120 files=120 size=21.31MB runtime filters: RF000 -> ss_store_sk, RF001 -> ss_sold_date_sk, RF002 -> ss_item_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 53:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum_sales - avg_monthly_sales ASC, d_year ASC | limit: 100 @@ -5582,6 +5720,8 @@ from and d_moy = 11) all_sales order by promotions, total ---- PLAN +PLAN-ROOT SINK +| 27:SORT | order by: promotions ASC, total ASC | @@ -5688,6 +5828,8 @@ order by promotions, total partitions=120/120 files=120 size=21.31MB runtime filters: RF005 -> ss_item_sk, RF004 -> ss_promo_sk, RF003 -> ss_sold_date_sk, RF001 -> ss_customer_sk, RF002 -> ss_store_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 27:SORT | order by: promotions ASC, total ASC | @@ -5972,6 +6114,8 @@ from (household_demographics.hd_dep_count = 2 and household_demographics.hd_vehicle_count<=2+2)) and store.s_store_name = 'ese') s8 ---- PLAN +PLAN-ROOT SINK +| 70:NESTED LOOP JOIN [CROSS JOIN] | |--63:AGGREGATE [FINALIZE] @@ -6220,6 +6364,8 @@ from partitions=120/120 files=120 size=21.31MB runtime filters: RF002 -> ss_sold_time_sk, RF001 -> ss_hdemo_sk ---- PARALLELPLANS +PLAN-ROOT SINK +| 70:NESTED LOOP JOIN [CROSS JOIN, BROADCAST] | join table id: 00 |
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/tpch-all.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-all.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-all.test index fc6f4e2..d883b74 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-all.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-all.test @@ -22,6 +22,8 @@ order by l_returnflag, l_linestatus ---- PLAN +PLAN-ROOT SINK +| 02:SORT | order by: l_returnflag ASC, l_linestatus ASC | @@ -33,6 +35,8 @@ order by partitions=1/1 files=1 size=718.94MB predicates: l_shipdate <= '1998-09-02' ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 05:MERGING-EXCHANGE [UNPARTITIONED] | order by: l_returnflag ASC, l_linestatus ASC | @@ -53,6 +57,8 @@ order by partitions=1/1 files=1 size=718.94MB predicates: l_shipdate <= '1998-09-02' ---- PARALLELPLANS +PLAN-ROOT SINK +| 05:MERGING-EXCHANGE [UNPARTITIONED] | order by: l_returnflag ASC, l_linestatus ASC | @@ -120,6 +126,8 @@ order by p_partkey limit 100 ---- PLAN +PLAN-ROOT SINK +| 18:TOP-N [LIMIT=100] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | @@ -195,6 +203,8 @@ limit 100 partitions=1/1 files=1 size=112.71MB runtime filters: RF000 -> tpch.partsupp.ps_partkey, RF004 -> ps_suppkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 30:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | limit: 100 @@ -298,6 +308,8 @@ limit 100 partitions=1/1 files=1 size=112.71MB runtime filters: RF000 -> tpch.partsupp.ps_partkey, RF004 -> ps_suppkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 30:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | limit: 100 @@ -459,6 +471,8 @@ order by o_orderdate limit 10 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=10] | order by: sum(l_extendedprice * (1 - l_discount)) DESC, o_orderdate ASC | @@ -488,6 +502,8 @@ limit 10 predicates: l_shipdate > '1995-03-15' runtime filters: RF001 -> l_orderkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC, o_orderdate ASC | limit: 10 @@ -531,6 +547,8 @@ limit 10 predicates: l_shipdate > '1995-03-15' runtime filters: RF001 -> l_orderkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC, o_orderdate ASC | limit: 10 @@ -606,6 +624,8 @@ group by order by o_orderpriority ---- PLAN +PLAN-ROOT SINK +| 04:SORT | order by: o_orderpriority ASC | @@ -626,6 +646,8 @@ order by predicates: l_commitdate < l_receiptdate runtime filters: RF000 -> l_orderkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_orderpriority ASC | @@ -659,6 +681,8 @@ order by predicates: l_commitdate < l_receiptdate runtime filters: RF000 -> l_orderkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 09:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_orderpriority ASC | @@ -723,6 +747,8 @@ group by order by revenue desc ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -775,6 +801,8 @@ order by partitions=1/1 files=1 size=718.94MB runtime filters: RF003 -> l_suppkey, RF005 -> l_orderkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 20:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -846,6 +874,8 @@ order by partitions=1/1 files=1 size=718.94MB runtime filters: RF003 -> l_suppkey, RF005 -> l_orderkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 20:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -949,6 +979,8 @@ where and l_discount between 0.05 and 0.07 and l_quantity < 24 ---- PLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | output: sum(l_extendedprice * l_discount) | @@ -956,6 +988,8 @@ where partitions=1/1 files=1 size=718.94MB predicates: l_discount <= 0.07, l_discount >= 0.05, l_quantity < 24, l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice * l_discount) | @@ -968,6 +1002,8 @@ where partitions=1/1 files=1 size=718.94MB predicates: l_discount <= 0.07, l_discount >= 0.05, l_quantity < 24, l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' ---- PARALLELPLANS +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice * l_discount) | @@ -1021,6 +1057,8 @@ order by cust_nation, l_year ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -1072,6 +1110,8 @@ order by predicates: l_shipdate <= '1996-12-31', l_shipdate >= '1995-01-01' runtime filters: RF003 -> l_suppkey, RF004 -> l_orderkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -1144,6 +1184,8 @@ order by predicates: l_shipdate <= '1996-12-31', l_shipdate >= '1995-01-01' runtime filters: RF003 -> l_suppkey, RF004 -> l_orderkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -1276,6 +1318,8 @@ group by order by o_year ---- PLAN +PLAN-ROOT SINK +| 16:SORT | order by: o_year ASC | @@ -1343,6 +1387,8 @@ order by partitions=1/1 files=1 size=23.08MB runtime filters: RF002 -> c_nationkey, RF003 -> c_custkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 28:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_year ASC | @@ -1437,6 +1483,8 @@ order by partitions=1/1 files=1 size=23.08MB runtime filters: RF002 -> c_nationkey, RF003 -> c_custkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 28:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_year ASC | @@ -1593,6 +1641,8 @@ order by nation, o_year desc ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: nation ASC, o_year DESC | @@ -1642,6 +1692,8 @@ order by partitions=1/1 files=1 size=718.94MB runtime filters: RF001 -> l_partkey, RF002 -> l_suppkey, RF003 -> l_suppkey, RF004 -> l_orderkey, RF005 -> l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: nation ASC, o_year DESC | @@ -1712,6 +1764,8 @@ order by partitions=1/1 files=1 size=718.94MB runtime filters: RF001 -> l_partkey, RF002 -> l_suppkey, RF003 -> l_suppkey, RF004 -> l_orderkey, RF005 -> l_partkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: nation ASC, o_year DESC | @@ -1838,6 +1892,8 @@ order by revenue desc limit 20 ---- PLAN +PLAN-ROOT SINK +| 08:TOP-N [LIMIT=20] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -1873,6 +1929,8 @@ limit 20 partitions=1/1 files=1 size=23.08MB runtime filters: RF000 -> c_nationkey, RF001 -> c_custkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 14:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | limit: 20 @@ -1924,6 +1982,8 @@ limit 20 partitions=1/1 files=1 size=23.08MB runtime filters: RF000 -> c_nationkey, RF001 -> c_custkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 14:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | limit: 20 @@ -2023,6 +2083,8 @@ where order by value desc ---- PLAN +PLAN-ROOT SINK +| 13:SORT | order by: value DESC | @@ -2076,6 +2138,8 @@ order by partitions=1/1 files=1 size=112.71MB runtime filters: RF001 -> ps_suppkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: value DESC | @@ -2153,6 +2217,8 @@ order by partitions=1/1 files=1 size=112.71MB runtime filters: RF001 -> ps_suppkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: value DESC | @@ -2281,6 +2347,8 @@ group by order by l_shipmode ---- PLAN +PLAN-ROOT SINK +| 04:SORT | order by: l_shipmode ASC | @@ -2300,6 +2368,8 @@ order by partitions=1/1 files=1 size=162.56MB runtime filters: RF000 -> o_orderkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:MERGING-EXCHANGE [UNPARTITIONED] | order by: l_shipmode ASC | @@ -2332,6 +2402,8 @@ order by partitions=1/1 files=1 size=162.56MB runtime filters: RF000 -> o_orderkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 09:MERGING-EXCHANGE [UNPARTITIONED] | order by: l_shipmode ASC | @@ -2391,6 +2463,8 @@ order by custdist desc, c_count desc ---- PLAN +PLAN-ROOT SINK +| 05:SORT | order by: count(*) DESC, c_count DESC | @@ -2414,6 +2488,8 @@ order by predicates: NOT o_comment LIKE '%special%requests%' runtime filters: RF000 -> o_custkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 10:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) DESC, c_count DESC | @@ -2450,6 +2526,8 @@ order by predicates: NOT o_comment LIKE '%special%requests%' runtime filters: RF000 -> o_custkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 10:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) DESC, c_count DESC | @@ -2506,6 +2584,8 @@ where and l_shipdate >= '1995-09-01' and l_shipdate < '1995-10-01' ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0.0 END), sum(l_extendedprice * (1 - l_discount)) | @@ -2521,6 +2601,8 @@ where predicates: l_shipdate < '1995-10-01', l_shipdate >= '1995-09-01' runtime filters: RF000 -> l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:AGGREGATE [FINALIZE] | output: sum:merge(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0.0 END), sum:merge(l_extendedprice * (1 - l_discount)) | @@ -2545,6 +2627,8 @@ where predicates: l_shipdate < '1995-10-01', l_shipdate >= '1995-09-01' runtime filters: RF000 -> l_partkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 07:AGGREGATE [FINALIZE] | output: sum:merge(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0.0 END), sum:merge(l_extendedprice * (1 - l_discount)) | @@ -2606,6 +2690,8 @@ where order by s_suppkey ---- PLAN +PLAN-ROOT SINK +| 08:SORT | order by: s_suppkey ASC | @@ -2639,6 +2725,8 @@ order by partitions=1/1 files=1 size=1.33MB runtime filters: RF000 -> s_suppkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_suppkey ASC | @@ -2696,6 +2784,8 @@ order by partitions=1/1 files=1 size=1.33MB runtime filters: RF000 -> s_suppkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_suppkey ASC | @@ -2794,6 +2884,8 @@ order by p_type, p_size ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: count(ps_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -2823,6 +2915,8 @@ order by partitions=1/1 files=1 size=112.71MB runtime filters: RF000 -> ps_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(ps_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -2864,6 +2958,8 @@ order by partitions=1/1 files=1 size=112.71MB runtime filters: RF000 -> ps_partkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 12:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(ps_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -2933,6 +3029,8 @@ where l_partkey = p_partkey ) ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum(l_extendedprice) | @@ -2961,6 +3059,8 @@ where partitions=1/1 files=1 size=718.94MB runtime filters: RF000 -> tpch.lineitem.l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice) | @@ -3004,6 +3104,8 @@ where partitions=1/1 files=1 size=718.94MB runtime filters: RF000 -> tpch.lineitem.l_partkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 12:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice) | @@ -3092,6 +3194,8 @@ order by o_orderdate limit 100 ---- PLAN +PLAN-ROOT SINK +| 09:TOP-N [LIMIT=100] | order by: o_totalprice DESC, o_orderdate ASC | @@ -3130,6 +3234,8 @@ limit 100 partitions=1/1 files=1 size=718.94MB runtime filters: RF000 -> tpch.lineitem.l_orderkey, RF002 -> l_orderkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_totalprice DESC, o_orderdate ASC | limit: 100 @@ -3190,6 +3296,8 @@ limit 100 partitions=1/1 files=1 size=718.94MB runtime filters: RF000 -> tpch.lineitem.l_orderkey, RF002 -> l_orderkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_totalprice DESC, o_orderdate ASC | limit: 100 @@ -3300,6 +3408,8 @@ where ) ) ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(l_extendedprice * (1 - l_discount)) | @@ -3315,6 +3425,8 @@ where partitions=1/1 files=1 size=718.94MB runtime filters: RF000 -> l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice * (1 - l_discount)) | @@ -3337,6 +3449,8 @@ where partitions=1/1 files=1 size=718.94MB runtime filters: RF000 -> l_partkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice * (1 - l_discount)) | @@ -3403,6 +3517,8 @@ where order by s_name ---- PLAN +PLAN-ROOT SINK +| 10:SORT | order by: s_name ASC | @@ -3448,6 +3564,8 @@ order by predicates: l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' runtime filters: RF000 -> tpch.lineitem.l_suppkey, RF001 -> tpch.lineitem.l_partkey, RF002 -> tpch.lineitem.l_suppkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_name ASC | @@ -3512,6 +3630,8 @@ order by predicates: l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' runtime filters: RF000 -> tpch.lineitem.l_suppkey, RF001 -> tpch.lineitem.l_partkey, RF002 -> tpch.lineitem.l_suppkey ---- PARALLELPLANS +PLAN-ROOT SINK +| 18:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_name ASC | @@ -3635,6 +3755,8 @@ order by s_name limit 100 ---- PLAN +PLAN-ROOT SINK +| 12:TOP-N [LIMIT=100] | order by: count(*) DESC, s_name ASC | @@ -3688,6 +3810,8 @@ limit 100 partitions=1/1 files=1 size=718.94MB predicates: l3.l_receiptdate > l3.l_commitdate ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) DESC, s_name ASC | limit: 100 @@ -3763,6 +3887,8 @@ limit 100 partitions=1/1 files=1 size=718.94MB predicates: l3.l_receiptdate > l3.l_commitdate ---- PARALLELPLANS +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) DESC, s_name ASC | limit: 100 @@ -3895,6 +4021,8 @@ group by order by cntrycode ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: cntrycode ASC | @@ -3922,6 +4050,8 @@ order by 03:SCAN HDFS [tpch.orders] partitions=1/1 files=1 size=162.56MB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 15:MERGING-EXCHANGE [UNPARTITIONED] | order by: cntrycode ASC | @@ -3969,6 +4099,8 @@ order by 03:SCAN HDFS [tpch.orders] partitions=1/1 files=1 size=162.56MB ---- PARALLELPLANS +PLAN-ROOT SINK +| 15:MERGING-EXCHANGE [UNPARTITIONED] | order by: cntrycode ASC | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/tpch-kudu.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-kudu.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-kudu.test index 6c70c35..0b7f35d 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-kudu.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-kudu.test @@ -21,6 +21,8 @@ order by l_returnflag, l_linestatus ---- PLAN +PLAN-ROOT SINK +| 02:SORT | order by: l_returnflag ASC, l_linestatus ASC | @@ -77,6 +79,8 @@ order by p_partkey limit 100 ---- PLAN +PLAN-ROOT SINK +| 18:TOP-N [LIMIT=100] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | @@ -155,6 +159,8 @@ order by o_orderdate limit 10 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=10] | order by: round(sum(l_extendedprice * (1 - l_discount)), 2) DESC, o_orderdate ASC | @@ -200,6 +206,8 @@ group by order by o_orderpriority ---- PLAN +PLAN-ROOT SINK +| 04:SORT | order by: o_orderpriority ASC | @@ -242,6 +250,8 @@ group by order by revenue desc ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: round(sum(l_extendedprice * (1 - l_discount)), 2) DESC | @@ -289,6 +299,8 @@ where and l_discount between 0.05 and 0.07 and l_quantity < 24 ---- PLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | output: sum(l_extendedprice * l_discount) | @@ -335,6 +347,8 @@ order by cust_nation, l_year ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -410,6 +424,8 @@ group by order by o_year ---- PLAN +PLAN-ROOT SINK +| 16:SORT | order by: o_year ASC | @@ -490,6 +506,8 @@ order by nation, o_year desc ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: nation ASC, o_year DESC | @@ -560,6 +578,8 @@ order by revenue desc limit 20 ---- PLAN +PLAN-ROOT SINK +| 08:TOP-N [LIMIT=20] | order by: round(sum(l_extendedprice * (1 - l_discount)), 1) DESC | @@ -621,6 +641,8 @@ where order by value desc ---- PLAN +PLAN-ROOT SINK +| 13:SORT | order by: value DESC | @@ -690,6 +712,8 @@ group by order by l_shipmode ---- PLAN +PLAN-ROOT SINK +| 04:SORT | order by: l_shipmode ASC | @@ -728,6 +752,8 @@ order by custdist desc, c_count desc ---- PLAN +PLAN-ROOT SINK +| 05:SORT | order by: count(*) DESC, c_count DESC | @@ -762,6 +788,8 @@ where and l_shipdate >= '1995-09-01' and l_shipdate < '1995-10-01' ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0.0 END), sum(l_extendedprice * (1 - l_discount)) | @@ -805,6 +833,8 @@ where order by s_suppkey ---- PLAN +PLAN-ROOT SINK +| 08:SORT | order by: s_suppkey ASC | @@ -865,6 +895,8 @@ order by p_type, p_size ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: count(ps_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -908,6 +940,8 @@ where l_partkey = p_partkey ) ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum(l_extendedprice) | @@ -965,6 +999,8 @@ order by o_orderdate limit 100 ---- PLAN +PLAN-ROOT SINK +| 09:TOP-N [LIMIT=100] | order by: o_totalprice DESC, o_orderdate ASC | @@ -1031,6 +1067,8 @@ where ) ) ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(l_extendedprice * (1 - l_discount)) | @@ -1080,6 +1118,8 @@ where order by s_name ---- PLAN +PLAN-ROOT SINK +| 10:SORT | order by: s_name ASC | @@ -1155,6 +1195,8 @@ order by s_name limit 100 ---- PLAN +PLAN-ROOT SINK +| 12:TOP-N [LIMIT=100] | order by: count(*) DESC, s_name ASC | @@ -1231,6 +1273,8 @@ group by order by cntrycode ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: cntrycode ASC | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/tpch-nested.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-nested.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-nested.test index caa3420..3ecf764 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-nested.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-nested.test @@ -22,6 +22,8 @@ order by l_returnflag, l_linestatus ---- PLAN +PLAN-ROOT SINK +| 02:SORT | order by: l_returnflag ASC, l_linestatus ASC | @@ -33,6 +35,8 @@ order by partitions=1/1 files=4 size=577.87MB predicates: l_shipdate <= '1998-09-02' ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 05:MERGING-EXCHANGE [UNPARTITIONED] | order by: l_returnflag ASC, l_linestatus ASC | @@ -96,6 +100,8 @@ order by p_partkey limit 100 ---- PLAN +PLAN-ROOT SINK +| 26:TOP-N [LIMIT=100] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | @@ -173,6 +179,8 @@ limit 100 predicates: !empty(s.s_partsupps) runtime filters: RF002 -> s_nationkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 33:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | limit: 100 @@ -292,6 +300,8 @@ order by o_orderdate limit 10 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=10] | order by: sum(l_extendedprice * (1 - l_discount)) DESC, o_orderdate ASC | @@ -321,6 +331,8 @@ limit 10 predicates on o: !empty(o.o_lineitems), o_orderdate < '1995-03-15' predicates on l: l_shipdate > '1995-03-15' ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 13:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC, o_orderdate ASC | limit: 10 @@ -384,6 +396,8 @@ group by order by o_orderpriority ---- PLAN +PLAN-ROOT SINK +| 10:SORT | order by: o_orderpriority ASC | @@ -413,6 +427,8 @@ order by predicates on o: o_orderdate >= '1993-07-01', o_orderdate < '1993-10-01' predicates on o_lineitems: l_commitdate < l_receiptdate ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 13:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_orderpriority ASC | @@ -475,6 +491,8 @@ group by order by revenue desc ---- PLAN +PLAN-ROOT SINK +| 18:SORT | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -528,6 +546,8 @@ order by predicates on o: !empty(o.o_lineitems), o_orderdate >= '1994-01-01', o_orderdate < '1995-01-01' runtime filters: RF000 -> c.c_nationkey, RF001 -> c_nationkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 23:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -606,6 +626,8 @@ where and l_discount between 0.05 and 0.07 and l_quantity < 24 ---- PLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | output: sum(l_extendedprice * l_discount) | @@ -613,6 +635,8 @@ where partitions=1/1 files=4 size=292.35MB predicates: l_discount <= 0.07, l_discount >= 0.05, l_quantity < 24, l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice * l_discount) | @@ -664,6 +688,8 @@ order by cust_nation, l_year ---- PLAN +PLAN-ROOT SINK +| 16:SORT | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -716,6 +742,8 @@ order by predicates on l: l_shipdate >= '1995-01-01', l_shipdate <= '1996-12-31' runtime filters: RF000 -> c_nationkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 22:MERGING-EXCHANGE [UNPARTITIONED] | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -820,6 +848,8 @@ group by order by o_year ---- PLAN +PLAN-ROOT SINK +| 22:SORT | order by: o_year ASC | @@ -886,6 +916,8 @@ order by predicates on o: !empty(o.o_lineitems), o_orderdate >= '1995-01-01', o_orderdate <= '1996-12-31' runtime filters: RF001 -> c_nationkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 29:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_year ASC | @@ -1001,6 +1033,8 @@ order by nation, o_year desc ---- PLAN +PLAN-ROOT SINK +| 16:SORT | order by: nation ASC, o_year DESC | @@ -1050,6 +1084,8 @@ order by partitions=1/1 files=4 size=577.87MB predicates: !empty(o.o_lineitems) ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 22:MERGING-EXCHANGE [UNPARTITIONED] | order by: nation ASC, o_year DESC | @@ -1148,6 +1184,8 @@ order by revenue desc limit 20 ---- PLAN +PLAN-ROOT SINK +| 12:TOP-N [LIMIT=20] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -1185,6 +1223,8 @@ limit 20 predicates on l: l_returnflag = 'R' runtime filters: RF000 -> c_nationkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 16:MERGING-EXCHANGE [UNPARTITIONED] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | limit: 20 @@ -1268,6 +1308,8 @@ where order by value desc ---- PLAN +PLAN-ROOT SINK +| 17:SORT | order by: value DESC | @@ -1323,6 +1365,8 @@ order by predicates: !empty(s.s_partsupps) runtime filters: RF000 -> s_nationkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 25:MERGING-EXCHANGE [UNPARTITIONED] | order by: value DESC | @@ -1428,6 +1472,8 @@ group by order by l_shipmode ---- PLAN +PLAN-ROOT SINK +| 06:SORT | order by: l_shipmode ASC | @@ -1448,6 +1494,8 @@ order by predicates: !empty(o.o_lineitems) predicates on l: l_shipmode IN ('MAIL', 'SHIP'), l_commitdate < l_receiptdate, l_shipdate < l_commitdate, l_receiptdate >= '1994-01-01', l_receiptdate < '1995-01-01' ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:MERGING-EXCHANGE [UNPARTITIONED] | order by: l_shipmode ASC | @@ -1499,6 +1547,8 @@ order by custdist desc, c_count desc ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: count(*) DESC, c_count DESC | @@ -1522,6 +1572,8 @@ order by partitions=1/1 files=4 size=577.87MB predicates on c_orders: (NOT o_comment LIKE '%special%requests%') ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) DESC, c_count DESC | @@ -1576,6 +1628,8 @@ where and l_shipdate >= '1995-09-01' and l_shipdate < '1995-10-01' ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0.0 END), sum(l_extendedprice * (1 - l_discount)) | @@ -1591,6 +1645,8 @@ where predicates: l_shipdate < '1995-10-01', l_shipdate >= '1995-09-01' runtime filters: RF000 -> l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum:merge(CASE WHEN p_type LIKE 'PROMO%' THEN l_extendedprice * (1 - l_discount) ELSE 0.0 END), sum:merge(l_extendedprice * (1 - l_discount)) | @@ -1646,6 +1702,8 @@ where order by s_suppkey ---- PLAN +PLAN-ROOT SINK +| 08:SORT | order by: s_suppkey ASC | @@ -1679,6 +1737,8 @@ order by predicates: l_shipdate < '1996-04-01', l_shipdate >= '1996-01-01' runtime filters: RF000 -> l.l_suppkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_suppkey ASC | @@ -1763,6 +1823,8 @@ order by p_type, p_size ---- PLAN +PLAN-ROOT SINK +| 09:SORT | order by: count(s_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -1792,6 +1854,8 @@ order by partitions=1/1 files=1 size=111.08MB predicates: NOT s_comment LIKE '%Customer%Complaints%', !empty(s.s_partsupps) ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 13:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(s_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -1851,6 +1915,8 @@ where l_partkey = p_partkey ) ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum(l_extendedprice) | @@ -1879,6 +1945,8 @@ where partitions=1/1 files=4 size=577.87MB runtime filters: RF000 -> l.l_partkey, RF001 -> l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice) | @@ -1942,6 +2010,8 @@ order by o_orderdate limit 100 ---- PLAN +PLAN-ROOT SINK +| 10:TOP-N [LIMIT=100] | order by: o_totalprice DESC, o_orderdate ASC | @@ -1969,6 +2039,8 @@ limit 100 partitions=1/1 files=4 size=577.87MB predicates: !empty(c.c_orders) ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:MERGING-EXCHANGE [UNPARTITIONED] | order by: o_totalprice DESC, o_orderdate ASC | limit: 100 @@ -2038,6 +2110,8 @@ where ) ) ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(l_extendedprice * (1 - l_discount)) | @@ -2053,6 +2127,8 @@ where partitions=1/1 files=4 size=577.87MB runtime filters: RF000 -> l_partkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum:merge(l_extendedprice * (1 - l_discount)) | @@ -2110,6 +2186,8 @@ where order by s_name ---- PLAN +PLAN-ROOT SINK +| 13:SORT | order by: s_name ASC | @@ -2158,6 +2236,8 @@ order by predicates: l_shipdate < '1995-01-01', l_shipdate >= '1994-01-01' runtime filters: RF000 -> l.l_partkey, RF001 -> l.l_suppkey ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 21:MERGING-EXCHANGE [UNPARTITIONED] | order by: s_name ASC | @@ -2267,6 +2347,8 @@ order by s_name limit 100 ---- PLAN +PLAN-ROOT SINK +| 20:TOP-N [LIMIT=100] | order by: count(*) DESC, s_name ASC | @@ -2326,6 +2408,8 @@ limit 100 predicates on l1: l1.l_receiptdate > l1.l_commitdate predicates on l3: l3.l_receiptdate > l3.l_commitdate ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 25:MERGING-EXCHANGE [UNPARTITIONED] | order by: count(*) DESC, s_name ASC | limit: 100 @@ -2434,6 +2518,8 @@ group by order by cntrycode ---- PLAN +PLAN-ROOT SINK +| 09:SORT | order by: cntrycode ASC | @@ -2463,6 +2549,8 @@ order by partitions=1/1 files=4 size=577.87MB predicates: substr(c_phone, 1, 2) IN ('13', '31', '23', '29', '30', '18', '17') ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 15:MERGING-EXCHANGE [UNPARTITIONED] | order by: cntrycode ASC | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/tpch-views.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-views.test b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-views.test index 96409e2..c4b23f5 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/tpch-views.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/tpch-views.test @@ -22,6 +22,8 @@ order by l_returnflag, l_linestatus ---- PLAN +PLAN-ROOT SINK +| 02:SORT | order by: l_returnflag ASC, l_linestatus ASC | @@ -80,6 +82,8 @@ order by p_partkey limit 100 ---- PLAN +PLAN-ROOT SINK +| 18:TOP-N [LIMIT=100] | order by: s_acctbal DESC, n_name ASC, s_name ASC, p_partkey ASC | @@ -181,6 +185,8 @@ order by o_orderdate limit 10 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=10] | order by: sum(l_extendedprice * (1 - l_discount)) DESC, o_orderdate ASC | @@ -234,6 +240,8 @@ group by order by o_orderpriority ---- PLAN +PLAN-ROOT SINK +| 04:SORT | order by: o_orderpriority ASC | @@ -281,6 +289,8 @@ group by order by revenue desc ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -345,6 +355,8 @@ where and l_discount between 0.05 and 0.07 and l_quantity < 24 ---- PLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | output: sum(tpch.lineitem.l_extendedprice * tpch.lineitem.l_discount) | @@ -393,6 +405,8 @@ order by cust_nation, l_year ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: supp_nation ASC, cust_nation ASC, l_year ASC | @@ -484,6 +498,8 @@ group by order by o_year ---- PLAN +PLAN-ROOT SINK +| 16:SORT | order by: o_year ASC | @@ -585,6 +601,8 @@ order by nation, o_year desc ---- PLAN +PLAN-ROOT SINK +| 12:SORT | order by: nation ASC, o_year DESC | @@ -670,6 +688,8 @@ order by revenue desc limit 20 ---- PLAN +PLAN-ROOT SINK +| 08:TOP-N [LIMIT=20] | order by: sum(l_extendedprice * (1 - l_discount)) DESC | @@ -741,6 +761,8 @@ where order by value desc ---- PLAN +PLAN-ROOT SINK +| 13:SORT | order by: value DESC | @@ -825,6 +847,8 @@ group by order by l_shipmode ---- PLAN +PLAN-ROOT SINK +| 04:SORT | order by: l_shipmode ASC | @@ -867,6 +891,8 @@ order by custdist desc, c_count desc ---- PLAN +PLAN-ROOT SINK +| 05:SORT | order by: count(*) DESC, c_count DESC | @@ -906,6 +932,8 @@ where and l_shipdate >= '1995-09-01' and l_shipdate < '1995-10-01' ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(CASE WHEN tpch.part.p_type LIKE 'PROMO%' THEN tpch.lineitem.l_extendedprice * (1 - tpch.lineitem.l_discount) ELSE 0.0 END), sum(tpch.lineitem.l_extendedprice * (1 - tpch.lineitem.l_discount)) | @@ -954,6 +982,8 @@ where order by s_suppkey ---- PLAN +PLAN-ROOT SINK +| 08:SORT | order by: s_suppkey ASC | @@ -1020,6 +1050,8 @@ order by p_type, p_size ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: count(ps_suppkey) DESC, p_brand ASC, p_type ASC, p_size ASC | @@ -1069,6 +1101,8 @@ where l_partkey = p_partkey ) ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | output: sum(tpch.lineitem.l_extendedprice) | @@ -1134,6 +1168,8 @@ order by o_orderdate limit 100 ---- PLAN +PLAN-ROOT SINK +| 09:TOP-N [LIMIT=100] | order by: o_totalprice DESC, o_orderdate ASC | @@ -1210,6 +1246,8 @@ where ) ) ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | output: sum(tpch.lineitem.l_extendedprice * (1 - tpch.lineitem.l_discount)) | @@ -1265,6 +1303,8 @@ where order by s_name ---- PLAN +PLAN-ROOT SINK +| 10:SORT | order by: s_name ASC | @@ -1353,6 +1393,8 @@ order by s_name limit 100 ---- PLAN +PLAN-ROOT SINK +| 12:TOP-N [LIMIT=100] | order by: count(*) DESC, s_name ASC | @@ -1443,6 +1485,8 @@ group by order by cntrycode ---- PLAN +PLAN-ROOT SINK +| 07:SORT | order by: cntrycode ASC | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/union.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/union.test b/testdata/workloads/functional-planner/queries/PlannerTest/union.test index 84053a9..4baf6fe 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/union.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/union.test @@ -8,6 +8,8 @@ select * from on (a.month = b.month) where b.month = 1 ---- PLAN +PLAN-ROOT SINK +| 04:HASH JOIN [INNER JOIN] | hash predicates: month = b.month | runtime filters: RF000 <- b.month @@ -25,6 +27,8 @@ where b.month = 1 partitions=2/24 files=2 size=40.32KB runtime filters: RF000 -> functional.alltypes.month ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:EXCHANGE [UNPARTITIONED] | 04:HASH JOIN [INNER JOIN, BROADCAST] @@ -53,6 +57,8 @@ select * from functional.alltypestiny where year=2009 and month=1 union all select * from functional.alltypestiny where year=2009 and month=2 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--03:SCAN HDFS [functional.alltypestiny] @@ -71,6 +77,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 04:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -91,6 +99,8 @@ select * from functional.alltypestiny where year=2009 and month=1 order by int_c union all select * from functional.alltypestiny where year=2009 and month=2 limit 1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--04:SCAN HDFS [functional.alltypestiny] @@ -114,6 +124,8 @@ NODE 2: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION | |--07:EXCHANGE [UNPARTITIONED] @@ -147,6 +159,8 @@ select * from functional.alltypestiny where year=2009 and month=1 union distinct select * from functional.alltypestiny where year=2009 and month=2 ---- PLAN +PLAN-ROOT SINK +| 04:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -168,6 +182,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 06:AGGREGATE [FINALIZE] @@ -198,6 +214,8 @@ select * from functional.alltypestiny where year=2009 and month=1 union all select 1,false,1,1,1,10,1.1,10.1,'01/01/09','1',cast('2009-01-01 00:01:00' as timestamp),2009,1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | constant-operands=2 | @@ -212,6 +230,8 @@ NODE 1: NODE 2: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 03:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -232,6 +252,8 @@ select * from functional.alltypestiny where year=2009 and month=1 union distinct select 1,false,1,1,1,10,1.1,10.1,'01/01/09','1',cast('2009-01-01 00:01:00' as timestamp),2009,1 ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -249,6 +271,8 @@ NODE 1: NODE 2: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:EXCHANGE [UNPARTITIONED] | 05:AGGREGATE [FINALIZE] @@ -279,6 +303,8 @@ union distinct (select * from functional.alltypestiny where year=2009 and month=2) order by 3 limit 3 ---- PLAN +PLAN-ROOT SINK +| 06:TOP-N [LIMIT=3] | order by: tinyint_col ASC | @@ -308,6 +334,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:MERGING-EXCHANGE [UNPARTITIONED] | order by: tinyint_col ASC | limit: 3 @@ -347,6 +375,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=2) order by 3,4 limit 3 ---- PLAN +PLAN-ROOT SINK +| 07:TOP-N [LIMIT=3] | order by: tinyint_col ASC, smallint_col ASC | @@ -378,6 +408,8 @@ NODE 5: NODE 6: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 10:MERGING-EXCHANGE [UNPARTITIONED] | order by: tinyint_col ASC, smallint_col ASC | limit: 3 @@ -419,6 +451,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=2) order by 3,4 limit 4 ---- PLAN +PLAN-ROOT SINK +| 07:TOP-N [LIMIT=4] | order by: tinyint_col ASC, smallint_col ASC | @@ -450,6 +484,8 @@ NODE 3: NODE 6: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 10:MERGING-EXCHANGE [UNPARTITIONED] | order by: tinyint_col ASC, smallint_col ASC | limit: 4 @@ -488,6 +524,8 @@ NODE 6: union all select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--03:SCAN HDFS [functional.alltypestiny] @@ -506,6 +544,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 04:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -526,6 +566,8 @@ union all union all select * from functional.alltypestiny where year=2009 and month=2) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--03:SCAN HDFS [functional.alltypestiny] @@ -544,6 +586,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 04:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -564,6 +608,8 @@ NODE 3: union distinct select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 04:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -585,6 +631,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 06:AGGREGATE [FINALIZE] @@ -613,6 +661,8 @@ union distinct union distinct select * from functional.alltypestiny where year=2009 and month=2) ---- PLAN +PLAN-ROOT SINK +| 04:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -634,6 +684,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 06:AGGREGATE [FINALIZE] @@ -663,6 +715,8 @@ NODE 3: union all select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--05:SCAN HDFS [functional.alltypestiny] @@ -686,6 +740,8 @@ NODE 3: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -717,6 +773,8 @@ union all union distinct select * from functional.alltypestiny where year=2009 and month=2) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--05:AGGREGATE [FINALIZE] @@ -740,6 +798,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -773,6 +833,8 @@ NODE 4: union all select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--06:SCAN HDFS [functional.alltypestiny] @@ -801,6 +863,8 @@ NODE 4: NODE 6: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -837,6 +901,8 @@ union all union all select * from functional.alltypestiny where year=2009 and month=2) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--06:AGGREGATE [FINALIZE] @@ -865,6 +931,8 @@ NODE 4: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -902,6 +970,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=2) limit 10) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--06:UNION @@ -933,6 +1003,8 @@ NODE 4: NODE 7: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -976,6 +1048,8 @@ NODE 7: union all select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--05:SCAN HDFS [functional.alltypestiny] @@ -999,6 +1073,8 @@ NODE 3: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -1032,6 +1108,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=2) order by 3 limit 3) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--05:TOP-N [LIMIT=3] @@ -1055,6 +1133,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -1087,6 +1167,8 @@ NODE 4: union distinct select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 04:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1108,6 +1190,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 06:AGGREGATE [FINALIZE] @@ -1137,6 +1221,8 @@ union distinct union all select * from functional.alltypestiny where year=2009 and month=2) ---- PLAN +PLAN-ROOT SINK +| 04:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1158,6 +1244,8 @@ NODE 2: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 06:AGGREGATE [FINALIZE] @@ -1189,6 +1277,8 @@ NODE 3: union distinct select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 05:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1215,6 +1305,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 07:AGGREGATE [FINALIZE] @@ -1249,6 +1341,8 @@ union distinct union all select * from functional.alltypestiny where year=2009 and month=2) ---- PLAN +PLAN-ROOT SINK +| 05:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1275,6 +1369,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 07:AGGREGATE [FINALIZE] @@ -1308,6 +1404,8 @@ NODE 4: union distinct select * from functional.alltypestiny where year=2009 and month=1 ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1334,6 +1432,8 @@ NODE 3: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:EXCHANGE [UNPARTITIONED] | 10:AGGREGATE [FINALIZE] @@ -1375,6 +1475,8 @@ union distinct (select * from functional.alltypestiny where year=2009 and month=2) order by 3 limit 3) ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1401,6 +1503,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:EXCHANGE [UNPARTITIONED] | 10:AGGREGATE [FINALIZE] @@ -1444,6 +1548,8 @@ union all union all select * from functional.alltypestiny where year=2009 and month=3))) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--05:SCAN HDFS [functional.alltypestiny] @@ -1472,6 +1578,8 @@ NODE 4: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=3/090301.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -1502,6 +1610,8 @@ union distinct union distinct select * from functional.alltypestiny where year=2009 and month=3))) ---- PLAN +PLAN-ROOT SINK +| 06:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1533,6 +1643,8 @@ NODE 4: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=3/090301.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:EXCHANGE [UNPARTITIONED] | 08:AGGREGATE [FINALIZE] @@ -1572,6 +1684,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=3) order by 3 limit 3))) ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--10:AGGREGATE [FINALIZE] @@ -1613,6 +1727,8 @@ NODE 6: NODE 7: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=3/090301.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 17:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -1673,6 +1789,8 @@ union distinct (select * from functional.alltypestiny where year=2009 and month=3) order by 3 limit 3))) ---- PLAN +PLAN-ROOT SINK +| 09:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | @@ -1712,6 +1830,8 @@ NODE 5: NODE 6: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=3/090301.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 16:EXCHANGE [UNPARTITIONED] | 15:AGGREGATE [FINALIZE] @@ -1779,6 +1899,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=5) order by 3 limit 3) ---- PLAN +PLAN-ROOT SINK +| 09:UNION | |--08:AGGREGATE [FINALIZE] @@ -1841,6 +1963,8 @@ NODE 13: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=4/090401.txt 0:115 NODE 14: ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 22:EXCHANGE [UNPARTITIONED] | 09:UNION @@ -1913,6 +2037,8 @@ union all (select * from functional.alltypestiny where year=2009 and month=2) order by 3 limit 5 ---- PLAN +PLAN-ROOT SINK +| 05:TOP-N [LIMIT=5] | order by: tinyint_col ASC | @@ -1936,6 +2062,8 @@ NODE 3: NODE 4: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 06:MERGING-EXCHANGE [UNPARTITIONED] | order by: tinyint_col ASC | limit: 5 @@ -1965,6 +2093,8 @@ union distinct (select * from functional.alltypestiny where year=2009 and month=2) order by 3 limit 3 ---- PLAN +PLAN-ROOT SINK +| 07:TOP-N [LIMIT=3] | order by: tinyint_col ASC | @@ -1994,6 +2124,8 @@ NODE 3: NODE 5: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=2/090201.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 12:MERGING-EXCHANGE [UNPARTITIONED] | order by: tinyint_col ASC | limit: 3 @@ -2039,6 +2171,8 @@ select x.* from from functional.alltypestiny where year=2009 and month=1 group by 1, 2) x where x.int_col < 5 and x.bool_col = false ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--04:AGGREGATE [FINALIZE] @@ -2062,6 +2196,8 @@ NODE 1: NODE 3: HDFS SPLIT hdfs://localhost:20500/test-warehouse/alltypestiny/year=2009/month=1/090101.txt 0:115 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 09:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -2101,9 +2237,13 @@ select 2, 'b', NULL, 20.f union all select 3, 'c', NULL, 30.f ---- PLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=3 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=3 ==== @@ -2114,12 +2254,16 @@ select 2, 'b', NULL, 20.0f union distinct select 3, 'c', NULL, 30.0f ---- PLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | group by: 1, 'a', null, f | 00:UNION constant-operands=3 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | group by: 1, 'a', null, f | @@ -2135,6 +2279,8 @@ select 3, 'c', NULL, 30.f union all select int_col, string_col, bool_col, float_col from functional.alltypestiny ---- PLAN +PLAN-ROOT SINK +| 03:UNION | |--02:AGGREGATE [FINALIZE] @@ -2149,6 +2295,8 @@ select int_col, string_col, bool_col, float_col from functional.alltypestiny 04:SCAN HDFS [functional.alltypestiny] partitions=4/4 files=4 size=460B ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 03:UNION @@ -2183,6 +2331,8 @@ select int_col from functional.alltypestiny where year=2009 and month=1 union all select 503 ---- PLAN +PLAN-ROOT SINK +| 05:UNION | constant-operands=1 | @@ -2201,6 +2351,8 @@ select 503 01:SCAN HDFS [functional.alltypestiny] partitions=1/4 files=1 size=115B ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 10:EXCHANGE [UNPARTITIONED] | 05:UNION @@ -2239,9 +2391,13 @@ values(2, 'b', NULL, 20.f) union all values(3, 'c', NULL, 30.f) ---- PLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=3 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=3 ==== @@ -2252,12 +2408,16 @@ values(2, 'b', NULL, 20.f) union distinct values(3, 'c', NULL, 30.f) ---- PLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | group by: 1, 'a', null, f | 00:UNION constant-operands=3 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:AGGREGATE [FINALIZE] | group by: 1, 'a', null, f | @@ -2273,6 +2433,8 @@ values(3, 'c', NULL, 30.f) union all select int_col, string_col, bool_col, float_col from functional.alltypessmall ---- PLAN +PLAN-ROOT SINK +| 03:UNION | |--02:AGGREGATE [FINALIZE] @@ -2287,6 +2449,8 @@ select int_col, string_col, bool_col, float_col from functional.alltypessmall 04:SCAN HDFS [functional.alltypessmall] partitions=4/4 files=4 size=6.32KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 07:EXCHANGE [UNPARTITIONED] | 03:UNION @@ -2329,6 +2493,8 @@ select count(*) from ( cast('2009-01-01 00:02:00.10' as timestamp),2009,1 ) x ---- PLAN +PLAN-ROOT SINK +| 04:AGGREGATE [FINALIZE] | output: count(*) | @@ -2344,6 +2510,8 @@ select count(*) from ( 01:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:AGGREGATE [FINALIZE] | output: count:merge(*) | @@ -2377,6 +2545,8 @@ select x.int_col, x.bool_col, x.month from select * from functional.alltypestiny where year=2009) x where x.int_col < 5 and x.bool_col = false and x.month = 1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--02:SCAN HDFS [functional.alltypestiny] @@ -2387,6 +2557,8 @@ where x.int_col < 5 and x.bool_col = false and x.month = 1 partitions=1/4 files=1 size=115B predicates: functional.alltypestiny.int_col < 5, functional.alltypestiny.bool_col = FALSE ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 03:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -2409,6 +2581,8 @@ select 1 from select 1, tinyint_col, 3, bigint_col from functional.alltypessmall) t where a + b < 100 and c > 20 and d > 50 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--02:SCAN HDFS [functional.alltypes] @@ -2428,8 +2602,12 @@ select * from select 10, 20) t where a > b ---- PLAN +PLAN-ROOT SINK +| 00:UNION ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION ==== # Test union merging only partitioned inputs. @@ -2445,6 +2623,8 @@ select a.id, a.bigint_col union all select 1000, 2000 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | constant-operands=1 | @@ -2469,6 +2649,8 @@ select 1000, 2000 01:SCAN HDFS [functional.alltypestiny] partitions=4/4 files=4 size=460B ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 11:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -2512,6 +2694,8 @@ select id, bigint_col from functional.alltypessmall order by id limit 10 union all select 1000, 2000 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | constant-operands=1 | @@ -2527,6 +2711,8 @@ select 1000, 2000 01:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION | constant-operands=1 | @@ -2568,6 +2754,8 @@ select a.id, a.bigint_col union all select 1000, 2000 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | constant-operands=1 | @@ -2604,6 +2792,8 @@ select 1000, 2000 01:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 20:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -2670,6 +2860,8 @@ select 1000, 2000 # have explain_level=1 select * from tpch.lineitem UNION ALL (select * from tpch.lineitem) LIMIT 1 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | limit: 1 | @@ -2681,6 +2873,8 @@ select * from tpch.lineitem UNION ALL (select * from tpch.lineitem) LIMIT 1 ==== select l_orderkey from tpch.lineitem UNION DISTINCT (select l_orderkey from tpch.lineitem) LIMIT 1 ---- PLAN +PLAN-ROOT SINK +| 03:AGGREGATE [FINALIZE] | group by: l_orderkey | limit: 1 @@ -2705,6 +2899,8 @@ select * from (select * from functional.alltypestiny order by id limit 20 offset 10)) v where v.id < 10 and v.int_col > 20 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--08:SELECT @@ -2744,6 +2940,8 @@ select * from (select * from functional.alltypestiny order by id limit 20 offset 10)) v where v.id < 10 and v.int_col > 20 ---- PLAN +PLAN-ROOT SINK +| 09:AGGREGATE [FINALIZE] | group by: id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col, double_col, date_string_col, string_col, timestamp_col, year, month | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/values.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/values.test b/testdata/workloads/functional-planner/queries/PlannerTest/values.test index 2eec954..a27c793 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/values.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/values.test @@ -1,19 +1,27 @@ values(1+1, 2, 5.0, 'a') ---- PLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=1 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=1 ==== values(1+1, 2, 5.0, 'a') order by 1 limit 10 ---- PLAN +PLAN-ROOT SINK +| 01:TOP-N [LIMIT=10] | order by: 1 + 1 ASC | 00:UNION constant-operands=1 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:TOP-N [LIMIT=10] | order by: 1 + 1 ASC | @@ -22,20 +30,28 @@ values(1+1, 2, 5.0, 'a') order by 1 limit 10 ==== values((1+1, 2, 5.0, 'a'), (2, 3, 6.0, 'b'), (3, 4, 7.0, 'c')) ---- PLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=3 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 00:UNION constant-operands=3 ==== values((1+1, 2, 5.0, 'a'), (2, 3, 6.0, 'b'), (3, 4, 7.0, 'c')) order by 1 limit 10 ---- PLAN +PLAN-ROOT SINK +| 01:TOP-N [LIMIT=10] | order by: 1 + 1 ASC | 00:UNION constant-operands=3 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:TOP-N [LIMIT=10] | order by: 1 + 1 ASC | http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/9f61397f/testdata/workloads/functional-planner/queries/PlannerTest/views.test ---------------------------------------------------------------------- diff --git a/testdata/workloads/functional-planner/queries/PlannerTest/views.test b/testdata/workloads/functional-planner/queries/PlannerTest/views.test index 50bee61..a6322e6 100644 --- a/testdata/workloads/functional-planner/queries/PlannerTest/views.test +++ b/testdata/workloads/functional-planner/queries/PlannerTest/views.test @@ -1,9 +1,13 @@ # Basic test with a view. select int_col, string_col from functional.alltypes_view ---- PLAN +PLAN-ROOT SINK +| 00:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:EXCHANGE [UNPARTITIONED] | 00:SCAN HDFS [functional.alltypes] @@ -12,6 +16,8 @@ select int_col, string_col from functional.alltypes_view # Basic test with a complex view. select * from functional.complex_view ---- PLAN +PLAN-ROOT SINK +| 04:TOP-N [LIMIT=100] | order by: b.string_col ASC | @@ -32,6 +38,8 @@ select * from functional.complex_view predicates: a.bigint_col < 50 runtime filters: RF000 -> a.id ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:MERGING-EXCHANGE [UNPARTITIONED] | order by: b.string_col ASC | limit: 100 @@ -67,9 +75,13 @@ select * from functional.complex_view # Basic test with a view on a view select int_col, string_col from functional.view_view ---- PLAN +PLAN-ROOT SINK +| 00:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:EXCHANGE [UNPARTITIONED] | 00:SCAN HDFS [functional.alltypes] @@ -79,6 +91,8 @@ select int_col, string_col from functional.view_view select * from functional.alltypes_view union all select * from functional.alltypes_view where id < 10 ---- PLAN +PLAN-ROOT SINK +| 00:UNION | |--02:SCAN HDFS [functional.alltypes] @@ -88,6 +102,8 @@ select * from functional.alltypes_view where id < 10 01:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 03:EXCHANGE [UNPARTITIONED] | 00:UNION @@ -103,10 +119,14 @@ select * from functional.alltypes_view where id < 10 select t.id from (select id from functional.alltypes_view) t where t.id < 10 ---- PLAN +PLAN-ROOT SINK +| 00:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB predicates: functional.alltypes.id < 10 ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:EXCHANGE [UNPARTITIONED] | 00:SCAN HDFS [functional.alltypes] @@ -117,6 +137,8 @@ where t.id < 10 select * from functional.alltypes_view t1, functional.alltypes_view_sub t2, functional.complex_view t3 where t1.id = t2.x and t2.x = t3.abc ---- PLAN +PLAN-ROOT SINK +| 08:HASH JOIN [INNER JOIN] | hash predicates: int_col = count(a.bigint_col) | runtime filters: RF000 <- count(a.bigint_col) @@ -155,6 +177,8 @@ functional.complex_view t3 where t1.id = t2.x and t2.x = t3.abc predicates: functional.alltypes.id > 1 runtime filters: RF000 -> functional.alltypes.id, RF001 -> functional.alltypes.id ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 16:EXCHANGE [UNPARTITIONED] | 08:HASH JOIN [INNER JOIN, BROADCAST] @@ -219,6 +243,8 @@ select * from functional.alltypes_view t1 inner join functional.alltypes_view t2 on (t1.id = t2.id) inner join functional.alltypes_view t3 on (t2.id = t3.id) ---- PLAN +PLAN-ROOT SINK +| 04:HASH JOIN [INNER JOIN] | hash predicates: functional.alltypes.id = functional.alltypes.id | runtime filters: RF000 <- functional.alltypes.id @@ -238,6 +264,8 @@ inner join functional.alltypes_view t3 on (t2.id = t3.id) partitions=24/24 files=24 size=478.45KB runtime filters: RF000 -> functional.alltypes.id, RF001 -> functional.alltypes.id ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 04:HASH JOIN [INNER JOIN, PARTITIONED] @@ -271,6 +299,8 @@ select * from functional.alltypes_view t1 inner join functional.alltypes_view t2 using(id) inner join functional.alltypes_view t3 using(id) ---- PLAN +PLAN-ROOT SINK +| 04:HASH JOIN [INNER JOIN] | hash predicates: functional.alltypes.id = functional.alltypes.id | runtime filters: RF000 <- functional.alltypes.id @@ -290,6 +320,8 @@ inner join functional.alltypes_view t3 using(id) partitions=24/24 files=24 size=478.45KB runtime filters: RF000 -> functional.alltypes.id, RF001 -> functional.alltypes.id ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 04:HASH JOIN [INNER JOIN, PARTITIONED] @@ -323,6 +355,8 @@ select * from functional.alltypes_view t1 left outer join functional.alltypes_view t2 using(id) full outer join functional.alltypes_view t3 using(id) ---- PLAN +PLAN-ROOT SINK +| 04:HASH JOIN [FULL OUTER JOIN] | hash predicates: functional.alltypes.id = functional.alltypes.id | @@ -338,6 +372,8 @@ full outer join functional.alltypes_view t3 using(id) 00:SCAN HDFS [functional.alltypes] partitions=24/24 files=24 size=478.45KB ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 04:HASH JOIN [FULL OUTER JOIN, PARTITIONED] @@ -369,6 +405,8 @@ select * from functional.alltypes_view t1 inner join [broadcast] functional.alltypes_view t2 using(id) inner join [shuffle] functional.alltypes_view t3 using(id) ---- PLAN +PLAN-ROOT SINK +| 04:HASH JOIN [INNER JOIN] | hash predicates: functional.alltypes.id = functional.alltypes.id | runtime filters: RF000 <- functional.alltypes.id @@ -388,6 +426,8 @@ inner join [shuffle] functional.alltypes_view t3 using(id) partitions=24/24 files=24 size=478.45KB runtime filters: RF000 -> functional.alltypes.id, RF001 -> functional.alltypes.id ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 08:EXCHANGE [UNPARTITIONED] | 04:HASH JOIN [INNER JOIN, PARTITIONED] @@ -419,10 +459,14 @@ inner join [shuffle] functional.alltypes_view t3 using(id) # enabling proper partition pruning for this particular view. select * from functional.alltypes_parens ---- PLAN +PLAN-ROOT SINK +| 00:SCAN HDFS [functional.alltypes] partitions=1/24 files=1 size=19.95KB predicates: (int_col < 100 OR bool_col = FALSE) ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:EXCHANGE [UNPARTITIONED] | 00:SCAN HDFS [functional.alltypes] @@ -433,10 +477,14 @@ select * from functional.alltypes_parens # possible (see IMPALA-923) select bool_col FROM ( SELECT bool_col FROM functional.alltypes t ) t WHERE t.bool_col ---- PLAN +PLAN-ROOT SINK +| 00:SCAN HDFS [functional.alltypes t] partitions=24/24 files=24 size=478.45KB predicates: bool_col ---- DISTRIBUTEDPLAN +PLAN-ROOT SINK +| 01:EXCHANGE [UNPARTITIONED] | 00:SCAN HDFS [functional.alltypes t]