Skip to content

Commit 9f8f833

Browse files
author
B Vadlamani
committed
optimizations_roaring_memebership_check
1 parent 16446e3 commit 9f8f833

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

datafusion/physical-plan/src/joins/hash_join/exec.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ use crate::filter_pushdown::{
3131
ChildFilterDescription, ChildPushdownResult, FilterDescription, FilterPushdownPhase,
3232
FilterPushdownPropagation,
3333
};
34-
use crate::joins::{Map, RoaringMapData};
35-
use roaring::RoaringBitmap;
3634
use crate::joins::array_map::ArrayMap;
3735
use crate::joins::hash_join::inlist_builder::build_struct_inlist_values;
3836
use crate::joins::hash_join::shared_bounds::{
@@ -47,6 +45,7 @@ use crate::joins::utils::{
4745
swap_join_projection, update_hash,
4846
};
4947
use crate::joins::{JoinOn, JoinOnRef, PartitionMode, SharedBitmapBuilder};
48+
use crate::joins::{Map, RoaringMapData};
5049
use crate::metrics::{Count, MetricBuilder, MetricCategory};
5150
use crate::projection::{
5251
EmbeddedProjection, JoinData, ProjectionExec, try_embed_projection,
@@ -65,6 +64,7 @@ use crate::{
6564
},
6665
metrics::{ExecutionPlanMetricsSet, MetricsSet},
6766
};
67+
use roaring::RoaringBitmap;
6868

6969
use arrow::array::{Array, ArrayRef, BooleanBufferBuilder, Int32Array, UInt32Array};
7070
use arrow::compute::concat_batches;

datafusion/physical-plan/src/joins/hash_join/stream.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -749,8 +749,7 @@ impl HashJoinStream {
749749
return !is_semi;
750750
}
751751
let v = arr.value(i) as u32;
752-
let in_set =
753-
v >= min && v <= max && bitmap.contains(v);
752+
let in_set = v >= min && v <= max && bitmap.contains(v);
754753
in_set == is_semi
755754
});
756755
BooleanArray::new(buffer, None)
@@ -762,8 +761,7 @@ impl HashJoinStream {
762761
return !is_semi;
763762
}
764763
let v = arr.value(i);
765-
let in_set =
766-
v >= min && v <= max && bitmap.contains(v);
764+
let in_set = v >= min && v <= max && bitmap.contains(v);
767765
in_set == is_semi
768766
});
769767
BooleanArray::new(buffer, None)

0 commit comments

Comments
 (0)