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]

Reply via email to