This is an automated email from the ASF dual-hosted git repository.
findepi 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 a83237f3a9 Fix equality of parametrizable ArrayAgg function (#17065)
a83237f3a9 is described below
commit a83237f3a9d3c8e126c2f93696e6d58b7bdafc0b
Author: Piotr Findeisen <[email protected]>
AuthorDate: Thu Aug 7 22:25:33 2025 +0200
Fix equality of parametrizable ArrayAgg function (#17065)
The `ArrayAgg` struct is stateful, therefore it must implement
`AggregateUDFImpl::equals` and `hash_value` functions.
---
datafusion/functions-aggregate/src/array_agg.rs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/datafusion/functions-aggregate/src/array_agg.rs
b/datafusion/functions-aggregate/src/array_agg.rs
index 3ada331040..3d195738f8 100644
--- a/datafusion/functions-aggregate/src/array_agg.rs
+++ b/datafusion/functions-aggregate/src/array_agg.rs
@@ -36,7 +36,7 @@ use datafusion_common::{exec_err, internal_err, Result,
ScalarValue};
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
use datafusion_expr::utils::format_state_name;
use datafusion_expr::{
- Accumulator, AggregateUDFImpl, Documentation, Signature, Volatility,
+ udf_equals_hash, Accumulator, AggregateUDFImpl, Documentation, Signature,
Volatility,
};
use datafusion_functions_aggregate_common::merge_arrays::merge_ordered_arrays;
use datafusion_functions_aggregate_common::order::AggregateOrderSensitivity;
@@ -75,7 +75,7 @@ This aggregation function can only mix DISTINCT and ORDER BY
if the ordering exp
"#,
standard_argument(name = "expression",)
)]
-#[derive(Debug)]
+#[derive(Debug, PartialEq, Eq, Hash)]
/// ARRAY_AGG aggregate expression
pub struct ArrayAgg {
signature: Signature,
@@ -227,6 +227,8 @@ impl AggregateUDFImpl for ArrayAgg {
fn documentation(&self) -> Option<&Documentation> {
self.doc()
}
+
+ udf_equals_hash!(AggregateUDFImpl);
}
#[derive(Debug)]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]