override def toString()

in modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/impl/optimization/ConditionExpressions.scala [80:144]


    override def toString(expr: Expression, childToString: Expression ⇒ String, useQualifier: Boolean,
        useAlias: Boolean, caseSensitive: Boolean): Option[String] = expr match {
        case EqualTo(left, right) ⇒
            Some(s"${childToString(left)} = ${childToString(right)}")

        case EqualNullSafe(left, right) ⇒
            Some(s"(${childToString(left)} IS NULL OR ${childToString(left)} = ${childToString(right)})")

        case GreaterThan(left, right) ⇒
            Some(s"${childToString(left)} > ${childToString(right)}")

        case GreaterThanOrEqual(left, right) ⇒
            Some(s"${childToString(left)} >= ${childToString(right)}")

        case LessThan(left, right) ⇒
            Some(s"${childToString(left)} < ${childToString(right)}")

        case LessThanOrEqual(left, right) ⇒
            Some(s"${childToString(left)} <= ${childToString(right)}")

        case In(attr, values) ⇒
            Some(s"${childToString(attr)} IN (${values.map(childToString(_)).mkString(", ")})")

        case IsNull(child) ⇒
            Some(s"${childToString(child)} IS NULL")

        case IsNotNull(child) ⇒
            Some(s"${childToString(child)} IS NOT NULL")

        case And(left, right) ⇒
            Some(s"${childToString(left)} AND ${childToString(right)}")

        case Or(left, right) ⇒
            Some(s"${childToString(left)} OR ${childToString(right)}")

        case Not(child) ⇒
            Some(s"NOT ${childToString(child)}")

        case StartsWith(attr, value) ⇒ {
            //Expecting string literal here.
            //To add % sign it's required to remove quotes.
            val valStr = removeQuotes(childToString(value))

            Some(s"${childToString(attr)} LIKE '$valStr%'")
        }

        case EndsWith(attr, value) ⇒ {
            //Expecting string literal here.
            //To add % sign it's required to remove quotes.
            val valStr = removeQuotes(childToString(value))

            Some(s"${childToString(attr)} LIKE '%$valStr'")
        }

        case Contains(attr, value) ⇒ {
            //Expecting string literal here.
            //To add % signs it's required to remove quotes.
            val valStr = removeQuotes(childToString(value))

            Some(s"${childToString(attr)} LIKE '%$valStr%'")
        }

        case _ ⇒
            None
    }