blob: cd1519eef71a5fc17e51965df0b90bf42db1ef72 [file] [log] [blame]
====
---- QUERY
# TODO: string literals should start as CHAR(N) and analysis
# should promote as necessary
insert into test_char_tmp select cast("hello" as char(5))
====
---- QUERY
select * from test_char_tmp
---- TYPES
char
---- RESULTS
'hello'
====
---- QUERY
# Regression test for IMPALA-1248
insert into test_char_tmp values (cast("hel" as char(5)))
====
---- QUERY
insert into test_char_tmp select cast(cast("hello000" as VARCHAR(8)) as char(5))
====
---- QUERY
select * from test_char_tmp where c = cast('hel' as char(5))
---- TYPES
char
---- RESULTS
'hel '
====
---- QUERY
insert into test_char_tmp values (NULL)
====
---- QUERY
select * from test_char_tmp as A CROSS JOIN test_char_tmp as B
where B.c = cast('hel' as CHAR(5))
ORDER BY A.c
---- TYPES
char, char
---- RESULTS
'hel ','hel '
'hello','hel '
'hello','hel '
'NULL','hel '
====
---- QUERY
select * from test_char_tmp as A, test_char_tmp as B
where A.c = B.c AND A.c != 'hello'
---- TYPES
char, char
---- RESULTS
'hel ','hel '
====
---- QUERY
select lower(c) from test_char_tmp ORDER BY c
---- TYPES
string
---- RESULTS
'hel '
'hello'
'hello'
'NULL'
====
---- QUERY
insert into test_varchar_tmp values (cast("hello" as varchar(5)))
====
---- QUERY
select * from test_varchar_tmp
---- TYPES
string
---- RESULTS
'hello'
====
---- QUERY
insert into test_varchar_tmp values (cast("xyzzzzz12" as varchar(7)))
---- CATCH
would need to be cast to VARCHAR(5)
====
---- QUERY
select cast("xyzzzzz12" as varchar(-1))
---- CATCH
Syntax error
====
---- QUERY
select (cast("xyzzzzz12" as char(-1)))
---- CATCH
Syntax error
====
---- QUERY
insert into test_varchar_tmp values (cast("hel" as varchar(4)))
====
---- QUERY
select * from test_varchar_tmp
---- TYPES
string
---- RESULTS
'hello'
'hel'
====
---- QUERY
insert into allchars values (cast("123456" as char(5)), cast("123456" as char(140)),
cast("123456" as varchar(5)))
====
---- QUERY
select cshort, clong, vc from allchars
---- TYPES
char,char,string
---- RESULTS
'12345','123456 ','12345'
====
---- QUERY
insert into allchars_par values (cast("123456" as char(5)), cast("123456" as char(140)),
cast("123456" as varchar(5)))
====
---- QUERY
select cshort, clong, vc from allchars_par
---- TYPES
char,char,string
---- RESULTS
'12345','123456 ','12345'
====
---- QUERY
select count(*), count(cs), count(cl), count(vc) from chars_tiny
---- TYPES
bigint,bigint,bigint,bigint
---- RESULTS
9,8,8,8
====
---- QUERY
select * from chars_tiny where cs = cast('6a' as CHAR(2))
---- TYPES
char,char,string
---- RESULTS
'6a ','6b ','6c'
'6a ','6b ','6c'
====
---- QUERY
select count(*) from chars_tiny where vc != cast('5c' as varchar(3))
---- TYPES
bigint
---- RESULTS
7
====
---- QUERY
select count(*) from chars_tiny where cs != cast('a' as char(3))
---- TYPES
bigint
---- RESULTS
7
====
---- QUERY
select count(DISTINCT cs) from chars_tiny where vc = cast('5c' as varchar(10))
---- TYPES
bigint
---- RESULTS
1
====
---- QUERY
select count(DISTINCT cs) from chars_tiny where cs = cast('5a' as char(10))
---- TYPES
bigint
---- RESULTS
1
====
---- QUERY
select cs, count(cl) from functional.chars_tiny group by cs having count(vc) > 1
---- TYPES
char, bigint
---- RESULTS
'6a ',2
====
---- QUERY
select A.cs from functional.chars_tiny as A, functional.chars_tiny as B where
cast(A.cs as char(1)) = cast(B.cl as char(1)) order by A.cs
---- TYPES
char
---- RESULTS
'1aaaa'
'2aaaa'
'3aaa '
'4aa '
'5a '
'6a '
'6a '
'6a '
'6a '
====
---- QUERY
drop table if exists char_parts
====
---- QUERY
create table if not exists char_parts (vc varchar(32)) partitioned by
(csp char(5), clp char(140), vcp varchar(32))
====
---- QUERY
insert into char_parts (csp, clp, vcp, vc) select cs, cl, vc, vc from chars_tiny
====
---- QUERY
select csp, clp, vcp from char_parts where csp != cast('dne' as char(5)) order by csp
---- TYPES
char, char, string
---- RESULTS
'1aaaa','1bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb','1cccc'
'2aaaa','2bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb','2cccccc'
'3aaa ','3bbbbb ','3ccc'
'4aa ','4bbbb ','4cc'
'5a ','5bbb ','5c'
'6a ','6b ','6c'
'6a ','6b ','6c'
'a ','b ','c'
====
---- QUERY
insert into char_parts partition (csp=cast('foo' as char(5)),
clp=cast('01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789xxxxxxx' as char(140)),
vcp=cast('myvar' as varchar(32))) select cast('val' as varchar(32));
====
---- QUERY
select csp, clp, vcp from char_parts where csp = cast('foo' as char(5))
---- TYPES
char, char, string
---- RESULTS
'foo ','01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789','myvar'
====
---- QUERY
drop table if exists char_parts
====
---- QUERY
# Regression test for IMPALA-1316
select A.vc from functional.chars_tiny as A join functional.chars_tiny using (vc) order by A.vc
---- TYPES
string
---- RESULTS
'1cccc'
'2cccccc'
'3ccc'
'4cc'
'5c'
'6c'
'6c'
'6c'
'6c'
'c'
====
---- QUERY
# Regression test for IMPALA-1322
select count(*) from functional.chars_tiny as A, functional.chars_tiny as B
where cast(A.cs as CHAR(1)) = cast(B.vc as CHAR(1));
---- TYPES
bigint
---- RESULTS
9
====
---- QUERY
select min(cs), max(vc), ndv(cl), ndv(vc), appx_median(cs), appx_median(vc)
from functional.chars_tiny
---- TYPES
string, string, bigint, bigint, string, string
---- RESULTS
'1aaaa','c',7,7,'5a ','5c'
====
---- QUERY
# Regression test for IMPALA-1322
drop table if exists functional.t_1822;
====
---- QUERY
# Regression test for IMPALA-1322
create table functional.t_1822 (c10 char(10), c100 char(100), v100 varchar(100), v200 varchar(200), s string);
====
---- QUERY
# Regression test for IMPALA-1322
insert into functional.t_1822 values (cast('a' as char(1)), cast('a' as char(1)),
cast('a' as varchar(1)), cast('a' as varchar(1)), 'a');
====
---- QUERY
# Regression test for IMPALA-1316
select count(*) from functional.t_1822 as t join functional.t_1822 as tt
on cast(tt.s as char(129)) = t.c10 and
cast(tt.s as char(129)) = t.c100 and tt.c10 = t.c100;
---- TYPES
bigint
---- RESULTS
1
====
---- QUERY
# Regression test for IMPALA-1322
drop table if exists functional.t_1822;
====
---- QUERY
# Regression test for IMPALA-1316
select t1.vc, COUNT(1) FROM chars_tiny t1 GROUP BY 1 ORDER BY t1.vc
---- TYPES
string, bigint
---- RESULTS
'1cccc',1
'2cccccc',1
'3ccc',1
'4cc',1
'5c',1
'6c',2
'c',1
'NULL',1
====
---- QUERY
# Regression test for IMPALA-1316
select t1.cl, COUNT(1) FROM chars_tiny t1 GROUP BY 1 ORDER BY t1.cl
---- TYPES
char, bigint
---- RESULTS
'1bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1
'2bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1
'3bbbbb ',1
'4bbbb ',1
'5bbb ',1
'6b ',2
'b ',1
'NULL',1
====
---- QUERY
# Regression test for IMPALA-1339
select c20 from test_char_nulls group by c20;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c40 from test_char_nulls group by c40;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c60 from test_char_nulls group by c60;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c80 from test_char_nulls group by c80;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c81 from test_char_nulls group by c81;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c82 from test_char_nulls group by c82;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c100 from test_char_nulls group by c100;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c120 from test_char_nulls group by c120;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1339
select c140 from test_char_nulls group by c140;
---- TYPES
char
---- RESULTS
'NULL'
====
---- QUERY
# Regression test for IMPALA-1344
select cs, LAST_VALUE(cs) OVER (ORDER BY cs rows between unbounded preceding and
current row) FROM functional.chars_tiny;
---- TYPES
char, string
---- RESULTS
'1aaaa','1aaaa'
'2aaaa','2aaaa'
'3aaa ','3aaa '
'4aa ','4aa '
'5a ','5a '
'6a ','6a '
'6a ','6a '
'a ','a '
'NULL','NULL'
====