Github user xuanyuanking commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22326#discussion_r216585000
  
    --- Diff: 
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/optimizer/FilterPushdownSuite.scala
 ---
    @@ -1153,12 +1154,35 @@ class FilterPushdownSuite extends PlanTest {
           "x.a".attr === Rand(10) && "y.b".attr === 5))
         val correctAnswer =
           x.where("x.a".attr === 5).join(y.where("y.a".attr === 5 && 
"y.b".attr === 5),
    -        condition = Some("x.a".attr === Rand(10)))
    +        joinType = Cross).where("x.a".attr === Rand(10))
    --- End diff --
    
    As the code in canEvaluateWithinJoin, we can get the scope relation : 
(CannotEvaluateWithinJoin = nonDeterminstic +  Unevaluable) > Unevaluable > 
PythonUDF. 
    So for the safety maybe I just limit the change scope to the smallest 
PythonUDF only. Need some advise from you thanks :)
    
    
    
https://github.com/apache/spark/blob/0736e72a66735664b191fc363f54e3c522697dba/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala#L104-L120


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to