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

    https://github.com/apache/spark/pull/22947#discussion_r231600766
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/misc.scala
 ---
    @@ -66,6 +66,8 @@ case class AssertTrue(child: Expression) extends 
UnaryExpression with ImplicitCa
     
       override def nullable: Boolean = true
     
    +  override lazy val deterministic: Boolean = false
    --- End diff --
    
    @gatorsmile thanks for your comment. I think the main issue with making 
this non-determistic is that we have basically to skip the sanity check at 
https://github.com/apache/spark/blob/0a32238d034e4d73d56ec69b7069b9d61e05582b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala#L368,
 because we have `AssertNotNull` is a lot of other different locations. Another 
option may be to special case `AssertNotNull` and avoid that check for it... 
What do you think?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to