def apply()

in modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/impl/optimization/StringExpressions.scala [27:95]


    def apply(expr: Expression, checkChild: (Expression) ⇒ Boolean): Boolean = expr match {
        case Ascii(child) ⇒
            checkChild(child)

        case Length(child) ⇒
            checkChild(child)

        case Concat(children) ⇒
            children.forall(checkChild)

        case ConcatWs(children) ⇒
            children.forall(checkChild)

        case StringInstr(str, substr) ⇒
            checkChild(str) && checkChild(substr)

        case Lower(child) ⇒
            checkChild(child)

        case Upper(child) ⇒
            checkChild(child)

        case StringLocate(substr, str, start) ⇒
            checkChild(substr) && checkChild(str) && checkChild(start)

        case StringLPad(str, len, pad) ⇒
            checkChild(str) && checkChild(len) && checkChild(pad)

        case StringRPad(str, len, pad) ⇒
            checkChild(str) && checkChild(len) && checkChild(pad)

        case StringTrimLeft(child, None) ⇒
            checkChild(child)

        case StringTrimRight(child, None) ⇒
            checkChild(child)

        case StringTrim(child, None) ⇒
            checkChild(child)

        case StringTrimLeft(child, Some(trimStr)) ⇒
            checkChild(child) && checkChild(trimStr)

        case StringTrimRight(child,  Some(trimStr)) ⇒
            checkChild(child) && checkChild(trimStr)

        case StringTrim(child,  Some(trimStr)) ⇒
            checkChild(child) && checkChild(trimStr)

        case RegExpReplace(subject, regexp, rep, pos) ⇒
            checkChild(subject) && checkChild(regexp) && checkChild(rep) && checkChild(pos)

        case StringRepeat(str, times) ⇒
            checkChild(str) && checkChild(times)

        case SoundEx(child) ⇒
            checkChild(child)

        case StringSpace(child) ⇒
            checkChild(child)

        case Substring(str, pos, len) ⇒
            checkChild(str) && checkChild(pos) && checkChild(len)

        case StringTranslate(str, strMatch, strReplace) ⇒
            checkChild(str) && checkChild(strMatch) && checkChild(strReplace)

        case _ ⇒ false
    }