JingsongLi opened a new pull request, #1085: URL: https://github.com/apache/paimon-rust/pull/1085
### Purpose Align native REST BLOB view dependency reads with Java and existing PyPaimon behavior. PyPaimon already supplies `X-Paimon-Read-Via` and uses the referenced table's FileIO. Rust currently omits that header and resolves payloads with the downstream FileIO, so reads can fail under dependency permissions or table-scoped data tokens. The Python regression reproduces the difference against a REST service requiring the outermost table identity: classic direct and nested view reads succeed, while the original native reads fail with 403. ### Brief change log - Create a dependency REST environment carrying the encoded outermost identifier; retain existing Read-Via, merged catalog options, signing headers, and shared caches without changing ordinary requests. - Retain each referenced table's refreshable FileIO and resolve its view payloads with that FileIO. - Group referenced fields and row ranges by upstream table and scan them together, matching Java's field-ID lookup. - Keep authorization and row selection ahead of dependency resolution. Preserve NULL, descriptor output, and payload bytes that themselves resemble a serialized descriptor. ### Tests - Rust focused suites: 82 data-evolution reader tests, 29 table-read tests, 4 REST environment tests, and 104 REST catalog integration tests passed. - REST regression requires Read-Via and covers limits, partial files, authorization, predicate-only fields, and descriptor-shaped payloads. - Separate FileIO regression resolves the same URI through two distinct upstream backends, including NULL and descriptor-only output. - `cargo fmt --all -- --check` and Rust 1.98.0 workspace Clippy with `fulltext,vortex` and `-D warnings` passed. - Built the Python extension and ran nine PyPaimon suites with all five Native flags: 983 passed, including REST tokens and native MERGE sources. The paired Python regression PR will be linked separately. ### API and Format Adds the REST header-name constant. No table/binding API or storage-format changes. ### Documentation Existing REST BLOB view behavior is corrected; no new option or Python capability is introduced. -- 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]
