You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Xuefu Zhang (JIRA)" <ji...@apache.org> on 2013/10/26 01:48:33 UTC
[jira] [Created] (HIVE-5655) Hive incorrecly handles divide-by-zero
case
Xuefu Zhang created HIVE-5655:
---------------------------------
Summary: Hive incorrecly handles divide-by-zero case
Key: HIVE-5655
URL: https://issues.apache.org/jira/browse/HIVE-5655
Project: Hive
Issue Type: Improvement
Components: Types
Affects Versions: 0.12.0, 0.11.0, 0.10.0
Reporter: Xuefu Zhang
Assignee: Xuefu Zhang
Unlike other databases, Hive currently has only one mode (default mode) regarding error handling, in which NULL value is returned. However, in case of divide-by-zero, Hive demonstrated a different behavior.
{code}
hive> select 5/0 from tmp2 limit 1;
Total MapReduce jobs = 1
...
Total MapReduce CPU Time Spent: 860 msec
OK
Infinity
{code}
The correct behaviour should be Hive returning NULL instead in order to be consistent w.r.t error handling.
MySQL has server modes control the behaviour. By default, NULL is returned. For instance,
{code}
mysql> select 3/0 from dual;
+------+
| 3/0 |
+------+
| NULL |
+------+
1 row in set (0.00 sec)
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)