mirror of
https://github.com/apache/impala.git
synced 2026-01-19 00:00:54 -05:00
This change fixes the behavior of BytesWritable and TextWritable's getBytes() method. Now the returned byte array could be handled as the underlying buffer as it gets loaded before the UDF's evaluation, and tracks the changes as a regular Java byte array; the resizing operation still resets the reference. The operations that wrote back to the native heap were also removed as these operations are now handled in the byte array. ImpalaStringWritable class is also removed, writables that used it before now store the data directly. Tests: - Test UDFs added as BufferAlteringUdf and GenericBufferAlteringUdf - E2E test ran for UDFs Change-Id: Ifb28bd0dce7b0482c7abe1f61f245691fcbfe212 Reviewed-on: http://gerrit.cloudera.org:8080/19507 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
104 lines
3.9 KiB
Plaintext
104 lines
3.9 KiB
Plaintext
====
|
|
---- QUERY
|
|
create function hive_pi() returns double
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/hive-exec.jar'
|
|
symbol='org.apache.hadoop.hive.ql.udf.UDFPI';
|
|
|
|
create function hive_bin(bigint) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/hive-exec.jar'
|
|
symbol='org.apache.hadoop.hive.ql.udf.UDFBin';
|
|
|
|
# Used to test persistent java functions
|
|
create function identity_anytype
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(boolean) returns boolean
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(tinyint) returns tinyint
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(smallint) returns smallint
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(int) returns int
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(bigint) returns bigint
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(float) returns float
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(double) returns double
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(string) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(binary) returns binary
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(string, string) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function identity(string, string, string) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function hive_add(int, int) returns int
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function hive_add(smallint, smallint) returns smallint
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function hive_add(float, float) returns float
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function hive_add(double, double) returns double
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function hive_add(boolean, boolean) returns boolean
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdf';
|
|
|
|
create function throws_exception() returns boolean
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.TestUdfException';
|
|
|
|
create function replace_string(string) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.ReplaceStringUdf';
|
|
|
|
create function import_nearby_classes(string) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.ImportsNearbyClassesUdf';
|
|
|
|
create function increment(binary) returns binary
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.BufferAlteringUdf';
|
|
|
|
create function increment(string) returns string
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.BufferAlteringUdf';
|
|
|
|
create function copy_and_increment(binary, binary) returns binary
|
|
location '$FILESYSTEM_PREFIX/test-warehouse/impala-hive-udfs.jar'
|
|
symbol='org.apache.impala.BufferAlteringUdf';
|
|
====
|