[
https://issues.apache.org/jira/browse/BEAM-10550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zijie Song updated BEAM-10550:
------------------------------
Description:
'NaN == NaN' for ZetaSQL DOUBLE type should be false. But it would hit into the
Calcite operation simplification block to be 'implified to 'null or NaN is not
null' in Calcite. This would miscalculate the expression to be true.
Currently, we add an additional random parameter for the wrapper function of
NaN, to avoid
triggering Calcite operation simplification. But it is only a temporary
solution.
Once the Calcite version updated, we should replace this method by overriding
isDeterministic() for RexNode to make it false.
> Update solution for ZetaSQL DOUBLE NaN equals checks.
> -----------------------------------------------------
>
> Key: BEAM-10550
> URL: https://issues.apache.org/jira/browse/BEAM-10550
> Project: Beam
> Issue Type: Improvement
> Components: dsl-sql-zetasql
> Reporter: Zijie Song
> Assignee: Zijie Song
> Priority: P2
>
> 'NaN == NaN' for ZetaSQL DOUBLE type should be false. But it would hit into
> the Calcite operation simplification block to be 'implified to 'null or NaN
> is not null' in Calcite. This would miscalculate the expression to be true.
> Currently, we add an additional random parameter for the wrapper function of
> NaN, to avoid
> triggering Calcite operation simplification. But it is only a temporary
> solution.
> Once the Calcite version updated, we should replace this method by overriding
> isDeterministic() for RexNode to make it false.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)