trait Rel[L <: HList] extends AnyRef

N-ary relation (where N is determined by L). Loosely speaking, it represents the signature of a database table, i.e. the datatypes of the columns.

An implementation MyRel[A, B] extends Rel[F[A, B]] must ensure that

  • if (rel1: MyRel[T, U]) == (rel2: MyRel[V, W]), i.e. two values of MyRel with different types are equal, then
    • for all row1: F[T, U], row2: F[V, W]
      • row1 == row2F[T, U] =:= F[V, W]

In other words, the table signature can be somewhat parametric, as long as the actual row values cannot be mistakenly thought to be of a different type.

Moreover, queries have to specify values of enough columns, so that the types of the remaining columns are uniquely determined by the types of the given columns.

L

constituents of this relation.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Rel
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type Projection >: L <: HList

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply[V <: HList, P1, P2, P3, P4, P5, P6](p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6)(implicit ch: ChooseByPtrs[V, L, ::[P1, ::[P2, ::[P3, ::[P4, ::[P5, ::[P6, HNil]]]]]]]): RelChoice[V, L]
  5. def apply[V <: HList, P1, P2, P3, P4, P5](p1: P1, p2: P2, p3: P3, p4: P4, p5: P5)(implicit ch: ChooseByPtrs[V, L, ::[P1, ::[P2, ::[P3, ::[P4, ::[P5, HNil]]]]]]): RelChoice[V, L]
  6. def apply[V <: HList, P1, P2, P3, P4](p1: P1, p2: P2, p3: P3, p4: P4)(implicit ch: ChooseByPtrs[V, L, ::[P1, ::[P2, ::[P3, ::[P4, HNil]]]]]): RelChoice[V, L]
  7. def apply[V <: HList, P1, P2, P3](p1: P1, p2: P2, p3: P3)(implicit ch: ChooseByPtrs[V, L, ::[P1, ::[P2, ::[P3, HNil]]]]): RelChoice[V, L]
  8. def apply[V <: HList, P1, P2](p1: P1, p2: P2)(implicit ch: ChooseByPtrs[V, L, ::[P1, ::[P2, HNil]]]): RelChoice[V, L]
  9. def apply[V <: HList, P1](p1: P1)(implicit ch: ChooseByPtrs[V, L, ::[P1, HNil]]): RelChoice[V, L]
  10. def apply[V <: HList, Ptrs <: HList](ptrs: Ptrs)(implicit ch: ChooseByPtrs[V, L, Ptrs]): RelChoice[V, L]
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped