hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Shelukhin (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HIVE-13098) Add a strict check for when the decimal gets converted to null due to insufficient width
Date Fri, 30 Sep 2016 19:39:22 GMT

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

Sergey Shelukhin edited comment on HIVE-13098 at 9/30/16 7:39 PM:
------------------------------------------------------------------

Well, the crux of the matter is, whatever solution we do in Hive would be super unwieldy code-wise,
because decimals, decimal OIs, etc. are created in 1000000 places in giant static methods.
I was going to add a global for compilation (thread-local since that is single threaded) to
be able to populate it  everywhere. At runtime (or during import) it can be used from the
fields in runtime objects (see DecimalUdf interface in the patch and its usage).
Then we can choose what to do with it.
The question is whether to do it at all, esp. since as Gopal noted other types are also converted
to null on overflow (unless they are bugged like decimal-to-int cast ;)), so the proper fix
that covers all the cases uniformly would be very um, impactful in the codebase.


was (Author: sershe):
Well, the crux of the matter is, whatever solution we do in Hive would be super unwieldy code-wise,
because decimals, decimal OIs, etc. are created in 1000000 places in giant static methods.
I was going to add a global for compilation (thread-local since that is single threaded) to
be able to populate it  everywhere. At runtime (or during import) it can be used from the
fields in runtime objects (see DecimalUdf interface in the patch and its usage).
Then we can choose what to do with it.
The question is whether to do it at all, esp. since as Gopal noted other types are also converted
to null on overflow (unless they are bugged like decimal-to-int cast ;)).

> Add a strict check for when the decimal gets converted to null due to insufficient width
> ----------------------------------------------------------------------------------------
>
>                 Key: HIVE-13098
>                 URL: https://issues.apache.org/jira/browse/HIVE-13098
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>         Attachments: HIVE-13098.WIP.patch, HIVE-13098.WIP2.patch
>
>
> When e.g. 999999 is selected as decimal(5,0), the result is null. This can be problematic,
esp. if the data is written to a table and lost without the user realizing it. There should
be an option to error out in such cases instead; it should probably be on by default and the
error message should instruct the user on how to disable it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message