blob: 980cf8d21292e9989585d63b4c9b6b8419344585 [file] [log] [blame]
====
---- QUERY
select hive_pi()
---- RESULTS
3.141592653589793
---- TYPES
DOUBLE
====
---- QUERY
select hive_bin(100)
---- RESULTS
'1100100'
---- TYPES
STRING
====
---- QUERY
select min(hive_pi()) from functional.alltypesagg
---- RESULTS
3.141592653589793
---- TYPES
DOUBLE
====
---- QUERY
# Test identity functions
select identity(true), identity(cast(NULL as boolean));
---- TYPES
boolean, boolean
---- RESULTS
true,NULL
====
---- QUERY
select identity(cast(10 as tinyint)), identity(cast(NULL as tinyint));
---- TYPES
tinyint, tinyint
---- RESULTS
10,NULL
====
---- QUERY
select identity(cast(10 as smallint)), identity(cast(NULL as smallint));
---- TYPES
smallint, smallint
---- RESULTS
10,NULL
====
---- QUERY
select identity(cast(10 as int)), identity(cast(NULL as int));
---- TYPES
int, int
---- RESULTS
10,NULL
====
---- QUERY
select identity(cast(10 as bigint)), identity(cast(NULL as bigint));
---- TYPES
bigint, bigint
---- RESULTS
10,NULL
====
---- QUERY
select identity(cast(10.0 as float)), identity(cast(NULL as float));
---- TYPES
float, float
---- RESULTS
10,NULL
====
---- QUERY
select identity(cast(10.0 as double)), identity(cast(NULL as double));
---- TYPES
double, double
---- RESULTS
10,NULL
====
---- QUERY
# IMPALA-1456. Each "identity" call below tests a different type (BytesWritable, Text,
# and String).
select identity("why hello there"),
identity("why", " hello there"),
identity("why", " hello", " there"),
identity(cast(NULL as string)),
identity(cast(NULL as string), cast(NULL as string)),
identity(cast(NULL as string), cast(NULL as string), cast(NULL as string));
---- TYPES
string, string, string, string, string, string
---- RESULTS
'why hello there','why hello there','why hello there','NULL','NULL','NULL'
====
---- QUERY
# IMPALA-1134. Each "identity" call below tests a different type (BytesWritable, Text,
# and String). The different types are handled slightly differently.
select length(identity("0123456789")),
length(identity("0123456789", "0123456789")),
length(identity("0123456789", "0123456789", "0123456789"));
---- TYPES
int, int, int
---- RESULTS
10,20,30
====
---- QUERY
# IMPALA-1392: Hive UDFs that throw exceptions should return NULL
select throws_exception();
---- TYPES
boolean
---- RESULTS
NULL
====
---- QUERY
select throws_exception() from functional.alltypestiny;
---- TYPES
boolean
---- RESULTS
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
====
---- QUERY
select hive_add(cast(1 as int), cast(2 as int));
---- TYPES
int
---- RESULTS
3
====
---- QUERY
select hive_add(hive_add(cast(1 as int), cast(2 as int)), cast(2 as int));
---- TYPES
int
---- RESULTS
5
====
---- QUERY
select hive_add(cast(hive_add(cast(1 as int), cast(2 as int)) - hive_add(cast(2 as int), cast(1 as int)) as int), cast(2 as int));
---- TYPES
int
---- RESULTS
2
====
---- QUERY
select hive_add(cast(1 as smallint), cast(2 as smallint));
---- TYPES
smallint
---- RESULTS
3
====
---- QUERY
select hive_add(cast(1.0 as float), cast(2.0 as float));
---- TYPES
float
---- RESULTS
3.0
====
---- QUERY
select hive_add(cast(1.0 as double), cast(2.0 as double));
---- TYPES
double
---- RESULTS
3.0
====
---- QUERY
select hive_add(cast(1 as boolean), cast(0 as boolean));
---- TYPES
boolean
---- RESULTS
false
====
---- QUERY
# Testing whether all of persistent Java udfs are accessible.
select identity_anytype(true);
---- TYPES
boolean
---- RESULTS
true
====
---- QUERY
select identity_anytype(cast(10 as tinyint));
---- TYPES
tinyint
---- RESULTS
10
====
---- QUERY
select identity_anytype(cast(10 as smallint));
---- TYPES
smallint
---- RESULTS
10
====
---- QUERY
select identity_anytype(cast(10 as int));
---- TYPES
int
---- RESULTS
10
====
---- QUERY
select identity_anytype(cast(10 as bigint));
---- TYPES
bigint
---- RESULTS
10
====
---- QUERY
select identity_anytype(cast(10.0 as float));
---- TYPES
float
---- RESULTS
10
====
---- QUERY
select identity_anytype(cast(10.0 as double));
---- TYPES
double
---- RESULTS
10
====
---- QUERY
select identity_anytype("a", "b");
---- TYPES
string
---- RESULTS
'ab'
====
---- QUERY
select identity_anytype("a", "b", "c");
---- TYPES
string
---- RESULTS
'abc'
====
---- QUERY
# IMPALA-3378: test many Java UDFs being opened and run concurrently
select * from
(select max(int_col) from functional.alltypesagg
where identity(bool_col) union all
(select max(int_col) from functional.alltypesagg
where identity(tinyint_col) > 1 union all
(select max(int_col) from functional.alltypesagg
where identity(smallint_col) > 1 union all
(select max(int_col) from functional.alltypesagg
where identity(int_col) > 1 union all
(select max(int_col) from functional.alltypesagg
where identity(bigint_col) > 1 union all
(select max(int_col) from functional.alltypesagg
where identity(float_col) > 1.0 union all
(select max(int_col) from functional.alltypesagg
where identity(double_col) > 1.0 union all
(select max(int_col) from functional.alltypesagg
where identity(string_col) > '1' union all
(select max(int_col) from functional.alltypesagg
where not identity(bool_col) union all
(select max(int_col) from functional.alltypesagg
where identity(tinyint_col) > 2 union all
(select max(int_col) from functional.alltypesagg
where identity(smallint_col) > 2 union all
(select max(int_col) from functional.alltypesagg
where identity(int_col) > 2 union all
(select max(int_col) from functional.alltypesagg
where identity(bigint_col) > 2 union all
(select max(int_col) from functional.alltypesagg
where identity(float_col) > 2.0 union all
(select max(int_col) from functional.alltypesagg
where identity(double_col) > 2.0 union all
(select max(int_col) from functional.alltypesagg
where identity(string_col) > '2'
)))))))))))))))) v
---- TYPES
INT
---- RESULTS
998
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
====
---- QUERY
drop table if exists replace_string_input
====
---- QUERY
create table replace_string_input as
values('toast'), ('scone'), ('stuff'), ('sssss'), ('yes'), ('scone'), ('stuff');
====
---- QUERY
# Regression test for IMPALA-4266: memory management bugs with output strings from
# Java UDFS, exposed by using the UDF as a grouping key in an aggregation.
# The UDF replaces "s" with "ss" in the strings.
select distinct replace_string(_c0) as es
from replace_string_input
order by 1;
---- TYPES
string
---- RESULTS
'sscone'
'ssssssssss'
'sstuff'
'toasst'
'yess'
====
---- QUERY
# Regression test for IMPALA-8016; this UDF loads another class in the same jar.
select import_nearby_classes("placeholder");
---- TYPES
string
---- RESULTS
'Hello'
====