Default impl delegating the work to `GetFragmentsImpl` and wrapping it into BackgroundGenerator/TransferredGenerator, which offloads potentially IO-intensive work to the default IO thread pool and then transfers the control back to the specified executor.
| 234 | // IO-intensive work to the default IO thread pool and then transfers the control |
| 235 | // back to the specified executor. |
| 236 | Result<FragmentGenerator> Dataset::GetFragmentsAsyncImpl( |
| 237 | compute::Expression predicate, arrow::internal::Executor* executor) { |
| 238 | ARROW_ASSIGN_OR_RAISE(auto iter, GetFragmentsImpl(std::move(predicate))); |
| 239 | ARROW_ASSIGN_OR_RAISE( |
| 240 | auto background_gen, |
| 241 | MakeBackgroundGenerator(std::move(iter), io::default_io_context().executor())); |
| 242 | auto transferred_gen = MakeTransferredGenerator(std::move(background_gen), executor); |
| 243 | return transferred_gen; |
| 244 | } |
| 245 | |
| 246 | struct VectorRecordBatchGenerator : InMemoryDataset::RecordBatchGenerator { |
| 247 | explicit VectorRecordBatchGenerator(RecordBatchVector batches) |
nothing calls this directly
no test coverage detected