XiaoHongbo-Hope opened a new pull request, #9144:
URL: https://github.com/apache/paimon/pull/9144

   ## Purpose
   
   Keep native scan planning enabled when a read applies dynamic options which 
are not individually enumerated by PyPaimon.
   
   `query.read_blobs()` copies the table with `blob-as-descriptor=true`. The 
native capability gate treated this read-only option as unsupported and 
silently fell back to Python planning, even though it does not affect split 
planning.
   
   ## Changes
   
   - forward all non-null `FileStoreTable.copy()` options to the Rust read 
builder
   - rely on the Rust read-option validation and the existing safe Python 
fallback for unsupported scan options
   - keep dynamic option removals conservative because a Rust table reloaded 
from the catalog cannot generally remove a persisted option
   - preserve the existing normalized handling for split sizing and timestamp 
time travel
   - cover `blob-as-descriptor` with unit and native integration tests, 
including descriptor decoding
   
   ## Tests
   
   - `native_plan_test.py` and `native_plan_integration_test.py`: 51 passed, 12 
subtests passed
   - multimodal `read_blobs` / `stream_blobs` tests: 6 passed
   - flake8 on changed files
   - compileall
   - `git diff --check`
   - OSS-backed Data Evolution BLOB table: native planning remained enabled 
with a dynamic Blob descriptor read, returned the expected row, and planned one 
split at the pinned snapshot
   


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