in modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/impl/optimization/ConditionExpressions.scala [26:77]
def apply(expr: Expression, checkChild: (Expression) ⇒ Boolean): Boolean = expr match {
case EqualTo(left, right) ⇒
checkChild(left) && checkChild(right)
case EqualNullSafe(left, right) ⇒
checkChild(left) && checkChild(right)
case GreaterThan(left, right) ⇒
checkChild(left) && checkChild(right)
case GreaterThanOrEqual(left, right) ⇒
checkChild(left) && checkChild(right)
case LessThan(left, right) ⇒
checkChild(left) && checkChild(right)
case LessThanOrEqual(left, right) ⇒
checkChild(left) && checkChild(right)
case InSet(child, set) if set.forall(_.isInstanceOf[Literal]) ⇒
checkChild(child)
case In(child, list) if list.forall(_.isInstanceOf[Literal]) ⇒
checkChild(child)
case IsNull(child) ⇒
checkChild(child)
case IsNotNull(child) ⇒
checkChild(child)
case And(left, right) ⇒
checkChild(left) && checkChild(right)
case Or(left, right) ⇒
checkChild(left) && checkChild(right)
case Not(child) ⇒
checkChild(child)
case StartsWith(left, right) ⇒
checkChild(left) && checkChild(right)
case EndsWith(left, right) ⇒
checkChild(left) && checkChild(right)
case Contains(left, right) ⇒
checkChild(left) && checkChild(right)
case _ ⇒
false
}