You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Jesus Camacho Rodriguez (Jira)" <ji...@apache.org> on 2021/01/14 04:28:00 UTC
[jira] [Created] (CALCITE-4467) Incorrect simplification for 'NaN'
value
Jesus Camacho Rodriguez created CALCITE-4467:
------------------------------------------------
Summary: Incorrect simplification for 'NaN' value
Key: CALCITE-4467
URL: https://issues.apache.org/jira/browse/CALCITE-4467
Project: Calcite
Issue Type: Bug
Components: core
Reporter: Jesus Camacho Rodriguez
Assignee: Jesus Camacho Rodriguez
{{RexSimplify}} simplifies {{x = x}} to {{null or x is not null}} (similarly <= and >=), and {{x != x}} to {{null and x is null}} (similarly < and >).
https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rex/RexSimplify.java#L363
This may not be applicable in some cases. For instance, if the type of x is floating-point, x could be 'NaN'. While some RDBMS consider 'NaN' = 'NaN' (e.g., Postgres), some others consider 'NaN' != 'NaN' following the IEEE 754 standard. For the latest, the rewriting above will result in incorrect results.
I think we should simply ignore this simplification for floating-point type.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)