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

    https://github.com/apache/spark/pull/21144#discussion_r183937258
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala
 ---
    @@ -36,6 +36,14 @@ object InterpretedPredicate {
     
     case class InterpretedPredicate(expression: Expression) extends 
BasePredicate {
       override def eval(r: InternalRow): Boolean = 
expression.eval(r).asInstanceOf[Boolean]
    +
    +  override def initialize(partitionIndex: Int): Unit = {
    +    super.initialize(partitionIndex)
    +    expression.foreach {
    --- End diff --
    
    @maropu At the moment, all of the initialization methods are very simple 
and don't rely on children. That could change, but that's the current state.
    
    InterpretedProjection, InterpretedUnsafeProjection, 
InterpretedMutableProjection and ExpressionEvalHelper currently initialize the 
Nondeterministic expressions with a foreach. If we want to change it, we should 
change it in those other places too.


---

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

Reply via email to