blob: 123454114e3be5fd222089d03117a863f99359ec [file] [log] [blame]
set hive.fetch.task.conversion=none;
create table t_n14(a int, b int);
insert into t_n14 values (1,2),(1,2),(1,3),(2,4),(20,-100),(-1000,100),(4,5),(3,7),(8,9);
select a as b, b as a from t_n14 order by a, b;
select a as b, b as a from t_n14 order by t_n14.a, t_n14.b;
select a as b from t_n14 order by b;
select a as b from t_n14 order by 0-a;
select a,b,count(*),a+b from t_n14 group by a, b order by a+b, a;
create table store(store_name string, store_sqft int);
insert into store values ('HQ', 3), ('hq', 4);
-- Order by expression has string literal
-- literal is upper case both in project and order by clause
explain cbo
select store.store_name as c0, case store_name when 'HQ' then null else store_name end as c1,
store.store_sqft as c2
from store as store
group by store.store_name, case store_name when 'HQ' then null else store_name end, store.store_sqft
order by case store_name when 'HQ' then null else store_name end ASC;
select store.store_name as c0, case store_name when 'HQ' then null else store_name end as c1,
store.store_sqft as c2
from store as store
group by store.store_name, case store_name when 'HQ' then null else store_name end, store.store_sqft
order by case store_name when 'HQ' then null else store_name end ASC;
-- literal has different case in project and order by clause
explain cbo
select store.store_name as c0, case store_name when 'HQ' then null else store_name end as c1,
store.store_sqft as c2
from store as store
group by store.store_name, case store_name when 'HQ' then null else store_name end, store.store_sqft
order by case store_name when 'hq' then null else store_name end ASC;
select store.store_name as c0, case store_name when 'HQ' then null else store_name end as c1,
store.store_sqft as c2
from store as store
group by store.store_name, case store_name when 'HQ' then null else store_name end, store.store_sqft
order by case store_name when 'hq' then null else store_name end ASC;
-- expression is referenced by alias in Order by clause
explain cbo
select store.store_name as c0, case store_name when 'HQ' then null else store_name end as c1,
store.store_sqft as c2
from store as store
group by store.store_name, case store_name when 'HQ' then null else store_name end, store.store_sqft
order by c1 ASC;
select store.store_name as c0, case store_name when 'HQ' then null else store_name end as c1,
store.store_sqft as c2
from store as store
group by store.store_name, case store_name when 'HQ' then null else store_name end, store.store_sqft
order by c1 ASC;