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

   ## Purpose
   
   PyPaimon's Python scanner already reports partition, bucket and 
file-statistics pruning in `ReadBuilder.explain()`. Native explain currently 
drops those counters even though it returns split and snapshot metadata. This 
change connects explain to the explicit statistics-planning API in Rust core.
   
   Depends on https://github.com/apache/paimon-rust/pull/1140. This PR is draft 
until that API is available on Rust main, which the existing Native CI builds.
   
   ## Changes
   
   - Request the plan and complete counters in one Native pass for explain. 
Ordinary planning continues to call `plan()`.
   - Carry counters through the adapter without rerunning the Python scanner, 
preserving pinned snapshots, incremental windows and captured authorization 
grants.
   - Render Native pruning through the existing explain model. Native does not 
transport Python's partition/bucket identity sets; those bookkeeping fields are 
explicitly unavailable in the Native result.
   - Update Native integration expectations and document the additional 
manifest-reading cost of complete statistics. Explain does not read data files.
   
   Rust owns counter collection, schema-aware statistics filtering, Data 
Evolution projection and LIMIT handling. Python converts the result and 
displays it.
   
   ## Verification
   
   - With Native planning/reading enabled: explain, REST statistics, Native 
planning, authorization, incremental, distribution and Native integration 
tests: 276 passed, 4 skipped, 115 subtests passed.
   - Regression coverage: partition/bucket/file pruning; zero/positive LIMIT; 
empty, pinned and historical snapshots; cross-schema overwrite ADD/DELETE 
entries; Delta/Changelog windows; sparse Data Evolution updates/projection; 
metadata-only operation with hidden data files; captured filters and masking on 
authorized plans.
   - Changed Python files pass repository Flake8 configuration and Python 3.6 
syntax parsing.
   - Companion Rust core scan tests: 134 passed; binding read tests: 151 
passed; formatting and CI's Rust 1.98.0 workspace Clippy passed.
   
   The four integration skips concern optional format capabilities. This PR 
adds no new format support.
   


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