[
https://issues.apache.org/jira/browse/HIVE-26424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simhadri G reassigned HIVE-26424:
---------------------------------
Assignee: Simhadri G
> When decimal type has overflowed the specified precision it must throw an
> error/warning instead of succeeding with NULL entries
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-26424
> URL: https://issues.apache.org/jira/browse/HIVE-26424
> Project: Hive
> Issue Type: Bug
> Reporter: Simhadri G
> Assignee: Simhadri G
> Priority: Major
>
> When the decimal type has overflowed the specified precision, it results in
> null entries as seen below:
> {code:java}
> 0: jdbc:hive2://localhost:10001/> select cast(48932.19 AS DECIMAL(6,6));
> +-------+
> | _c0 |
> +-------+
> | NULL |
> +-------+
> 1 row selected (0.178 seconds){code}
>
> This can be a significant issue when inserting a large amount of data from
> one table to another. This can result in entire columns having NULL entries,
> as seen below
>
> {code:java}
> 0: jdbc:hive2://localhost:10001/> select * from t2;
> +-------------------+
> | t2.num |
> +-------------------+
> | 28367.8100000000 |
> | 49632.1900000000 |
> | NULL |
> | 28367.8100000000 |
> | 49632.1900000000 |
> | NULL |
> +-------------------+
> 6 rows selected (0.202 seconds)
> 0: jdbc:hive2://localhost:10001/> create table t3(num decimal(20,10));
> 0: jdbc:hive2://localhost:10001/> insert into t3 select cast(t2.num as
> decimal(5,2)) from t2;
> 12 rows affected (40.97 seconds)
> 0: jdbc:hive2://localhost:10001/> select * from t3;
> +---------+
> | t3.num |
> +---------+
> | NULL |
> | NULL |
> | NULL |
> | NULL |
> | NULL |
> | NULL |
> +---------+
> 6 rows selected (0.205 seconds){code}
> I think it would be better to throw an error as below instead of succeeding.
> Similar to Mysql.
> {code:java}
> ERROR : Out of range value for column 'cast(num as decimal(5,2))' {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)