[ 
https://issues.apache.org/jira/browse/HIVE-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887644#action_12887644
 ] 

John Sichi commented on HIVE-1457:
----------------------------------

One example which came up today

----

Hi,
 I have a custom UDF which takes as an argument an array of bools.  But when I 
call this UDF I get this error:

FAILED: Error in semantic analysis: line 3:19 Wrong Arguments 0: No matching 
method for class UDFWhich with (array<boolean>). Possible choices: 
_FUNC_(array<boolean>)

 Which makes no sense to me since those two things look equal to me.  Here's my 
query:

ADD JAR /home/jonchang/projects/data/lib/udf/fb_udf.jar;
CREATE TEMPORARY FUNCTION WHICH AS 'UDFWhich';
select which(array(true, false)) from tmp_jonchang_hive_test;

Cheers,
Jonathan

> improve diagnostics for incorrectly written UDAF implementations
> ----------------------------------------------------------------
>
>                 Key: HIVE-1457
>                 URL: https://issues.apache.org/jira/browse/HIVE-1457
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: UDF
>    Affects Versions: 0.6.0
>            Reporter: John Sichi
>            Assignee: John Sichi
>             Fix For: 0.7.0
>
>
> For both reflective and generic UD(A)F, I've noticed cases where an 
> incorrectly written Java class will cause UDF creation or execution to fail, 
> but with poor diagnostics (e.g. NPE or non-obvious Java reflective 
> exception), requiring the user to guess what the problem is by comparison 
> with a working class.
> Specific examples to follow; I think I have seen the following cases:
> * incorrect accessibility on a class or method (e.g. private instead of 
> public)
> * missing no-arg constructor
> * incorrect method return type

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to