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

Phabricator commented on HIVE-2956:
-----------------------------------

kevinwilfong has commented on the revision "HIVE-2956 [jira] [hive] Provide 
error message when using UDAF in the place of UDF instead of throwing NPE".

  I'm sorry, you're right, I misread the error message, partly because I 
misunderstood the problem your patch was trying to solve.

  I would argue that Hive should support this syntax, if not now, then 
eventually.  It is supported by MySQL for instance.

  However, until this is supported, a proper error message is preferable to an 
NPE.  The problem appears to be a combination of applying distinct and a UDAF 
to the same column.  It seems to me that a better error message would be 
something that indicates that.  It is not the location of sum(key) that is 
causing the problem, but the fact that distinct key is also in the select 
clause.  If you could also add a "yet" in there to suggest that this will be 
supported in the future, that would also be good.

REVISION DETAIL
  https://reviews.facebook.net/D2823

                
> [hive] Provide error message when using UDAF in the place of UDF instead of 
> throwing NPE
> ----------------------------------------------------------------------------------------
>
>                 Key: HIVE-2956
>                 URL: https://issues.apache.org/jira/browse/HIVE-2956
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Navis
>            Assignee: Navis
>            Priority: Trivial
>         Attachments: HIVE-2956.D2823.1.patch, HIVE-2956.D2823.2.patch
>
>
> For example, 
> {code}
> hive> select distinct deptno, sum(deptno) from emp;
> FAILED: Hive Internal Error: java.lang.NullPointerException(null)
> java.lang.NullPointerException
>       at 
> org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc.newInstance(ExprNodeGenericFuncDesc.java:214)
>       at 
> org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory$DefaultExprProcessor.getXpathOrFuncExprNodeDesc(TypeCheckProcFactory.java:767)
>       at 
> org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory$DefaultExprProcessor.process(TypeCheckProcFactory.java:888)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:89)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:88)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:125)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:102)
>       at 
> org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory.genExprNode(TypeCheckProcFactory.java:165)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genExprNodeDesc(SemanticAnalyzer.java:7755)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genExprNodeDesc(SemanticAnalyzer.java:7713)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanMapGroupByOperator(SemanticAnalyzer.java:2793)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanMapAggr1MR(SemanticAnalyzer.java:3651)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:6125)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:6762)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:7531)
>       at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:250)
> {code}
> Trivial.. but people always reports this confused by esoteric custom function 
> names.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to