Stephen0421 opened a new pull request, #10590:
URL: https://github.com/apache/paimon/pull/10590

   ### Purpose
   
   `FormatBlobReader.read_arrow_batch` used to raise `RuntimeError` when it saw 
a BLOB placeholder. A blob bunch with one sequentially optimized file is read 
through this path and skips `BlobFallbackBatchReader`, so a table whose BLOB 
column was updated by `MERGE INTO` or `table_update_by_row_id` could fail on 
read.
   
   A placeholder has no payload in that file, and there is no older file in the 
bunch to fall back to. Materialize scalar, array, map, and video placeholders 
as NULL. This matches `BlobFallbackRecordReader`, which returns a null blob row 
when every sequence group is a placeholder. `read_values_at` still returns the 
`Blob.PLACE_HOLDER` sentinel.
   
   ### Tests
   
   `BlobEndToEndTest` covers scalar payloads, descriptor reads, arrays, maps 
selected by `row_indices`, and a cached index. Each case checks the 
materialized value, and the cached-index case also checks that `read_values_at` 
still returns `Blob.PLACE_HOLDER`.
   
   `VideoFormatTest.test_pack_raw_videos_and_map_frame_runs` checks that a 
video placeholder stays a sentinel in the file index and becomes NULL when the 
cell is materialized.


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