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]
