You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by dh...@apache.org on 2023/06/30 09:13:50 UTC

[arrow-datafusion] 01/02: compare hash value

This is an automated email from the ASF dual-hosted git repository.

dheres pushed a commit to branch compare_hashes
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git

commit 2f3aa7296097f8a6c6f3b0d1ef81f1159646acb5
Author: Daniƫl Heres <da...@coralogix.com>
AuthorDate: Thu Jun 29 20:43:56 2023 +0200

    compare hash value
---
 datafusion/core/src/physical_plan/aggregates/row_hash.rs | 5 +++--
 testing                                                  | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/datafusion/core/src/physical_plan/aggregates/row_hash.rs b/datafusion/core/src/physical_plan/aggregates/row_hash.rs
index ba02bc096b..2cb343c03a 100644
--- a/datafusion/core/src/physical_plan/aggregates/row_hash.rs
+++ b/datafusion/core/src/physical_plan/aggregates/row_hash.rs
@@ -330,12 +330,13 @@ impl GroupedHashAggregateStream {
         } = &mut self.aggr_state;
 
         for (row, hash) in batch_hashes.into_iter().enumerate() {
-            let entry = map.get_mut(hash, |(_hash, group_idx)| {
+            let entry = map.get_mut(hash, |(hash2, group_idx)| {
                 // verify that a group that we are inserting with hash is
                 // actually the same key value as the group in
                 // existing_idx  (aka group_values @ row)
                 let group_state = &group_states[*group_idx];
-                group_rows.row(row) == group_state.group_by_values.row()
+
+                hash == *hash2 && group_rows.row(row) == group_state.group_by_values.row()
             });
 
             match entry {
diff --git a/testing b/testing
index e81d0c6de3..5bab2f264a 160000
--- a/testing
+++ b/testing
@@ -1 +1 @@
-Subproject commit e81d0c6de35948b3be7984af8e00413b314cde6e
+Subproject commit 5bab2f264a23f5af68f69ea93d24ef1e8e77fc88