All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.foursquare.rogue.QueryOptimizer.scala Maven / Gradle / Ivy

The newest version!
// Copyright 2011 Foursquare Labs Inc. All Rights Reserved.
package com.foursquare.rogue

class QueryOptimizer {
  def isEmptyClause(clause: QueryClause[_]): Boolean = clause match {
    case AllQueryClause(_, vs) => vs.isEmpty
    case InQueryClause(_, vs) => vs.isEmpty
    case EmptyQueryClause(_) => true
    case _ => false
  }

  def isEmptyQuery(query: Query[_, _, _]): Boolean = {
    query.condition.clauses.exists(isEmptyClause)
  }

  def isEmptyQuery(query: ModifyQuery[_, _]): Boolean =
    isEmptyQuery(query.query)

  def isEmptyQuery(query: FindAndModifyQuery[_, _]): Boolean =
    isEmptyQuery(query.query)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy