'NaN == NaN' for ZetaSQL DOUBLE type should be false. But it would hit into the Calcite operation simplification block to be simplified 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.
Imported from Jira BEAM-10550. Original Jira may contain additional context.
Reported by: zijiesong.