Stephen0421 commented on PR #9148: URL: https://github.com/apache/paimon/pull/9148#issuecomment-5314779123
> When `blob-as-descriptor=true` is enabled for a cross-table BLOB view, the source table's `FileIO/token` is lost; subsequent calls to `get_blob().to_data()` attempt to read the source table's `.blob` using the target table's token, which fails under REST Catalog table-level permissions. Agreed. When `blob-as-descriptor=true`, Stage 1 rewrote BlobView structs to source descriptor bytes and dropped the upstream FileIO, so `get_blob().to_data()` used the target table token. Prescan now indexes each descriptor URI through `UriReaderFactory.from_file_io` on the upstream table (HTTP(S) stays on `HttpUriReader`; other URIs reuse the source FileIO). `OffsetRow.get_blob()` prefers that reader. The convert reader exposes `blob_view_lookup` after prescan, and the row↔batch / filter / limit / outer-projection wrappers refresh it after the first read (lookup is filled during prescan, after wrap `__init__`). Added a cross-table regression that fails if the target FileIO opens the source `.blob`. -- 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]
