tanmayrauth commented on issue #1091: URL: https://github.com/apache/iceberg-go/issues/1091#issuecomment-4488694665
Good catch, this is a valid bug. The strict evaluator must be conservative when information is missing: for a nullable field, absent null counts means unknown, not zero. Java's StrictMetricsEvaluator handles this by treating a missing nullCounts entry for an optional field as "may contain nulls" (returns ROWS_MIGHT_NOT_MATCH). We should match that behavior. The fix is straightforward, canContainNulls should return true (conservatively assume nulls may exist) when the field is optional and the count is absent. Same applies to canContainNans for float types. Happy to review a PR for this. A regression test as you described (data file with bounds present but no null-count entry for an optional field, asserting strict eval returns false for id > 0) would be ideal. -- 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]
