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

   ## Purpose
   
   Use Native for the row-level update APIs that PyPaimon already supports on 
query-authorized REST tables. The server must grant unrestricted whole-table 
access; row filters, column masks and denials must reject a physical mutation.
   
   ## Changes
   
   - Route standard REST-authorized row-ID, predicate/callable, 
grouped/incremental, upsert, delete, shard and MERGE operations through Rust 
core. Custom Python authorization environments retain their existing route.
   - Remove obsolete Native MERGE source restrictions for historical snapshots, 
captured views and loaded branches. Preserve the source's own table identity, 
selected snapshot and independent authorization.
   - Fix two pure-Python shortcuts that skipped the whole-table authorization 
check: partition-only DELETE and insert-only MERGE into an empty target. Check 
permission before callbacks or staging.
   - Add a shared Pure/Native REST regression matrix covering batch and stream 
APIs, independent source/target grants, denial/filter/mask, no fallback, no 
staged files on denial, snapshot/branch isolation, deletion vectors and BLOB 
reference preservation.
   - Document the supported authorization boundary. Public APIs are unchanged; 
authorization and mutation execution stay in Rust core for Native operations.
   
   ## Dependency
   
   Depends on https://github.com/apache/paimon-rust/pull/1169. This PR is a 
draft until that change lands. Native CI continues to build Rust main; there is 
no compatibility fallback or CI branch override.
   
   ## Verification
   
   - Focused six-suite Python run: 320 passed, 134 skipped, 26 subtests passed.
   - The skipped cases require the Native extension, which is not installed in 
the Python runtime used for this local run. Native execution of the new cases 
is deferred to CI after the Rust dependency merges.
   - Flake8 on all changed Python files and `git diff --check`: passed.
   - No Native extension was rebuilt or installed locally.
   
   Rust core behavior is independently covered by its full unit suite and real 
REST mutation regression tests.
   


-- 
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