blob: 73aee7e01a01b990e4e707511ca390f6026c4752 [file] [log] [blame]
====
---- QUERY
create function if not exists hive_pi() returns double
location '$FILESYSTEM_PREFIX/test-warehouse/hive-exec.jar'
symbol='org.apache.hadoop.hive.ql.udf.UDFPI';
---- RESULTS
====
---- QUERY
create function if not exists foo() returns double
location '$FILESYSTEM_PREFIX/test-warehouse/not-a-real-file.so'
symbol='FnDoesNotExist';
---- CATCH
Could not load binary: $FILESYSTEM_PREFIX/test-warehouse/not-a-real-file.so
====
---- QUERY
create function if not exists foo() returns double
location '$FILESYSTEM_PREFIX/test-warehouse/not-a-real-file.so'
symbol='FnDoesNotExist';
---- CATCH
Could not load binary: $FILESYSTEM_PREFIX/test-warehouse/not-a-real-file.so
====
---- QUERY
# This test is run with codegen disabled. Interpretation only handles up to 20 arguments.
create function if not exists twenty_args(int, int, int, int, int, int,
int, int, int, int, int, int, int, int, int, int, int, int, int, int) returns int
location '$FILESYSTEM_PREFIX/test-warehouse/libTestUdfs.so'
symbol='TwentyArgs';
---- RESULTS
====
---- QUERY
# Verifies that interpretation can support up to 20 arguments
select twenty_args(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
---- TYPES
INT
---- RESULTS
210
====
---- QUERY
# This test is run with codegen disabled. Interpretation only handles up to 20 arguments.
create function if not exists twenty_one_args(int, int, int, int, int, int,
int, int, int, int, int, int, int, int, int, int, int, int, int, int, int) returns int
location '$FILESYSTEM_PREFIX/test-warehouse/libTestUdfs.so'
symbol='TwentyOneArgs';
---- RESULTS
====
---- QUERY
# Verifies that interpretation fails with more than 20 arguments.
select twenty_one_args(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);
---- CATCH
Cannot interpret native UDF 'twenty_one_args': number of arguments is more than 20. Codegen is needed. Please set DISABLE_CODEGEN to false.
====
---- QUERY
# This test is run with codegen disabled. IR UDF will fail.
create function if not exists nine_args_ir(int, int, int, int, int, int,
int, int, int) returns int
location '$FILESYSTEM_PREFIX/test-warehouse/test-udfs.ll'
symbol='NineArgs';
---- RESULTS
====
---- QUERY
select nine_args_ir(1,2,3,4,5,6,7,8,9);
---- CATCH
Cannot interpret LLVM IR UDF 'nine_args_ir': Codegen is needed. Please set DISABLE_CODEGEN to false.
====
---- QUERY
use default;
drop database $DATABASE;
---- CATCH
Cannot drop non-empty database:
====
---- QUERY
use $DATABASE;
drop function hive_pi();
drop function twenty_args(int, int, int, int, int, int, int, int,
int, int, int, int, int, int, int, int, int, int, int, int);
drop function twenty_one_args(int, int, int, int, int, int, int, int,
int, int, int, int, int, int, int, int, int, int, int, int, int);
drop function nine_args_ir(int, int, int, int, int, int, int, int, int);
---- RESULTS
====