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]
