mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-05 21:02:58 +00:00
chore: avoid unnecessary cloning (#3537)
This commit is contained in:
@@ -255,20 +255,18 @@ impl Stream for SeriesDivideStream {
|
||||
|
||||
fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
|
||||
loop {
|
||||
if let Some(batch) = self.buffer.clone() {
|
||||
if let Some(batch) = self.buffer.take() {
|
||||
let same_length = self.find_first_diff_row(&batch) + 1;
|
||||
if same_length >= batch.num_rows() {
|
||||
let next_batch = match ready!(self.as_mut().fetch_next_batch(cx)) {
|
||||
Some(Ok(batch)) => batch,
|
||||
Some(Ok(next_batch)) => next_batch,
|
||||
None => {
|
||||
self.buffer = None;
|
||||
self.num_series += 1;
|
||||
return Poll::Ready(Some(Ok(batch)));
|
||||
}
|
||||
error => return Poll::Ready(error),
|
||||
};
|
||||
let new_batch =
|
||||
compute::concat_batches(&batch.schema(), &[batch.clone(), next_batch])?;
|
||||
let new_batch = compute::concat_batches(&batch.schema(), &[batch, next_batch])?;
|
||||
self.buffer = Some(new_batch);
|
||||
continue;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user