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]
