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]