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]
