MCPcopy Create free account
hub / github.com/apache/datafusion / generate_next_batch

Method generate_next_batch

datafusion/core/tests/execution/coop.rs:93–112  ·  view source on GitHub ↗

Generate the next RecordBatch.

(&mut self)

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 4

nextMethod · 0.45
append_valueMethod · 0.45
finishMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected