| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| |
| package infer_expr_name |
| |
| suite("nereids_test_create_blocked") { |
| sql 'set enable_nereids_planner=true' |
| sql 'set enable_fallback_to_original_planner=false' |
| |
| def queryResult = sql """ |
| explain analyzed plan |
| with wscs as |
| (select sold_date_sk |
| ,sales_price |
| from (select ws_sold_date_sk sold_date_sk |
| ,ws_ext_sales_price sales_price |
| from web_sales |
| union all |
| select cs_sold_date_sk sold_date_sk |
| ,cs_ext_sales_price sales_price |
| from catalog_sales) t), |
| wswscs as |
| (select d_week_seq, |
| sum(case when (d_day_name='Sunday') then sales_price else null end) sun_sales, |
| sum(case when (d_day_name='Monday') then sales_price else null end) mon_sales, |
| sum(case when (d_day_name='Tuesday') then sales_price else null end) tue_sales, |
| sum(case when (d_day_name='Wednesday') then sales_price else null end) wed_sales, |
| sum(case when (d_day_name='Thursday') then sales_price else null end) thu_sales, |
| sum(case when (d_day_name='Friday') then sales_price else null end) fri_sales, |
| sum(case when (d_day_name='Saturday') then sales_price else null end) sat_sales |
| from wscs |
| ,date_dim |
| where d_date_sk = sold_date_sk |
| group by d_week_seq) |
| select d_week_seq1 |
| ,round(sun_sales1/sun_sales2,2) |
| ,round(mon_sales1/mon_sales2,2) |
| ,round(tue_sales1/tue_sales2,2) |
| ,round(wed_sales1/wed_sales2,2) |
| ,round(thu_sales1/thu_sales2,2) |
| ,round(fri_sales1/fri_sales2,2) |
| ,round(sat_sales1/sat_sales2,2) |
| from |
| (select wswscs.d_week_seq d_week_seq1 |
| ,sun_sales sun_sales1 |
| ,mon_sales mon_sales1 |
| ,tue_sales tue_sales1 |
| ,wed_sales wed_sales1 |
| ,thu_sales thu_sales1 |
| ,fri_sales fri_sales1 |
| ,sat_sales sat_sales1 |
| from wswscs,date_dim |
| where date_dim.d_week_seq = wswscs.d_week_seq and |
| d_year = 1998) y, |
| (select wswscs.d_week_seq d_week_seq2 |
| ,sun_sales sun_sales2 |
| ,mon_sales mon_sales2 |
| ,tue_sales tue_sales2 |
| ,wed_sales wed_sales2 |
| ,thu_sales thu_sales2 |
| ,fri_sales fri_sales2 |
| ,sat_sales sat_sales2 |
| from wswscs |
| ,date_dim |
| where date_dim.d_week_seq = wswscs.d_week_seq and |
| d_year = 1998+1) z |
| where d_week_seq1=d_week_seq2-53 |
| order by d_week_seq1;""" |
| |
| def topPlan = queryResult[0][0].toString() |
| assertTrue(topPlan.contains("LogicalResultSink")) |
| assertTrue(topPlan.contains("d_week_seq1")) |
| assertTrue(topPlan.contains("__round_1")) |
| assertTrue(topPlan.contains("__round_2")) |
| assertTrue(topPlan.contains("__round_3")) |
| assertTrue(topPlan.contains("__round_4")) |
| assertTrue(topPlan.contains("__round_5")) |
| assertTrue(topPlan.contains("__round_6")) |
| assertTrue(topPlan.contains("__round_7")) |
| } |