[ https://issues.apache.org/jira/browse/HIVE-5872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13845715#comment-13845715 ]
Xuefu Zhang commented on HIVE-5872: ----------------------------------- Thanks for the review, Prasad. {quote} In general, it looks like we need more exception logic for handling decimals in UDAF (HIVE-5872, HIVE-5866). It might be useful to add a note in the dev guide for future work .. {quote} I assume you are referring the following code snippet: {code} if (t == null) { return warnedOnceNullMapKey; } {code} I agree with your assessment. Currently Hive emits null as the only error handling option. Thus, null check is (or is missed) everywhere in the code, not specific to decimal. For a long run, I agree we need to have a better exception handling, especially when we introduce different error handling (HIVE-5438). > Make UDAFs such as GenericUDAFSum report accurate precision/scale for decimal > types > ----------------------------------------------------------------------------------- > > Key: HIVE-5872 > URL: https://issues.apache.org/jira/browse/HIVE-5872 > Project: Hive > Issue Type: Improvement > Components: Types, UDF > Affects Versions: 0.12.0 > Reporter: Xuefu Zhang > Assignee: Xuefu Zhang > Fix For: 0.13.0 > > Attachments: HIVE-5872.1.patch, HIVE-5872.2.patch, HIVE-5872.3.patch, > HIVE-5872.4.patch, HIVE-5872.patch > > > Currently UDAFs are still reporting system default precision/scale (38, 18) > for decimal results. Not only this is coarse, but also this can cause > problems in subsequent operators such as division, where the result is > dependent on the precision/scale of the input, which can go out of bound > (38,38). Thus, these UDAFs should correctly report the precision/scale of the > result. -- This message was sent by Atlassian JIRA (v6.1.4#6159)