tokoko commented on code in PR #58506:
URL: https://github.com/apache/spark/pull/58506#discussion_r4251874834
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PropagateEmptyRelation.scala:
##########
@@ -123,6 +125,13 @@ abstract class PropagateEmptyRelationBase extends
Rule[LogicalPlan] with CastSup
Project(p.left.output ++ nullValueProjectList(p.right), p.left)
case RightOuter if isFalseCondition &&
canExecuteWithoutJoin(p.right) =>
Project(nullValueProjectList(p.left) ++ p.right.output, p.right)
+ // No row of either side can find a match, so the join degenerates
into both sides
+ // padded with nulls and concatenated.
+ case FullOuter if isFalseCondition && canExecuteWithoutJoin(p.left)
&&
+ canExecuteWithoutJoin(p.right) =>
+ Union(
+ Project(p.left.output ++ nullValueProjectList(p.right), p.left),
Review Comment:
Fixed in `nullValueProjectList`, thanks. Just note this was a preexisting
behavior for left/right rewrites as well. The change now fixes it for all join
types.
--
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]