comphead commented on code in PR #13134:
URL: https://github.com/apache/datafusion/pull/13134#discussion_r1821487095
##########
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:
`it would be tempting to translate into a semi join` - they are 100% right,
that exactly what I did 😄 That is interesting type of join, we def need to
document its features
But still concerning why we cannot use LeftOuter in this case?
If the course by the professor is not found the professor will be output as
part of LeftOuter and we can derive a marked flag based on right table join key
nullability
--
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]