comphead commented on code in PR #14815:
URL: https://github.com/apache/datafusion/pull/14815#discussion_r1966358685
##########
datafusion-cli/src/exec.rs:
##########
@@ -269,6 +269,11 @@ pub(super) async fn exec_and_print(
reservation.try_grow(get_record_batch_memory_size(&batch))?;
results.push(batch);
}
+ } else if let MaxRows::Unlimited = print_options.maxrows {
Review Comment:
That is a good catch, wondering to avoid code duplication would it be better
to
```
let max_rows = match print_options.maxrows {
MaxRows::Unlimited => usize::MAX,
MaxRows::Limited(n) => n
};
while let Some(batch) = stream.next().await {
let batch = batch?;
let curr_num_rows = batch.num_rows();
if row_count < max_rows + curr_num_rows {
// Try to grow the reservation to accommodate the
batch in memory
reservation.try_grow(get_record_batch_memory_size(&batch))?;
results.push(batch);
}
row_count += curr_num_rows;
}
```
so we also remove unnecessary branch and literal evaulation every batch
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]