Class/Object

slick.lifted

Query

Related Docs: object Query | package lifted

Permalink

sealed abstract class Query[+E, U, C[_]] extends QueryBase[C[U]]

An instance of Query represents a query or view, i.e. a computation of a collection type (Rep[Seq[T]]). It is parameterized with both, the mixed type (the type of values you see e.g. when you call map()) and the unpacked type (the type of values that you get back when you run the query).

Additional extension methods for queries containing a single column are defined in slick.lifted.SingleColumnQueryExtensionMethods.

Self Type
Query[E, U, C]
Source
Query.scala
Linear Supertypes
QueryBase[C[U]], Rep[C[U]], AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Query
  2. QueryBase
  3. Rep
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def shaped: ShapedValue[_ <: E, U]

    Permalink
  2. abstract def toNode: Node

    Permalink

    Get the Node for this Rep.

    Get the Node for this Rep.

    Definition Classes
    Rep

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to any2stringadd[Query[E, U, C]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ++[O >: E, R, D[_]](other: Query[O, U, D]): Query[O, U, C]

    Permalink

    Return a new query containing the elements from both operands.

    Return a new query containing the elements from both operands. Duplicate elements are preserved.

  5. def ->[B](y: B): (Query[E, U, C], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to ArrowAssoc[Query[E, U, C]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def distinct: Query[E, U, C]

    Permalink

    Remove duplicate elements.

    Remove duplicate elements. When used on an ordered Query, there is no guarantee in which order duplicates are removed. This method is equivalent to distinctOn(identity).

  10. def distinctOn[F, T](f: (E) ⇒ F)(implicit shape: Shape[_ <: FlatShapeLevel, F, T, _]): Query[E, U, C]

    Permalink

    Remove duplicate elements which are the same in the given projection.

    Remove duplicate elements which are the same in the given projection. When used on an ordered Query, there is no guarantee in which order duplicates are removed.

  11. def drop(num: Int): Query[E, U, C]

    Permalink

    Select all elements except the first num ones.

  12. def drop(num: Long): Query[E, U, C]

    Permalink

    Select all elements except the first num ones.

  13. def drop(num: ConstColumn[Long]): Query[E, U, C]

    Permalink

    Select all elements except the first num ones.

  14. def encodeRef(path: Node): Query[E, U, C]

    Permalink

    Encode a reference into this Rep.

    Encode a reference into this Rep.

    Definition Classes
    QueryRep
  15. def ensuring(cond: (Query[E, U, C]) ⇒ Boolean, msg: ⇒ Any): Query[E, U, C]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to Ensuring[Query[E, U, C]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: (Query[E, U, C]) ⇒ Boolean): Query[E, U, C]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to Ensuring[Query[E, U, C]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean, msg: ⇒ Any): Query[E, U, C]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to Ensuring[Query[E, U, C]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean): Query[E, U, C]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to Ensuring[Query[E, U, C]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  21. def exists: Rep[Boolean]

    Permalink

    Test whether this query is non-empty.

  22. def filter[T <: Rep[_]](f: (E) ⇒ T)(implicit wt: CanBeQueryCondition[T]): Query[E, U, C]

    Permalink

    Select all elements of this query which satisfy a predicate.

    Select all elements of this query which satisfy a predicate. Unlike withFilter, this method only allows Rep-valued predicates, so it guards against the accidental use plain Booleans.

  23. def filterIf(p: Boolean)(f: (E) ⇒ Rep[Boolean]): Query[E, U, C]

    Permalink

    Applies the given filter function, if the boolean parameter p evaluates to true.

    Applies the given filter function, if the boolean parameter p evaluates to true. If not, the filter will not be part of the query.

  24. def filterNot[T <: Rep[_]](f: (E) ⇒ T)(implicit wt: CanBeQueryCondition[T]): Query[E, U, C]

    Permalink
  25. def filterOpt[V, T <: Rep[_]](optValue: Option[V])(f: (E, V) ⇒ T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, C]

    Permalink

    Applies the given filter, if the Option value is defined.

    Applies the given filter, if the Option value is defined. If the value is None, the filter will not be part of the query.

  26. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  27. def flatMap[F, T, D[_]](f: (E) ⇒ Query[F, T, D]): Query[F, T, C]

    Permalink

    Build a new query by applying a function to all elements of this query and using the elements of the resulting queries.

    Build a new query by applying a function to all elements of this query and using the elements of the resulting queries. This corresponds to an implicit inner join in SQL.

  28. def forUpdate: Query[E, U, C]

    Permalink

    Specify part of a select statement for update and marked for row level locking

  29. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to StringFormat[Query[E, U, C]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  30. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  31. def groupBy[K, T, G, P](f: (E) ⇒ K)(implicit kshape: Shape[_ <: FlatShapeLevel, K, T, G], vshape: Shape[_ <: FlatShapeLevel, E, _, P]): Query[(G, Query[P, U, Seq]), (T, Query[P, U, Seq]), C]

    Permalink

    Partition this query into a query of pairs of a key and a nested query containing the elements for the key, according to some discriminator function.

  32. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  33. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  34. def join[E2, U2, D[_]](q2: Query[E2, U2, D]): BaseJoinQuery[E, E2, U, U2, C, E, E2]

    Permalink

    Join two queries with a cross join or inner join.

    Join two queries with a cross join or inner join. An optional join predicate can be specified later by calling on.

  35. def joinFull[E1 >: E, E2, U2, D[_], O1, U1, O2](q2: Query[E2, _, D])(implicit ol1: OptionLift[E1, O1], sh1: Shape[FlatShapeLevel, O1, U1, _], ol2: OptionLift[E2, O2], sh2: Shape[FlatShapeLevel, O2, U2, _]): BaseJoinQuery[O1, O2, U1, U2, C, E, E2]

    Permalink

    Join two queries with a full outer join.

    Join two queries with a full outer join. An optional join predicate can be specified later by calling on. Both sides of the join are lifted to an Option. If at least one element on either side matches the other side, all matching elements are returned as Some, otherwise a single None row is returned.

  36. def joinLeft[E2, U2, D[_], O2](q2: Query[E2, _, D])(implicit ol: OptionLift[E2, O2], sh: Shape[FlatShapeLevel, O2, U2, _]): BaseJoinQuery[E, O2, U, U2, C, E, E2]

    Permalink

    Join two queries with a left outer join.

    Join two queries with a left outer join. An optional join predicate can be specified later by calling on. The right side of the join is lifted to an Option. If at least one element on the right matches, all matching elements are returned as Some, otherwise a single None row is returned.

  37. def joinRight[E1 >: E, E2, U2, D[_], O1, U1](q2: Query[E2, U2, D])(implicit ol: OptionLift[E1, O1], sh: Shape[FlatShapeLevel, O1, U1, _]): BaseJoinQuery[O1, E2, U1, U2, C, E, E2]

    Permalink

    Join two queries with a right outer join.

    Join two queries with a right outer join. An optional join predicate can be specified later by calling on. The left side of the join is lifted to an Option. If at least one element on the left matches, all matching elements are returned as Some, otherwise a single None row is returned.

  38. def length: Rep[Int]

    Permalink

    The total number of elements (i.e.

    The total number of elements (i.e. rows).

  39. def map[F, G, T](f: (E) ⇒ F)(implicit shape: Shape[_ <: FlatShapeLevel, F, T, G]): Query[G, T, C]

    Permalink

    Build a new query by applying a function to all elements of this query.

  40. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  41. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  42. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  43. def pack[R](implicit packing: Shape[_ <: FlatShapeLevel, E, _, R]): Query[R, U, C]

    Permalink
  44. final lazy val packed: Node

    Permalink
  45. def size: Rep[Int]

    Permalink

    The total number of elements (i.e.

    The total number of elements (i.e. rows).

  46. def sortBy[T](f: (E) ⇒ T)(implicit ev: (T) ⇒ Ordered): Query[E, U, C]

    Permalink

    Sort this query according to a function which extracts the ordering criteria from the query's elements.

  47. def sorted(implicit ev: (E) ⇒ Ordered): Query[E, U, C]

    Permalink

    Sort this query according to a the ordering of its elements.

  48. def subquery: Query[E, U, C]

    Permalink

    Force a subquery to be created when using this Query as part of a larger Query.

    Force a subquery to be created when using this Query as part of a larger Query. This method should never be necessary for correctness. If a query works with an explicit .subquery call but fails without, this should be considered a bug in Slick. The method is exposed in the API to enable workarounds to be written in such cases.

  49. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  50. def take(num: Int): Query[E, U, C]

    Permalink

    Select the first num elements.

  51. def take(num: Long): Query[E, U, C]

    Permalink

    Select the first num elements.

  52. def take(num: ConstColumn[Long]): Query[E, U, C]

    Permalink

    Select the first num elements.

  53. def to[D[_]](implicit ctc: TypedCollectionTypeConstructor[D]): Query[E, U, D]

    Permalink

    Change the collection type to build when executing the query.

  54. def toString(): String

    Permalink
    Definition Classes
    Rep → AnyRef → Any
  55. def union[O >: E, R, D[_]](other: Query[O, U, D]): Query[O, U, C]

    Permalink

    Return a new query containing the elements from both operands.

    Return a new query containing the elements from both operands. Duplicate elements are eliminated from the result.

  56. def unionAll[O >: E, R, D[_]](other: Query[O, U, D]): Query[O, U, C]

    Permalink

    Return a new query containing the elements from both operands.

    Return a new query containing the elements from both operands. Duplicate elements are preserved.

  57. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. def withFilter[T](f: (E) ⇒ T)(implicit arg0: CanBeQueryCondition[T]): Query[E, U, C]

    Permalink

    Select all elements of this query which satisfy a predicate.

    Select all elements of this query which satisfy a predicate. This method is used when desugaring for-comprehensions over queries. There is no reason to call it directly because it is the same as filter.

  61. def zip[E2, U2, D[_]](q2: Query[E2, U2, D]): Query[(E, E2), (U, U2), C]

    Permalink

    Return a query formed from this query and another query by combining corresponding elements in pairs.

  62. def zipWith[E2, U2, F, G, T, D[_]](q2: Query[E2, U2, D], f: (E, E2) ⇒ F)(implicit shape: Shape[_ <: FlatShapeLevel, F, T, G]): Query[G, T, C]

    Permalink

    Return a query formed from this query and another query by combining corresponding elements with the specified function.

  63. def zipWithIndex: BaseJoinQuery[E, Rep[Long], U, Long, C, E, Rep[Long]]

    Permalink

    Zip this query with its indices (starting at 0).

  64. def [B](y: B): (Query[E, U, C], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Query[E, U, C] to ArrowAssoc[Query[E, U, C]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def countDistinct: Rep[Int]

    Permalink

    The number of distinct elements of the query.

    The number of distinct elements of the query.

    Annotations
    @deprecated
    Deprecated

    (Since version 3.2) Use length on distinct or distinctOn instead of countDistinct

Inherited from QueryBase[C[U]]

Inherited from Rep[C[U]]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Query[E, U, C] to any2stringadd[Query[E, U, C]]

Inherited by implicit conversion StringFormat from Query[E, U, C] to StringFormat[Query[E, U, C]]

Inherited by implicit conversion Ensuring from Query[E, U, C] to Ensuring[Query[E, U, C]]

Inherited by implicit conversion ArrowAssoc from Query[E, U, C] to ArrowAssoc[Query[E, U, C]]

Ungrouped