JingsongLi opened a new pull request, #10668: URL: https://github.com/apache/paimon/pull/10668
Depends on https://github.com/apache/paimon-rust/pull/1180. ## What changes Align existing PyPaimon write/update behavior with current Java and route the supported cases through Native core. - Apply Java append row-kind validation and ignore filters before routing or opening Blob inputs. Preserve generated event and routing fields for Row/Pandas partial write types without converting unwritten payloads. - Enable Native historical row-ID, predicate, shard, DELETE and matched-only MERGE operations. Reuse resolved-schema/captured-snapshot transport, retain empty views and authorization sessions, and normalize the effective authorization boolean. - Fix Python MERGE to use the selected snapshot instead of latest, normalize captured selectors using the existing snapshot-copy helper, and keep the same conflict baseline for predicate and partition deletes. - Resolve commit-time indexed update columns through each prepared file's schema/field IDs, including renamed/readded columns and complete-row metadata. - Add end-to-end write, historical schema, conflict, deletion-vector, empty-view, authorization, changelog and index-policy regressions for both Python and Native modes. No new public API, dependency, version probing or CI workaround. Historical upserts and MERGE with INSERT clauses retain their existing fallback; ordinary Native historical write/commit protection remains in place. ## Verification - Focused write/schema/index/commit regression group: **273 passed, 139 skipped**, plus 16 subtests. - Historical/update/MERGE/chunked regression group: **211 passed, 36 skipped**, plus 30 subtests. - Authorization regression file: **112 passed, 110 skipped**. - Flake8, Python 3.6 syntax for all changed Python files, diff checks. Native Python integration cases were not run against the stale installed extension. No extension was rebuilt or installed; the companion Rust Core/binding test executables passed. Native CI continues to build Rust main, so this PR stays draft until the Rust dependency lands. -- 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]
