JingsongLi opened a new pull request, #1157: URL: https://github.com/apache/paimon-rust/pull/1157
### Purpose Complete the native read path for REST table views and plans already supported by PyPaimon, while retaining current Java authorization semantics. This also lets Python writer restores use core planning rather than a separate Python manifest scan. ### Brief change log - Bind REST authorization to the current catalog identity/rule schema and the actual historical or branch read schema. Match fields by ID and name, provide missing current rule operands through schema evolution, and allow statistics retained for dropped columns as Java does. - Preserve serialized query-authorization metadata without treating it as a live grant. Add core `TableRead::authorize_splits` to request fresh authorization and validate transported snapshot files, deletion vectors, bucket layouts and logical merge groups before reading. Incompatible captured restrictions are rejected for replanning. - Validate only the projected and authorization-dependent column files for data-evolution reads, while rejecting missing merge inputs, duplicate files and altered deletion vectors. - Add `TableScan::plan_for_write` with whole-table unrestricted authorization and the complete file inventory, including L0 and all data-evolution column files regardless of read projection. - Carry an already resolved local path mapping through FileIO and REST table construction without requesting unused cloud credentials. Preserve original URI identity and captured snapshots. - Expose the core operations through thin Python bindings and update type stubs. ### Tests - `cargo +1.98.0 test -p paimon --lib --no-default-features --features storage-memory,storage-fs`: **4222 passed, 6 ignored**. - `cargo +1.98.0 test -p paimon --test rest_catalog_test`: **153 passed**. - `cargo +1.98.0 clippy -p paimon -p pypaimon_rust --lib --tests -- -D warnings`: passed. - `cargo +1.98.0 fmt --all -- --check`: passed. Regression coverage includes historical and branch grants, live reauthorization, transported metadata and provenance, policy conjunct ordering, projected data-evolution reads, full writer inventories, and mounted FileIO read/write/list behavior. ### API and Format Adds core writer planning, transported-split authorization, resolved FileIO construction/copying and the corresponding Python bridge APIs. Existing Java QueryAuthSplit wire layout is preserved; no storage-format change. ### Documentation The companion PyPaimon PR documents the Native capabilities and retains Python execution for arbitrary providers or incompatible captured restrictions. -- 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]
