| ==== |
| ---- 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' |
| ==== |