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

   ### Purpose
   
   Python upsert currently scans every row in a target partition because only 
the partition predicate reaches the scanner. Push safe per-column key 
candidates into planning so existing BTree indexes can narrow the row IDs read, 
while retaining exact composite-key matching.
   
   Use full scalar-index search for mutation lookups so rows appended after 
index creation are still matched. Keep scan fallback for floating-point keys 
and unsafe literal conversions to preserve existing key equality.
   
   ### Tests
   
   - Added real BTree regression tests: a lookup that previously read 131 rows 
now reads only the five matching rows; an indexed miss reads no data.
   - Covered partial/missing/disabled indexes, Arrow and row APIs, duplicate 
targets, partial updates, NULL/composite keys, partitions, deletion vectors, 
decimal/temporal keys, and unsafe/signed-zero fallback.
   - Focused Python suites: 99 passed, 155 subtests passed.
   - Flake8 on changed Python files and `git diff --check` passed.
   


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