ptimizeroracle commented on code in PR #3921:
URL: https://github.com/apache/iceberg-python/pull/3921#discussion_r3952414331
##########
tests/expressions/test_evaluator.py:
##########
@@ -1358,6 +1358,31 @@ def
test_strict_not_equal_and_not_in_with_mixed_nans_and_matching_bounds(field_t
assert should_read == ROWS_MIGHT_NOT_MATCH, "Should not match: bounds
prove the non-NaN value is 5.0"
[email protected]("field_type", [FloatType(), DoubleType()])
+def test_strict_not_in_with_nan_upper_bound(field_type: PrimitiveType) -> None:
+ schema = Schema(NestedField(1, "x", field_type, required=False))
+ # Column contains {1.0, NaN}: min is 1.0, max is NaN (NaN sorts greatest).
+ # No NaN stats are present, but the row 1.0 is in the literal set, so the
+ # file cannot be proven to fully match NotIn.
Review Comment:
Right, that sentence was misleading: the fixture does set
`nan_value_counts={1: 1}`. Reworded in d32ce80 to state the actual point: the
non-NaN row is in the literal set, so NotIn cannot be proven even though the
NaN count is known.
--
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]