| 47 | /// - Row range selection |
| 48 | #[async_trait] |
| 49 | pub(crate) trait FormatFileReader: Send + Sync { |
| 50 | /// Read a single data file, returning a stream of RecordBatches |
| 51 | /// containing only the projected columns (using names from the file's schema). |
| 52 | /// |
| 53 | /// `row_selection` is a pre-merged list of 0-based inclusive row ranges |
| 54 | /// (DV + row_ranges already combined by the caller). |
| 55 | async fn read_batch_stream( |
| 56 | &self, |
| 57 | reader: Box<dyn FileRead>, |
| 58 | file_size: u64, |
| 59 | read_fields: &[DataField], |
| 60 | predicates: Option<&FilePredicates>, |
| 61 | batch_size: Option<usize>, |
| 62 | row_selection: Option<Vec<RowRange>>, |
| 63 | ) -> crate::Result<ArrowRecordBatchStream>; |
| 64 | } |
| 65 | |
| 66 | /// Format-agnostic file writer that streams Arrow RecordBatches directly to storage. |
| 67 | /// |
nothing calls this directly
no outgoing calls
no test coverage detected