wankunde commented on code in PR #40523:
URL: https://github.com/apache/spark/pull/40523#discussion_r1158021949


##########
sql/core/src/main/scala/org/apache/spark/sql/execution/joins/SortMergeJoinExec.scala:
##########
@@ -1036,8 +1036,17 @@ case class SortMergeJoinExec(
     val rightResultVars = genOneSideJoinVars(
       ctx, rightOutputRow, right, setDefaultValue = true)
     val resultVars = leftResultVars ++ rightResultVars
-    val (_, conditionCheck, _) =
-      getJoinCondition(ctx, leftResultVars, left, right, Some(rightOutputRow))
+    // Evaluate the variables on the left and used in the condition but do not 
clear the code as

Review Comment:
   Thanks @cloud-fan for your comment.
    
   1. `ShuffledHashJoinExec` also has the same issue, and fix it at the same 
time.
   2. We can not use `splitVarsByCondition` and `evaluateVariables`  because 
`evaluateVariables` will empty the variable's code, so when we read the same 
variables in the following `consumeFullOuterJoinRow` method, those variables 
will be undefined.
   



-- 
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]

Reply via email to