sentomk opened a new pull request, #686: URL: https://github.com/apache/iceberg-cpp/pull/686
## Summary - Fix `StrictMetricsEvaluator::CanContainNulls` to return `true` (conservative) when a field is absent from a non-empty `null_value_counts` map, and `false` for required fields per schema - Fix `StrictMetricsEvaluator::CanContainNaNs` to return `true` (conservative) when a field is absent from a non-empty `nan_value_counts` map, and `false` for non-floating-point types - Add regression tests covering the missing-entry scenario Close #685 ## Motivation When `null_value_counts` or `nan_value_counts` is non-empty but does not contain an entry for the queried field, the evaluator incorrectly returned `false`. This caused comparison operators to erroneously return `kRowsMustMatch`, potentially skipping row-level filtering and returning rows that do not satisfy the predicate. ## Test plan - All 40 existing + new StrictMetrics tests pass - pre-commit (clang-format, trailing whitespace, etc.) passes -- 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]
