QuakeWang opened a new pull request, #7980:
URL: https://github.com/apache/paimon/pull/7980

   ### Purpose
   
   Daft predicate conversion used `None` to represent both unsupported 
expressions and literal values. As a result, comparison pushdown could treat 
unsupported expressions as literals, for example converting a cast expression 
into `id = None`.
   
   String predicates also called `str(...)` on visited arguments, so column or 
unsupported arguments could be pushed as literal strings. This could mark 
filters as pushed and remove them from Daft remaining filters, changing query 
semantics.
   
   This patch adds explicit internal markers for literals and unsupported 
expressions. Predicates are only pushed when the non-column side is a real 
scalar literal, and string predicates now require real string literals. 
Unsupported or mixed expressions stay in Daft remaining filters.
   
     ### Tests
   
     - `python -m pytest paimon-python/pypaimon/tests/daft/daft_data_test.py -k 
'FilterPushdown'`
     - `python -m pytest paimon-python/pypaimon/tests/daft/daft_data_test.py`


-- 
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]

Reply via email to