kevinjqliu opened a new issue, #3497:
URL: https://github.com/apache/iceberg-python/issues/3497
Several `StartsWith` / `NotStartsWith` visitors appear to compare binary
values by converting them with `str(...)`, which gives incorrect byte-prefix
behavior.
Examples:
```text
StartsWith("x", b"a") on b"aa" -> False # expected True
NotStartsWith("x", b"a") on b"aa" -> True # expected False
```
This also affects planning paths:
```text
inclusive metrics for a file containing only b"aa":
StartsWith("x", b"a") -> False # unsafe skip
```
Manifest evaluation for binary `StartsWith` can also raise `TypeError` when
comparing decoded `bytes` bounds to a `str` prefix.
Relevant code: `pyiceberg/expressions/visitors.py` starts-with handling in
expression, manifest, metrics, and residual visitors.
--
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]