You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@paimon.apache.org by "JingsongLi (via GitHub)" <gi...@apache.org> on 2026/10/22 06:36:51 UTC

[PR] [core] Support authorized raw file planning for native scans [paimon-rust]

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

   ### Purpose
   
   Allow PyPaimon's existing file-scanner API to use Rust Core rather than constructing a Python executor. Preserve the separation between raw manifest metadata and query results.
   
   ### Brief change log
   
   - Add `TableScan::plan_files` and `FileScanPlan` for complete manifest entries and the selected snapshot ID. File metadata planning precedes projection, LIMIT, row selection, global-index refinement and split distribution.
   - Use the existing snapshot/time-travel selection and share incremental AUTO event-source selection with row planning. Keep merged ADD/DELETE entries, historical schema statistics, data-evolution column files and Blob metadata.
   - Authorize all columns before reading metadata, require an unrestricted whole-table grant and recheck REST table identity after planning, including empty results.
   - Add independent level-zero and pending-bucket policies for the existing Python scanner controls. Unconfigured queries retain their current defaults. Explicit L0 reads keep overlapping primary-key versions together through split packing and sharding.
   - Expose typed file plans and existing `ManifestEntry` values through the Python bindings. No custom Python manifest-source or follow-up-scanner callback is added.
   
   ### Tests
   
   - Rust 1.98.0 targeted runtime tests: **16 passed, 0 failed**.
     - Core raw file metadata planning: 3 passed.
     - Explicit L0 key merging and sharding for FirstRow and deletion-vector deduplication, including pending buckets: 1 passed.
     - Incremental timestamp scans: 7 passed.
     - REST raw file planning and writer authorization: 4 passed.
     - Python binding typed metadata transport and independent policies: 1 passed.
   - `cargo +1.98.0 clippy --locked --all-targets --workspace --features fulltext,vortex -- -D warnings`: passed.
   - `cargo +1.98.0 fmt --all -- --check` and `git diff --check`: passed.
   - No Native Python extension was built or installed for these tests.
   
   ### API and Format
   
   Adds `TableScan::plan_files`, `TableScan::with_file_filters`, `FileScanPlan` and corresponding Python bindings. No storage-format change or new configuration option.
   
   ### Documentation
   
   Rust API documentation and Python type stubs describe the file-planning and authorization boundary. PyPaimon's integration is in https://github.com/apache/paimon/pull/10742.
   


-- 
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: issues-unsubscribe@paimon.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [core] Support authorized raw file planning for native scans [paimon-rust]

Posted by "JingsongLi (via GitHub)" <gi...@apache.org>.
JingsongLi merged PR #1197:
URL: https://github.com/apache/paimon-rust/pull/1197


-- 
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: issues-unsubscribe@paimon.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org