Github user srowen commented on a diff in the pull request:
https://github.com/apache/spark/pull/19523#discussion_r145892306
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala
---
@@ -204,6 +204,7 @@ case class In(value: Expression, list: Seq[Expression])
extends Predicate {
override def children: Seq[Expression] = value +: list
lazy val inSetConvertible = list.forall(_.isInstanceOf[Literal])
+ lazy val isListEmpty = list.isEmpty
--- End diff --
Call list.isEmpty is, in comparison, fast and constant time. It doesn't
save much of anything to cache it, and the overhead of a lazy val
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]