This is an automated email from the ASF dual-hosted git repository.
jayzhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new a515dec72c Minor: Remove clone in `transform_to_states` (#12707)
a515dec72c is described below
commit a515dec72cf9e175a1533d7f7969e8b91cc2a05b
Author: Jay Zhan <[email protected]>
AuthorDate: Wed Oct 2 19:31:08 2024 +0800
Minor: Remove clone in `transform_to_states` (#12707)
* rm clone
Signed-off-by: jayzhan211 <[email protected]>
* fmt
Signed-off-by: jayzhan211 <[email protected]>
---------
Signed-off-by: jayzhan211 <[email protected]>
---
datafusion/physical-plan/src/aggregates/row_hash.rs | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/datafusion/physical-plan/src/aggregates/row_hash.rs
b/datafusion/physical-plan/src/aggregates/row_hash.rs
index a043905765..998f6184f3 100644
--- a/datafusion/physical-plan/src/aggregates/row_hash.rs
+++ b/datafusion/physical-plan/src/aggregates/row_hash.rs
@@ -38,7 +38,7 @@ use crate::{RecordBatchStream, SendableRecordBatchStream};
use arrow::array::*;
use arrow::datatypes::SchemaRef;
use arrow_schema::SortOptions;
-use datafusion_common::{internal_datafusion_err, DataFusionError, Result};
+use datafusion_common::{internal_err, DataFusionError, Result};
use datafusion_execution::disk_manager::RefCountedTempFile;
use datafusion_execution::memory_pool::proxy::VecAllocExt;
use datafusion_execution::memory_pool::{MemoryConsumer, MemoryReservation};
@@ -1081,13 +1081,14 @@ impl GroupedHashAggregateStream {
/// Transforms input batch to intermediate aggregate state, without
grouping it
fn transform_to_states(&self, batch: RecordBatch) -> Result<RecordBatch> {
- let group_values = evaluate_group_by(&self.group_by, &batch)?;
+ let mut group_values = evaluate_group_by(&self.group_by, &batch)?;
let input_values = evaluate_many(&self.aggregate_arguments, &batch)?;
let filter_values = evaluate_optional(&self.filter_expressions,
&batch)?;
- let mut output = group_values.first().cloned().ok_or_else(|| {
- internal_datafusion_err!("group_values expected to have at least
one element")
- })?;
+ if group_values.len() != 1 {
+ return internal_err!("group_values expected to have single
element");
+ }
+ let mut output = group_values.swap_remove(0);
let iter = self
.accumulators
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]