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

   ## Summary
   
   Complete the core native write/commit path for PyPaimon's existing 
query-authorized REST tables, following current Java writer semantics.
   
   - Treat `query-auth.enabled` as a read policy instead of requiring SELECT 
permission for INSERT, overwrite, checkpoint commits or truncate.
   - Share publication checks through an internal helper. A guarded table must 
retain its catalog-loaded REST environment and resolved-schema session. Locally 
assembled tables and replaced schemas without that binding remain rejected; 
REST snapshot publication still sends the table UUID and is authorized by the 
server.
   - Keep public read, predicate update and row-ID mutation checks unchanged. 
Cross-partition query-authorized bootstrap remains rejected before accepting 
data; it is outside Python's currently supported writer capabilities.
   - Preserve explicit `TableCommit.abort` behavior. Never delete prepared 
files automatically after a commit failure.
   
   No new public APIs, configuration switches or dependencies are added.
   
   ## Regression coverage
   
   An in-process REST catalog denies every SELECT authorization request but 
accepts normal snapshot publication. Tests cover append, data-evolution append, 
fixed-bucket PK, dynamic-bucket state restoration, postpone fixed-bucket 
writes, stream recovery and callbacks, overwrite, truncate-partitions and 
truncate-table. Physical contents are checked independently; explicit reads 
still fail authorization. A denied REST commit preserves prepared files. 
Additional tests reject supplied schemas that lost their catalog binding.
   
   ## Verification
   
   - Reproduced the original guarded-writer construction failure before the fix.
   - `cargo +1.98.0 test -p paimon --lib --quiet`: **4266 passed, 6 ignored**.
   - `cargo +1.98.0 clippy -p paimon --lib --tests -- -D warnings`: passed.
   - `PYO3_PYTHON=/opt/homebrew/bin/python3.13 cargo +1.98.0 clippy -p 
pypaimon_rust --all-targets -- -D warnings`: passed.
   - Independent review verified the publication/read boundary and explicit 
abort lifecycle.
   - No Python Native extension was rebuilt or installed locally.
   
   Companion PyPaimon changes will enable this existing route, retain guarded 
update fallback, and complete writer API forwarding. Native CI continues to 
build Rust main.
   


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