eejbyfeldt commented on PR #13252: URL: https://github.com/apache/datafusion/pull/13252#issuecomment-2464127994
I think the logic here: https://github.com/jonathanc-n/datafusion/blob/feac9714a172fd7dd96c18b724363bdad8e0d155/datafusion/physical-plan/src/joins/utils.rs#L1289-L1290 is probably not correct when there is both `LeftMark` and `RightMark`. For `RightMark` I would expect us to to need to `compute::is_not_null(build_indices)` instead. So we might need to pass the join_type to that function in order to implement that. I also suspect we might need do more changes in `adjust_indices_by_join_type`. I don't think we can just do the same as `JoinType::Right` when we have multiple matches. The `Right` will for that case produce multiple rows per row from the right side, while the `RightMark` should follow similar logic to the `RightSemi` where we remove duplicates. But of course we need the unmatched rows like the `Right` join so we might need our own adjustment logic. -- 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]
