QuakeWang opened a new pull request, #8059: URL: https://github.com/apache/paimon/pull/8059
### Purpose Daft predicate conversion previously treated every `NOT` expression as unsupported, so filters such as `NOT (col == lit)`, `NOT col.is_in(...)`, and `NOT col.is_null()` stayed above the datasource even though pypaimon already has matching predicate types. This change adds a narrow leaf-only rewrite for supported `NOT` predicates: - `NOT equal` -> `notEqual` - `NOT in` -> `notIn` - `NOT between` -> `notBetween` - `NOT isNull` -> `isNotNull` - `NOT isNotNull` -> `isNull` It intentionally does not add De Morgan rewrites for compound expressions. The change also fixes `notIn` Arrow evaluation to exclude null values. Without this, fallback datasource tasks could return null rows for pushed `NOT IN` filters, and pushed limits could then truncate valid rows. ### Tests - `pytest paimon-python/pypaimon/tests/daft -q` - `pytest paimon-python/pypaimon/tests/predicates_test.py -q` -- 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]
