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]

Reply via email to