Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
1.1.0
-
None
-
None
-
2017-21, 2017-22, 2017-23
Description
query47 and query57 in tpcds both are complex queries using 2 level CTE, self join, and window functions. For example query47:
#QUERY_47
|
with v1 as(
|
select i_category, i_brand,
|
s_store_name, s_company_name,
|
d_year, d_moy,
|
sum(ss_sales_price) sum_sales,
|
avg(sum(ss_sales_price)) over
|
(partition by i_category, i_brand,
|
s_store_name, s_company_name, d_year)
|
avg_monthly_sales,
|
rank() over
|
(partition by i_category, i_brand,
|
s_store_name, s_company_name
|
order by d_year, d_moy) rn
|
from item, store_sales, date_dim, store
|
where ss_item_sk = i_item_sk and
|
ss_sold_date_sk = d_date_sk and
|
ss_store_sk = s_store_sk and
|
(
|
d_year = 2000 or
|
( d_year = 2000-1 and d_moy =12) or
|
( d_year = 2000+1 and d_moy =1)
|
)
|
group by i_category, i_brand,
|
s_store_name, s_company_name,
|
d_year, d_moy),
|
v2 as(
|
select v1_base.i_category
|
,v1_base.d_year, v1_base.d_moy
|
,v1_base.avg_monthly_sales
|
,v1_base.sum_sales, v1_lag.sum_sales psum, v1_lead.sum_sales nsum
|
from v1 v1_base, v1 v1_lag, v1 v1_lead
|
where v1_base.i_category = v1_lag.i_category and
|
v1_base.i_category = v1_lead.i_category and
|
v1_base.i_brand = v1_lag.i_brand and
|
v1_base.i_brand = v1_lead.i_brand and
|
v1_base.s_store_name = v1_lag.s_store_name and
|
v1_base.s_store_name = v1_lead.s_store_name and
|
v1_base.s_company_name = v1_lag.s_company_name and
|
v1_base.s_company_name = v1_lead.s_company_name and
|
v1_base.rn = v1_lag.rn + 1 and
|
v1_base.rn = v1_lead.rn - 1)
|
select *
|
from v2
|
where d_year = 2000 and
|
avg_monthly_sales > 0 and
|
case when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales else null end > 0.1
|
order by sum_sales - avg_monthly_sales, 3
|
limit 100;
|
will fail in one execution with:
ERROR 1146 (42S02) at line 2 in file: 'query47.sql': Table 'tpcds_1.v1' doesn't exist
but succeed the next and so on. I tried to come up with a simpler example wasn't able to so will need more debugging to see what is going on.
Confirm that the current band aid work fors query 78 and will move to
MCOL-964as the future version of this.