Generate the next RecordBatch.
(&mut self)
| 91 | |
| 92 | /// Generate the next RecordBatch. |
| 93 | fn generate_next_batch(&mut self) -> datafusion_common::Result<Option<RecordBatch>> { |
| 94 | self.poll_count += 1; |
| 95 | |
| 96 | let mut builder = Int64Array::builder(self.batch_size); |
| 97 | for _ in 0..self.batch_size { |
| 98 | match self.value_range.next() { |
| 99 | None => break, |
| 100 | Some(v) => builder.append_value(v), |
| 101 | } |
| 102 | } |
| 103 | let array = builder.finish(); |
| 104 | |
| 105 | if array.is_empty() { |
| 106 | return Ok(None); |
| 107 | } |
| 108 | |
| 109 | let batch = |
| 110 | RecordBatch::try_new(Arc::clone(&self.schema), vec![Arc::new(array)])?; |
| 111 | Ok(Some(batch)) |
| 112 | } |
| 113 | |
| 114 | fn reset_state(&self) -> Arc<RwLock<dyn LazyBatchGenerator>> { |
| 115 | let mut new = self.clone(); |
nothing calls this directly
no test coverage detected