kevinjqliu opened a new pull request, #3817: URL: https://github.com/apache/iceberg-python/pull/3817
Closes #3498 # Rationale for this change `ResidualVisitor` directly compares partition values with literals for `<`, `<=`, `>`, and `>=`. A nullable identity partition with a `None` value therefore raises `TypeError` during residual evaluation. This change handles null partition values using the same nulls-first ordering as Apache Iceberg Java residual evaluation: - `null < literal` and `null <= literal` evaluate to true. - `null > literal` and `null >= literal` evaluate to false. This supersedes the closed #3520 and preserves its original author commit. The overlapping `NotNaN` fix has already landed in #3689, so this PR is limited to the remaining comparison issue. # Are these changes tested? Yes. A regression test covers all four comparison operators for a null identity-partition value. Validation: ```text pytest -q tests/expressions 573 passed ``` Ruff, mypy, commit hooks, and `git diff --check` also pass. # Are there any user-facing changes? Yes. Scan planning no longer raises `TypeError` for these nullable identity partitions, and residual results match Java null ordering. -- 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]
