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