eejbyfeldt commented on code in PR #13134:
URL: https://github.com/apache/datafusion/pull/13134#discussion_r1819658522
##########
datafusion/physical-plan/src/joins/sort_merge_join.rs:
##########
@@ -784,6 +790,29 @@ fn get_corrected_filter_mask(
corrected_mask.extend(vec![Some(false); null_matched]);
Some(corrected_mask.finish())
}
+ JoinType::LeftMark => {
+ for i in 0..row_indices_length {
+ let last_index =
+ last_index_for_row(i, row_indices, batch_ids,
row_indices_length);
+ if filter_mask.value(i) && !seen_true {
Review Comment:
> For LeftMark is it the same filtering rules as for LeftOuter join?
It not the same as LeftMark will only output a single row per row in left
even if there are multiple passing the filter.
> We need to cover it in fuzz tests
This PR contains fuzz test covering this code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]