def findUselessIsNotNulls()

in connector/src/main/scala/org/apache/spark/sql/cassandra/SolrPredicateRules.scala [316:336]


  def findUselessIsNotNulls(filters: Set[Filter], tableDef: TableDef): Set[IsNotNull] = {
    val primaryKeyColumnNames = tableDef.primaryKey.map(_.columnName)

    val isNotNullColumns = filters.collect{ case IsNotNull(attr) => attr -> IsNotNull(attr) }.toMap

    val restrictedColumns = filters.collect {
      case LessThan(attr, _) => attr
      case LessThanOrEqual(attr, _) => attr
      case GreaterThan(attr, _) => attr
      case GreaterThanOrEqual(attr, _) => attr
      case EqualNullSafe(attr, _) => attr
      case EqualTo(attr, _) => attr
    }

    val uselessIsNotNulls = (primaryKeyColumnNames ++ restrictedColumns)
      .flatMap( attr => isNotNullColumns.get(attr))
      .toSet
    logDebug(s"Found isNotNulls $uselessIsNotNulls that are already not needed")

    uselessIsNotNulls
  }