pub fn read_file_updates<'_async0>(
table: Table,
delete_reader: &'_async0 mut PositionDeleteReader,
task: FileScanTask,
mode: IcebergUpdateReadMode,
chunk_size: usize,
resume_position: u64,
) -> Pin<Box<dyn Stream<Item = Result<IcebergUpdateBatch, ConnectorError>> + Send + '_async0>>Expand description
Read one whole immutable file with bounded row batches. SDK _pos is used internally and
removed before creating logical chunks. No shredded-VARIANT-to-NULL fallback is allowed here.
Resume rereads from the beginning; seeking is an optimization, not part of the cursor contract.
The caller supplies a reader for this table’s FileIO and controls its cache lifetime. Sequential
tasks can reuse it after dropping the returned stream; parallel tasks need separate readers.