Слик где / фильтр / с фильтром
В slick (1.0), в чем разница между doing .where(), .filter() и .withFilter() на столе?  
В API они имеют схожую сигнатуру, но неясно, чем они отличаются:
def filter[T]            (f: (E) ⇒ T)(implicit wt:   CanBeQueryCondition[T]): Query[E, U]
def where[T <: Column[_]](f: (E) ⇒ T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U]
def withFilter[T]        (f: (E) ⇒ T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U]
1 ответ:
Согласно источнику все эти методы одинаковы:
def withFilter[T : CanBeQueryCondition](f: E => T) = filter(f) def where[T <: Column[_] : CanBeQueryCondition](f: E => T) = filter(f)Filter - это распространенный метод фильтрации коллекций в scala. В коллекциях есть метод
filter,Option,Future,Tryи так далее.WithFilter существует для
for comprehensions.ifутверждение В для понимания переводится в вызовwithFilter.Я предполагаю , где добавляется по аналогии с
SQLwhereзаявление.