Stamatis Zampetakis created HIVE-24534:
------------------------------------------
Summary: Prevent implicit conversions when comparing characters
and decimals types
Key: HIVE-24534
URL: https://issues.apache.org/jira/browse/HIVE-24534
Project: Hive
Issue Type: Task
Components: HiveServer2
Reporter: Stamatis Zampetakis
Assignee: Stamatis Zampetakis
Fix For: 4.0.0
Implicit conversions between decimal and character types are not always safe
and in various cases they can lead to unexpected and surprising results.
{code:sql}
create table t_str (str_col string);
insert into t_str values ('1208925742523269458163819');select * from t_str
where str_col=1208925742523269479013976;
{code}
The SELECT query brings up one row while the filtering value is not the same
with the one present in the string column of the table. The problem is that
both types are converted to doubles and due to loss of precision the values are
deemed equal.
Even if we change the implicit conversion to use another type (HIVE-24528)
there are always some cases that may lead to unexpected results.
The goal of this issue is to prevent implicit conversions when
hive.strict.checks.type.safety is enabled and throw an error.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)