Skip to content

Commit

Permalink
Implement RightSemi join for SortMergeJoin
Browse files Browse the repository at this point in the history
  • Loading branch information
athultr1997 committed Nov 28, 2024
1 parent 4e5e765 commit 319b87c
Show file tree
Hide file tree
Showing 3 changed files with 672 additions and 191 deletions.
28 changes: 26 additions & 2 deletions datafusion/core/tests/fuzz_cases/join_fuzz.rs
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ async fn test_full_join_1k_filtered() {
}

#[tokio::test]
async fn test_semi_join_1k() {
async fn test_left_semi_join_1k() {
JoinFuzzTestCase::new(
make_staggered_batches(1000),
make_staggered_batches(1000),
Expand All @@ -198,7 +198,7 @@ async fn test_semi_join_1k() {
}

#[tokio::test]
async fn test_semi_join_1k_filtered() {
async fn test_left_semi_join_1k_filtered() {
JoinFuzzTestCase::new(
make_staggered_batches(1000),
make_staggered_batches(1000),
Expand All @@ -209,6 +209,30 @@ async fn test_semi_join_1k_filtered() {
.await
}

#[tokio::test]
async fn test_right_semi_join_1k() {
JoinFuzzTestCase::new(
make_staggered_batches(1000),
make_staggered_batches(1000),
JoinType::RightSemi,
None,
)
.run_test(&[HjSmj, NljHj], true)
.await
}

#[tokio::test]
async fn test_right_semi_join_1k_filtered() {
JoinFuzzTestCase::new(
make_staggered_batches(1000),
make_staggered_batches(1000),
JoinType::RightSemi,
Some(Box::new(col_lt_col_filter)),
)
.run_test(&[HjSmj, NljHj], true)
.await
}

#[tokio::test]
async fn test_anti_join_1k() {
JoinFuzzTestCase::new(
Expand Down
Loading

0 comments on commit 319b87c

Please sign in to comment.