mirror of
https://github.com/apache/impala.git
synced 2026-01-07 18:02:33 -05:00
This patch also adds a number of improvements to NativeUdfExpr. Highlights include: * Correctly handling the lowering of AnyVal struct types (required for ABI compatibility) * A rudimentary library cache for reusing handles produced by dlopen * More complicated test cases Change-Id: Iab9acdd7d7c4308e5d7ee3210f21b033fda5a195 Reviewed-on: http://gerrit.ent.cloudera.com:8080/540 Tested-by: jenkins Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com> Tested-by: Skye Wanderman-Milne <skye@cloudera.com>
60 lines
2.5 KiB
Plaintext
60 lines
2.5 KiB
Plaintext
====
|
|
---- QUERY
|
|
drop function if exists udf_test.identity(boolean);
|
|
drop function if exists udf_test.identity(tinyint);
|
|
drop function if exists udf_test.identity(smallint);
|
|
drop function if exists udf_test.identity(int);
|
|
drop function if exists udf_test.identity(bigint);
|
|
drop function if exists udf_test.identity(float);
|
|
drop function if exists udf_test.identity(double);
|
|
drop function if exists udf_test.identity(string);
|
|
drop function if exists udf_test.all_types_fn(
|
|
string, boolean, tinyint, smallint, int, bigint, float, double);
|
|
drop function if exists udf_test.no_args();
|
|
|
|
drop database if exists udf_test;
|
|
create database if not exists udf_test;
|
|
|
|
create function udf_test.identity(boolean) returns boolean
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_10BooleanValE';
|
|
|
|
create function udf_test.identity(tinyint) returns tinyint
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_10TinyIntValE';
|
|
|
|
create function udf_test.identity(smallint) returns smallint
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_11SmallIntValE';
|
|
|
|
create function udf_test.identity(int) returns int
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_6IntValE';
|
|
|
|
create function udf_test.identity(bigint) returns bigint
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_9BigIntValE';
|
|
|
|
create function udf_test.identity(float) returns float
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_8FloatValE';
|
|
|
|
create function udf_test.identity(double) returns double
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_9DoubleValE';
|
|
|
|
create function udf_test.identity(string) returns string
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8IdentityPN10impala_udf15FunctionContextERKNS_9StringValE';
|
|
|
|
create function udf_test.all_types_fn(
|
|
string, boolean, tinyint, smallint, int, bigint, float, double)
|
|
returns int
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z8AllTypesPN10impala_udf15FunctionContextERKNS_9StringValERKNS_10BooleanValERKNS_10TinyIntValERKNS_11SmallIntValERKNS_6IntValERKNS_9BigIntValERKNS_8FloatValERKNS_9DoubleValE';
|
|
|
|
create function udf_test.no_args() returns string
|
|
location '/test-warehouse/libTestUdfs.so'
|
|
symbol='_Z6NoArgsPN10impala_udf15FunctionContextE';
|
|
====
|