From d7d7f95d75b81de3293cc229c7c3c0b6ec9ab546 Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Tue, 20 Aug 2024 10:42:04 -0600 Subject: [PATCH 1/3] remove redundant loop --- datafusion/common/src/hash_utils.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/datafusion/common/src/hash_utils.rs b/datafusion/common/src/hash_utils.rs index f57ec0152e3f..52140b3d513a 100644 --- a/datafusion/common/src/hash_utils.rs +++ b/datafusion/common/src/hash_utils.rs @@ -386,9 +386,6 @@ pub fn create_row_hashes<'a>( random_state: &RandomState, hashes_buffer: &'a mut Vec, ) -> Result<&'a mut Vec> { - for hash in hashes_buffer.iter_mut() { - *hash = 0 - } for (i, hash) in hashes_buffer.iter_mut().enumerate() { *hash = random_state.hash_one(&rows[i]); } From 16b201bae575206e572fe3a1e57afefd3b165f60 Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Tue, 20 Aug 2024 11:03:23 -0600 Subject: [PATCH 2/3] remove redundant loop --- datafusion/common/src/hash_utils.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/datafusion/common/src/hash_utils.rs b/datafusion/common/src/hash_utils.rs index 52140b3d513a..539c39e5c35e 100644 --- a/datafusion/common/src/hash_utils.rs +++ b/datafusion/common/src/hash_utils.rs @@ -488,9 +488,6 @@ pub fn create_row_hashes_v2<'a>( random_state: &RandomState, hashes_buffer: &'a mut Vec, ) -> Result<&'a mut Vec> { - for hash in hashes_buffer.iter_mut() { - *hash = 0 - } for (i, hash) in hashes_buffer.iter_mut().enumerate() { *hash = random_state.hash_one(rows.row(i)); } From c46c4b4b1984292be6fceba81a7ddef8a2504fab Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Tue, 20 Aug 2024 16:17:56 -0600 Subject: [PATCH 3/3] remove unused methods --- datafusion/common/src/hash_utils.rs | 59 ----------------------------- 1 file changed, 59 deletions(-) diff --git a/datafusion/common/src/hash_utils.rs b/datafusion/common/src/hash_utils.rs index 539c39e5c35e..f3d2a0a4f9ab 100644 --- a/datafusion/common/src/hash_utils.rs +++ b/datafusion/common/src/hash_utils.rs @@ -23,7 +23,6 @@ use std::sync::Arc; use ahash::RandomState; use arrow::array::*; use arrow::datatypes::*; -use arrow::row::Rows; #[cfg(not(feature = "force_hash_collisions"))] use arrow::{downcast_dictionary_array, downcast_primitive_array}; use arrow_buffer::IntervalDayTime; @@ -363,35 +362,6 @@ pub fn create_hashes<'a>( Ok(hashes_buffer) } -/// Test version of `create_row_hashes` that produces the same value for -/// all hashes (to test collisions) -/// -/// See comments on `hashes_buffer` for more details -#[cfg(feature = "force_hash_collisions")] -pub fn create_row_hashes<'a>( - _rows: &[Vec], - _random_state: &RandomState, - hashes_buffer: &'a mut Vec, -) -> Result<&'a mut Vec> { - for hash in hashes_buffer.iter_mut() { - *hash = 0 - } - Ok(hashes_buffer) -} - -/// Creates hash values for every row, based on their raw bytes. -#[cfg(not(feature = "force_hash_collisions"))] -pub fn create_row_hashes<'a>( - rows: &[Vec], - random_state: &RandomState, - hashes_buffer: &'a mut Vec, -) -> Result<&'a mut Vec> { - for (i, hash) in hashes_buffer.iter_mut().enumerate() { - *hash = random_state.hash_one(&rows[i]); - } - Ok(hashes_buffer) -} - /// Creates hash values for every row, based on the values in the /// columns. /// @@ -465,35 +435,6 @@ pub fn create_hashes<'a>( Ok(hashes_buffer) } -/// Test version of `create_row_hashes_v2` that produces the same value for -/// all hashes (to test collisions) -/// -/// See comments on `hashes_buffer` for more details -#[cfg(feature = "force_hash_collisions")] -pub fn create_row_hashes_v2<'a>( - _rows: &Rows, - _random_state: &RandomState, - hashes_buffer: &'a mut Vec, -) -> Result<&'a mut Vec> { - for hash in hashes_buffer.iter_mut() { - *hash = 0 - } - Ok(hashes_buffer) -} - -/// Creates hash values for every row, based on their raw bytes. -#[cfg(not(feature = "force_hash_collisions"))] -pub fn create_row_hashes_v2<'a>( - rows: &Rows, - random_state: &RandomState, - hashes_buffer: &'a mut Vec, -) -> Result<&'a mut Vec> { - for (i, hash) in hashes_buffer.iter_mut().enumerate() { - *hash = random_state.hash_one(rows.row(i)); - } - Ok(hashes_buffer) -} - #[cfg(test)] mod tests { use std::sync::Arc;