in modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/impl/optimization/DateExpressions.scala [27:72]
def apply(expr: Expression, checkChild: (Expression) ⇒ Boolean): Boolean = expr match {
case CurrentDate(None) ⇒
true
case CurrentTimestamp() ⇒
true
case DateAdd(startDate, days) ⇒
checkChild(startDate) && checkChild(days)
case DateDiff(date1, date2) ⇒
checkChild(date1) && checkChild(date2)
case DayOfMonth(date) ⇒
checkChild(date)
case DayOfYear(date) ⇒
checkChild(date)
case Hour(date, _) ⇒
checkChild(date)
case Minute(date, _) ⇒
checkChild(date)
case Month(date) ⇒
checkChild(date)
case ParseToDate(left, format, child) ⇒
checkChild(left) && (format.isEmpty || checkChild(format.get)) && checkChild(child)
case Quarter(date) ⇒
checkChild(date)
case Second(date, _) ⇒
checkChild(date)
case WeekOfYear(date) ⇒
checkChild(date)
case Year(date) ⇒
checkChild(date)
case _ ⇒
false
}