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

   ### Purpose
   
   Allow local `MERGE INTO` to carry vector, ARRAY, MAP and ROW payload 
columns. Inserting into an empty target already worked, but subsequent updates, 
inserts and deletes failed because Arrow's join rejects these non-key types, 
including unused nested source columns in delete operations.
   
   Join only key columns and row indices, then gather the original payload 
columns with Arrow `take`. Internal join names are isolated from user columns. 
The existing coalesced-key schema, clause evaluation and duplicate-match 
validation are retained; join-key type support is unchanged.
   
   ### Tests
   
   - All 29 table-merge tests passed on PyArrow 16.0.0 and 19.0.1, including 
existing batch/stream and self-merge coverage.
   - New real-table regressions cover fixed-size vectors, lists, maps and 
structs; chunked/sliced sources; nested null/empty values; updates, inserts and 
deletes; mapped composite keys and null-key semantics; conditional updates 
using old target payloads; and duplicate-match rejection before a commit.
   - New regressions fail against the original implementation.
   - Python 3.6 syntax, flake8, license headers 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