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/19 12:01:21 UTC
[arrow-datafusion] branch adapt_datastructure updated: Remove offset
This is an automated email from the ASF dual-hosted git repository.
dheres pushed a commit to branch adapt_datastructure
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/adapt_datastructure by this push:
new ddb2ff91e8 Remove offset
ddb2ff91e8 is described below
commit ddb2ff91e898baffdd27b10979864032a1923baf
Author: Daniƫl Heres <da...@coralogix.com>
AuthorDate: Mon Jun 19 14:01:13 2023 +0200
Remove offset
---
datafusion/core/src/physical_plan/joins/hash_join.rs | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/datafusion/core/src/physical_plan/joins/hash_join.rs b/datafusion/core/src/physical_plan/joins/hash_join.rs
index 64f3c7d1c2..9d016a60f4 100644
--- a/datafusion/core/src/physical_plan/joins/hash_join.rs
+++ b/datafusion/core/src/physical_plan/joins/hash_join.rs
@@ -637,7 +637,6 @@ pub fn build_join_indices(
random_state: &RandomState,
null_equals_null: bool,
hashes_buffer: &mut Vec<u64>,
- offset: Option<usize>,
build_side: JoinSide,
) -> Result<(UInt64Array, UInt32Array)> {
// Get the indices that satisfy the equality condition, like `left.a1 = right.a2`
@@ -650,7 +649,6 @@ pub fn build_join_indices(
random_state,
null_equals_null,
hashes_buffer,
- offset,
)?;
if let Some(filter) = filter {
// Filter the indices which satisfy the non-equal join condition, like `left.b1 = 10`
@@ -708,7 +706,6 @@ pub fn build_equal_condition_join_indices(
random_state: &RandomState,
null_equals_null: bool,
hashes_buffer: &mut Vec<u64>,
- offset: Option<usize>,
) -> Result<(UInt64Array, UInt32Array)> {
let keys_values = probe_on
.iter()
@@ -727,7 +724,6 @@ pub fn build_equal_condition_join_indices(
// Using a buffer builder to avoid slower normal builder
let mut build_indices = UInt64BufferBuilder::new(0);
let mut probe_indices = UInt32BufferBuilder::new(0);
- let offset_value = offset.unwrap_or(0);
// Visit all of the probe rows
for (row, hash_value) in hash_values.iter().enumerate() {
// Get the hash and find it in the build index
@@ -741,16 +737,15 @@ pub fn build_equal_condition_join_indices(
{
let mut i = *index - 1;
loop {
- let offset_build_index = i as usize - offset_value;
// Check hash collisions
if equal_rows(
- offset_build_index,
+ i as usize,
row,
&build_join_values,
&keys_values,
null_equals_null,
)? {
- build_indices.append(offset_build_index as u64);
+ build_indices.append(i);
probe_indices.append(row as u32);
}
// Follow the chain to get the next index value
@@ -1164,7 +1159,6 @@ impl HashJoinStream {
&self.random_state,
self.null_equals_null,
&mut hashes_buffer,
- None,
JoinSide::Left,
);
@@ -2650,7 +2644,6 @@ mod tests {
&random_state,
false,
&mut vec![0; right.num_rows()],
- None,
)?;
let mut left_ids = UInt64Builder::with_capacity(0);