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

   ### Purpose
   
   Keep read planning and execution within the selected backend while 
preserving the public read API.
   
   - Resolve streaming planning preference through the same rule as batch 
scans. `read.native.enabled=true` now selects Rust streaming planning even when 
`scan.native-plan.enabled` is false.
   - Delegate `incremental-between-timestamp` directly to Rust Core. Previously 
Python resolved snapshot IDs eagerly, and empty windows returned before Rust 
query authorization. Core already authorizes and resolves timestamp windows in 
the proper order, including AUTO changelog selection.
   - Keep public scan-option validation free of snapshot I/O. The Python 
planner resolves its own snapshot range lazily when its scanner is actually 
selected.
   - Remove 16 private Python execution forwarding methods from `TableRead`. 
Python execution calls its own helpers directly; shared configuration and 
output adapters stay outside execution. Update the corresponding test hooks and 
Native fallback guards to target the executor.
   - Add regressions for Native-read-only streaming selection, timestamp 
delegation, deferred snapshot selection, and denied empty-window REST reads 
across plan, plan_all_files and scan_with_stats.
   
   The required Rust Core capabilities are already on main; this PR requires no 
new Rust API or SDK compatibility checks. Explicit Python scanner access, 
Python streaming class construction and preparation fallback remain available.
   
   ### Tests
   
   - All affected Python test modules: **1300 passed, 3812 skipped**. Native 
extension dependent cases are skipped locally; the existing Native CI builds 
Rust main and runs them.
   - PyArrow 16 focused planning/read/auth/lifecycle suites: **229 passed, 30 
skipped**.
   - Rust 1.98.0: `cargo +1.98.0 test --locked -p paimon --test 
incremental_timestamp_scan_test --test incremental_changelog_batch_test`: **14 
passed**.
   - Changed-file Flake8 using repository configuration, Python 3.6 grammar 
checks and `git diff --check`: passed.
   - No Native extension was rebuilt or installed locally.
   


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