[ https://issues.apache.org/jira/browse/HIVE-18291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810755#comment-16810755 ]
Ivan Suller commented on HIVE-18291: ------------------------------------ I'd vote against this change as well. At least the default should be the current behaviour. When I used Hive daily we depended on this behaviour very often: if an input is not what we expect we simply want it to be ignored. Still better to have one row incomplete than have a billion rows missing. > An exception should be raised if the result is outside the range of decimal > --------------------------------------------------------------------------- > > Key: HIVE-18291 > URL: https://issues.apache.org/jira/browse/HIVE-18291 > Project: Hive > Issue Type: Sub-task > Components: SQL > Affects Versions: 2.3.0 > Reporter: Marco Gaido > Priority: Major > > Citing SQL:2011 on page 27 available at > http://standards.iso.org/ittf/PubliclyAvailableStandards/c053681_ISO_IEC_9075-1_2011.zip: > {noformat} > If the result cannot be represented exactly in the result type, then whether > it is rounded > or truncated is implementation-defined. An exception condition is raised if > the result is > outside the range of numeric values of the result type, or if the arithmetic > operation > is not defined for the operands. > {noformat} > Currently Hive is returning NULL instead of throwing an exception if the > result is out of range, eg.: > {code} > > select 1000000000000000000.000001*1000000000000000000.000001; > +-------+ > | _c0 | > +-------+ > | NULL | > +-------+ > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)