blob: bd85039cd8827b8d6ab45a4556ad73b3f4ea9d6f [file] [log] [blame]
--! qt:dataset:src
set hive.mapred.mode=nonstrict;
drop table partition_date_1_temp;
create temporary table partition_date_1_temp (key string, value string) partitioned by (dt date, region string);
insert overwrite table partition_date_1_temp partition(dt='2000-01-01', region= '1')
select * from src tablesample (10 rows);
insert overwrite table partition_date_1_temp partition(dt='2000-01-01', region= '2')
select * from src tablesample (5 rows);
insert overwrite table partition_date_1_temp partition(dt='2013-12-10', region= '2020-20-20')
select * from src tablesample (5 rows);
insert overwrite table partition_date_1_temp partition(dt='2013-08-08', region= '1')
select * from src tablesample (20 rows);
insert overwrite table partition_date_1_temp partition(dt='2013-08-08', region= '10')
select * from src tablesample (11 rows);
select distinct dt from partition_date_1_temp order by dt;
select * from partition_date_1_temp where dt = '2000-01-01' and region = '2' order by key,value;
-- 15
select count(*) from partition_date_1_temp where dt = date '2000-01-01';
-- 15. Also try with string value in predicate
select count(*) from partition_date_1_temp where dt = '2000-01-01';
-- 5
select count(*) from partition_date_1_temp where dt = date '2000-01-01' and region = '2';
-- 11
select count(*) from partition_date_1_temp where dt = date '2013-08-08' and region = '10';
-- 30
select count(*) from partition_date_1_temp where region = '1';
-- 0
select count(*) from partition_date_1_temp where dt = date '2000-01-01' and region = '3';
-- 0
select count(*) from partition_date_1_temp where dt = date '1999-01-01';
-- Try other comparison operations
-- 20
select count(*) from partition_date_1_temp where dt > date '2000-01-01' and region = '1';
-- 10
select count(*) from partition_date_1_temp where dt < date '2000-01-02' and region = '1';
-- 20
select count(*) from partition_date_1_temp where dt >= date '2000-01-02' and region = '1';
-- 10
select count(*) from partition_date_1_temp where dt <= date '2000-01-01' and region = '1';
-- 20
select count(*) from partition_date_1_temp where dt <> date '2000-01-01' and region = '1';
-- 10
select count(*) from partition_date_1_temp where dt between date '1999-12-30' and date '2000-01-03' and region = '1';
-- Try a string key with date-like strings
-- 5
select count(*) from partition_date_1_temp where region = '2020-20-20';
-- 5
select count(*) from partition_date_1_temp where region > '2010-01-01';
drop table partition_date_1_temp;