Skip to content

Commit

Permalink
Remove Filter.sql
Browse files Browse the repository at this point in the history
  • Loading branch information
xy_xin committed Aug 1, 2019
1 parent 6986e1e commit c264a79
Showing 1 changed file with 0 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,10 @@ abstract class Filter {
*/
def references: Array[String]

def sql: String

protected def findReferences(value: Any): Array[String] = value match {
case f: Filter => f.references
case _ => Array.empty
}

protected def quoteIdentifier(name: String): String = {
// Escapes back-ticks within the identifier name with double-back-ticks, and then quote the
// identifier with back-ticks.
"`" + name.replace("`", "``") + "`"
}
}

/**
Expand All @@ -58,8 +50,6 @@ abstract class Filter {
*/
@Stable
case class EqualTo(attribute: String, value: Any) extends Filter {
def symbol: String = "="
override def sql: String = s"(${quoteIdentifier(attribute)} $symbol ${value.toString})"
override def references: Array[String] = Array(attribute) ++ findReferences(value)
}

Expand All @@ -72,8 +62,6 @@ case class EqualTo(attribute: String, value: Any) extends Filter {
*/
@Stable
case class EqualNullSafe(attribute: String, value: Any) extends Filter {
def symbol: String = "<=>"
override def sql: String = s"(${quoteIdentifier(attribute)} $symbol ${value.toString})"
override def references: Array[String] = Array(attribute) ++ findReferences(value)
}

Expand All @@ -85,8 +73,6 @@ case class EqualNullSafe(attribute: String, value: Any) extends Filter {
*/
@Stable
case class GreaterThan(attribute: String, value: Any) extends Filter {
def symbol: String = ">"
override def sql: String = s"(${quoteIdentifier(attribute)} $symbol ${value.toString})"
override def references: Array[String] = Array(attribute) ++ findReferences(value)
}

Expand All @@ -98,8 +84,6 @@ case class GreaterThan(attribute: String, value: Any) extends Filter {
*/
@Stable
case class GreaterThanOrEqual(attribute: String, value: Any) extends Filter {
def symbol: String = ">="
override def sql: String = s"(${quoteIdentifier(attribute)} $symbol ${value.toString})"
override def references: Array[String] = Array(attribute) ++ findReferences(value)
}

Expand All @@ -111,8 +95,6 @@ case class GreaterThanOrEqual(attribute: String, value: Any) extends Filter {
*/
@Stable
case class LessThan(attribute: String, value: Any) extends Filter {
def symbol: String = "<"
override def sql: String = s"(${quoteIdentifier(attribute)} $symbol ${value.toString})"
override def references: Array[String] = Array(attribute) ++ findReferences(value)
}

Expand All @@ -124,8 +106,6 @@ case class LessThan(attribute: String, value: Any) extends Filter {
*/
@Stable
case class LessThanOrEqual(attribute: String, value: Any) extends Filter {
def symbol: String = "<="
override def sql: String = s"(${quoteIdentifier(attribute)} $symbol ${value.toString})"
override def references: Array[String] = Array(attribute) ++ findReferences(value)
}

Expand Down Expand Up @@ -153,8 +133,6 @@ case class In(attribute: String, values: Array[Any]) extends Filter {
s"In($attribute, [${values.mkString(",")}])"
}

override def sql: String = s"${quoteIdentifier(attribute)} IN (${values.mkString(",")})"

override def references: Array[String] = Array(attribute) ++ values.flatMap(findReferences)
}

Expand All @@ -165,7 +143,6 @@ case class In(attribute: String, values: Array[Any]) extends Filter {
*/
@Stable
case class IsNull(attribute: String) extends Filter {
override def sql: String = s"(${quoteIdentifier(attribute)} IS NULL)"
override def references: Array[String] = Array(attribute)
}

Expand All @@ -176,7 +153,6 @@ case class IsNull(attribute: String) extends Filter {
*/
@Stable
case class IsNotNull(attribute: String) extends Filter {
override def sql: String = s"(${quoteIdentifier(attribute)} IS NOT NULL)"
override def references: Array[String] = Array(attribute)
}

Expand All @@ -187,7 +163,6 @@ case class IsNotNull(attribute: String) extends Filter {
*/
@Stable
case class And(left: Filter, right: Filter) extends Filter {
override def sql: String = s"(${left.sql}) AND (${right.sql})"
override def references: Array[String] = left.references ++ right.references
}

Expand All @@ -198,7 +173,6 @@ case class And(left: Filter, right: Filter) extends Filter {
*/
@Stable
case class Or(left: Filter, right: Filter) extends Filter {
override def sql: String = s"(${left.sql}) OR (${right.sql})"
override def references: Array[String] = left.references ++ right.references
}

Expand All @@ -209,7 +183,6 @@ case class Or(left: Filter, right: Filter) extends Filter {
*/
@Stable
case class Not(child: Filter) extends Filter {
override def sql: String = s"NOT (${child.sql})"
override def references: Array[String] = child.references
}

Expand All @@ -221,7 +194,6 @@ case class Not(child: Filter) extends Filter {
*/
@Stable
case class StringStartsWith(attribute: String, value: String) extends Filter {
override def sql: String = s"${quoteIdentifier(attribute)} LIKE '${value.toString}%'"
override def references: Array[String] = Array(attribute)
}

Expand All @@ -233,7 +205,6 @@ case class StringStartsWith(attribute: String, value: String) extends Filter {
*/
@Stable
case class StringEndsWith(attribute: String, value: String) extends Filter {
override def sql: String = s"${quoteIdentifier(attribute)} LIKE '%${value.toString}'"
override def references: Array[String] = Array(attribute)
}

Expand All @@ -245,7 +216,6 @@ case class StringEndsWith(attribute: String, value: String) extends Filter {
*/
@Stable
case class StringContains(attribute: String, value: String) extends Filter {
override def sql: String = s"${quoteIdentifier(attribute)} LIKE '%${value.toString}%'"
override def references: Array[String] = Array(attribute)
}

Expand All @@ -254,7 +224,6 @@ case class StringContains(attribute: String, value: String) extends Filter {
*/
@Evolving
case class AlwaysTrue() extends Filter {
override def sql: String = "TRUE"
override def references: Array[String] = Array.empty
}

Expand All @@ -267,7 +236,6 @@ object AlwaysTrue extends AlwaysTrue {
*/
@Evolving
case class AlwaysFalse() extends Filter {
override def sql: String = "FALSE"
override def references: Array[String] = Array.empty
}

Expand Down

0 comments on commit c264a79

Please sign in to comment.