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]