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

   ### Purpose
   
   Cover the existing PyPaimon update APIs with Arrow MAP inputs for 
ARRAY<ROW<key, value>> columns on both Python and Native execution. Python 
already accepts this input, while the current Native core rejects it.
   
   Depends on https://github.com/apache/paimon-rust/pull/1149. Native CI 
continues to build Rust main. This PR stays draft until the core change is 
merged; no fallback or CI dependency pin is introduced.
   
   ### Brief change log
   
   - Add regression coverage for batch/stream row-ID updates, incremental 
updates, predicate array and callable assignments, matched upserts and MERGE 
source-column assignments.
   - Exercise MAP inputs at the root and inside ROW/ARRAY/MAP containers, with 
independent chunk boundaries and nonzero slice offsets.
   - Cover renamed key/value fields, integer widening, text-to-integer, exact 
decimal rescaling, Binary/LargeBinary values, NULLs and empty containers.
   - Assert Python/Native read parity, stable row IDs, preserved untouched 
fields and unchanged committed snapshots on invalid child values.
   - Fail explicitly on unintended Python update/read fallback when Native is 
selected.
   
   No Python matching or conversion implementation is added. The existing thin 
bridge uses the companion core input adapter. No public API, logical schema 
CAST, configuration, dependency or storage format changes.
   
   ### Tests
   
   - The baseline integer/root/row-ID/batch test passed with Python execution 
and failed on the old Native extension with `Unsupported update cast`.
   - All 210 new Python reference cases passed before rebuilding the extension.
   - Built the extension from Rust #1149 before running the Native tests. The 
new cases and existing nested update, selected-value upsert, Blob update and 
MERGE regressions passed with Native plan/read/write/commit enabled: **967 
passed, 2 skipped**.
   - Native counters: 1551 plans, 1855 reads, 600 writes, 147 commits.
   - Flake8 with `dev/cfg.ini` 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