Revanth14 opened a new issue, #2359: URL: https://github.com/apache/iceberg-go/issues/2359
### Feature Request / Improvement ## Problem `ExpressionEvaluator` compares floating-point values with `cmp.Compare`, which orders NaN below every number, so it evaluates `x < 5` as true and `NOT(x < 5)` as false for NaN. The Arrow row filter follows IEEE 754, where every ordering comparison with NaN is false. Scans aren't affected today, since partition residuals keep the row filter for NaN values, but callers of the exported evaluator get a different answer from a scan with the same filter. ## Proposal Make ordering comparisons on a NaN value false in `ExpressionEvaluator`, matching the row filter and `RewriteNotExpr` after #2355. ## Context Raised in #2355. Java's `Evaluator` orders NaN above every number, so it doesn't settle this either. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
