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 ofMyRel
with different types are equal, then- for all
row1: F[T, U]
,row2: F[V, W]
row1 == row2
⇒F[T, U] =:= F[V, W]
- for all
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
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- Rel
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Type Members
- abstract type Projection >: L <: HList
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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]
- 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]
- 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]
- 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]
- def apply[V <: HList, P1, P2](p1: P1, p2: P2)(implicit ch: ChooseByPtrs[V, L, ::[P1, ::[P2, HNil]]]): RelChoice[V, L]
- def apply[V <: HList, P1](p1: P1)(implicit ch: ChooseByPtrs[V, L, ::[P1, HNil]]): RelChoice[V, L]
- def apply[V <: HList, Ptrs <: HList](ptrs: Ptrs)(implicit ch: ChooseByPtrs[V, L, Ptrs]): RelChoice[V, L]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated