JingsongLi opened a new pull request, #10764: URL: https://github.com/apache/paimon/pull/10764
## Summary - Adapt normalized PyPaimon MERGE branches to SDK `WhenMatched`/`WhenNotMatched` and `MergeAssignment` objects for both existing table MERGE and distributed batch execution. - Use the named `for_updates`, `for_deletes`, and `for_inserts` factories. Restore requested deletion schema metadata at the Arrow boundary. - Preserve public PyPaimon MERGE APIs/types, ordered conditions, ON-key aliases, callable views, source handling, serialization and backend isolation. - Replace test dictionary transport expectations with typed SDK doubles and cover batch/stream table MERGE, mixed actions, all assignment forms and deletion schemas. No public PyPaimon API or dependency changes. Native execution remains a thin adapter and has no Python executor dependency. No version probes or old protocol compatibility paths are added. ## Verification - 105 focused protocol, public MERGE, metadata and execution-boundary tests passed; 16 Native cases skipped in the regular Python environment. - Arrow 16 compatibility: 35 passed, 1 skipped. - 156 real SDK/PyPaimon Native integration cases passed against the companion Rust implementation inside a Cargo PyO3 test executable, including the skipped MERGE/source-metadata cases and real batch execution adapters. No Native extension was installed or rebuilt into the Python environment; the temporary cross-repository runner is not committed. - Scoped flake8 and diff checks passed. Independent cross-review found no remaining actionable regressions. ## Dependency Depends on apache/paimon-rust#1204. This PR remains draft until that API reaches Rust main. Native CI continues to build main. -- 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]
