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

   ### Purpose
   
   PyPaimon's existing distributed row-ID read, update and delete paths still 
perform range lookup and deletion grouping in Python. Extend the existing 
captured `RowIdPlan` so Native execution can delegate those operations to Core 
while Ray retains scheduling.
   
   ### Changes
   
   - Add `RowIdPlan::route` for input-order normal-anchor routing, 
`route_by_bucket` for one deletion writer per partition/bucket, and `select` 
for read-only row selections.
   - Reuse validated complete file groups and binary search their inclusive 
bounds. Preserve duplicates during routing; reject null, negative, foreign and 
gap IDs.
   - Keep all normal, partial-column and dedicated files, aligned deletion 
metadata, exact paths, live authorization and captured snapshot when selecting 
rows. Deduplicate and merge absolute row-ID ranges only for reading. Selected 
plans remain invalid mutation baselines.
   - Keep routing independent of I/O, authorization and row-liveness checks. 
Readers and mutation workers retain their existing checks. The normal-anchor 
and per-bucket deletion-index boundaries follow the current Java semantics.
   - Expose thin Arrow Python SDK methods and document the dedicated API. No 
Table or WriteBuilder factory, storage-format change or dependency is added.
   
   ### Verification
   
   - Ten Core plan/update/delete tests passed, including range gaps, sliced and 
duplicate input, `i64::MAX`, partition/bucket grouping, empty plans, 
Blob/partial files, deletion metadata, paths, grants, snapshot and statistics.
   - The SDK Arrow routing/selection test passed, including invalid input and 
mutation-plan rejection.
   - Current-SDK/PyPaimon integration: **295 passed** through a Cargo test 
executable, including captured-plan serialization, actual Native 
read/update/delete callbacks and existing bucket execution. No extension was 
installed or rebuilt for the Python tests.
   - Rust 1.98.0 workspace Clippy, all targets, fulltext/vortex: passed with 
`-D warnings`; formatting and diff checks 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