JingsongLi opened a new pull request, #9854: URL: https://github.com/apache/paimon/pull/9854
### Purpose Strengthen native-plan coverage for dynamic primary-key and first-row tables after #9846. - Check the actual cross-partition migration events in incremental reads, including old/new partition predicates. Java writes a DELETE in the old partition with the incoming non-partition values; comparing snapshot rows alone did not catch Rust's UPDATE_BEFORE emission. - Exercise non-empty first-row reads from compacted runs at different levels with overlapping key ranges and disjoint keys. Check fixed/dynamic bucket modes, skipped pending L0 rows, value filters and historical snapshots. The native path must execute without silently falling back to Python. - Update the remaining first-row L0 fallback comment: Rust now supports ordinary first-row overlap merging, but PK-clustering files sorted by non-key columns still need separate read-path coverage. Depends on https://github.com/apache/paimon-rust/pull/845. Keep this PR in draft until that change reaches Rust main: the native CI job intentionally continues to build Rust main, and the new migration assertion detects its current row-kind bug. ### Tests Built the Python binding from paimon-rust commit `c48317e6` and ran all seven native-plan test modules, `split_serializer_test.py` and `global_index_test.py`: **196 passed**, **276 native plans exercised**. Flake8 passed for all changed Python files. The migration regression fails against the previous Rust main, as expected. -- 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]
