RelationF

abstract class RelationF[+F[_]] extends ExprClassicDsl

RelationF is a pair of schema and a stream of instances of that schema. F - is the effect type.

Companion:
object
class Object
trait Matchable
class Any

Type members

Inherited classlikes

case class Function1Expr[A, B](r1: RelExpr[A], name: String, op: A => B) extends RelExpr[B]
Inherited from:
ExprClassicDsl
case class Function2Expr[A, B, C](r1: RelExpr[A], r2: RelExpr[B], name: String, op: (A, B) => C) extends RelExpr[C]
Inherited from:
ExprClassicDsl
case class Getter[T](name: String, f: Row => T) extends RelExpr[T]
Inherited from:
ExprClassicDsl
sealed trait RelExpr[T]
Inherited from:
ExprClassicDsl

Types

type Row = Values

Value members

Concrete methods

transparent inline def ++[R2 <: RelationF[F2], F2[x]](inline r2: R2)(using ev: Values =:= Values)(using SemigroupK[F2])(using Functor[F2]): RelationF[F2] { type Schema = Schema; }
transparent inline def --[R2 <: RelationF[F2], F2[x]](inline r2: R2)(using ev: Values =:= Values)(using Functor[F2])(using FunctorFilter[F2])(using Concurrent[F2]): F2[Any]

NB: O(N + M ln M), N = rows.size, M = R2.rows.size

NB: O(N + M ln M), N = rows.size, M = R2.rows.size

transparent inline def crossProduct[R2 <: RelationF[F2], F2[x]](inline r2: R2)(using FlatMap[F2]): RelationF[F2] { type Schema <: AppendOtherSchema[Schema]; }
transparent inline def crossProductFrom[R1 <: RelationF[F2], F2[x]](inline r1: R1)(using FlatMap[F2]): RelationF[F2]
transparent inline def filter[F2[x]](inline predicate: Row => Boolean)(using FunctorFilter[F2]): RelationF[F] { type Schema = Schema; }
transparent inline def filterNot[F2[x]](inline predicate: Row => Boolean)(using FunctorFilter[F2]): RelationF[F] { type Schema = Schema; }
transparent inline def join[FK <: ForeignKeyId0, R2 <: RelationF[F2], F2[x]](inline fk: FK)(inline r2: R2)(using FlatMap[F2])(using FunctorFilter[F2]): RelationF[F2] { type Schema <: AppendOtherSchema[Schema]; }
transparent inline def prependCalcColumn[P <: RecordProperty0, F2[x]](inline p: P)(inline f: Row => P)(using FlatMap[F2]): RelationF[F] { type Schema <: SchemaCons[P, Schema]; }
transparent inline def projection[S2 <: RecordSchema, F2[x]](inline s2: S2)(using Functor[F2]): RelationF[F] { type Schema = s2; }
transparent inline def rename[T, P1 <: RecordProperty[T], P2 <: RecordProperty[T], F2[x]](inline p1: P1, p2: P2)(using Functor[F2]): RelationF[F2] { type Schema <: RecordSchema; }
transparent inline def replaceRows[F2[x]](inline f: Stream[F, Row] => Stream[F2, Row]): RelationF[F2] { type Schema = Schema; }
def show[F2[x]](using Concurrent[F2], Functor[F2]): F2[String]
def toSemigroup[A](combineImpl: (A, A) => A): Semigroup[A]
transparent inline def withFilter[F2[x]](inline predicate: Row => Boolean)(using FunctorFilter[F2]): RelationF[F] { type Schema = Schema; }

Inherited methods

inline def const[T](inline t: T): Getter[T]
Inherited from:
ExprClassicDsl
inline def not(r: RelExpr[Boolean]): Function1Expr[Boolean, Boolean]
Inherited from:
ExprClassicDsl
inline def prop[P <: RecordProperty0](inline p: P): Getter[PropertyValueType[p]]
Inherited from:
ExprClassicDsl
inline def rowFun[T](inline expr: RelExpr[T]): Row => T
Inherited from:
ExprClassicDsl
inline def show[T](inline expr: RelExpr[T]): String
Inherited from:
ExprClassicDsl

Abstract fields

val rows: Stream[F, Values]

Extensions

Inherited extensions

extension [T](r: RelExpr[T])
inline def ===(inline other: RelExpr[T]): Function2Expr[T, T, Boolean]
Inherited from:
ExprClassicDsl
inline def map[R](inline f: T => R): Function1Expr[T, R]
Inherited from:
ExprClassicDsl
extension [N](r: RelExpr[N])
inline def *(inline other: RelExpr[N])(implicit evidence$2: Numeric[N]): Function2Expr[N, N, N]
Inherited from:
ExprClassicDsl
inline def +(inline other: RelExpr[N])(implicit evidence$1: Numeric[N]): Function2Expr[N, N, N]
Inherited from:
ExprClassicDsl
extension (r: RelExpr[Boolean])
inline def and(inline other: RelExpr[Boolean]): Function2Expr[Boolean, Boolean, Boolean]
Inherited from:
ExprClassicDsl
inline def or(inline other: RelExpr[Boolean]): Function2Expr[Boolean, Boolean, Boolean]
Inherited from:
ExprClassicDsl
extension (r: RelExpr[String])
inline def +(inline other: RelExpr[String]): Function2Expr[String, String, String]
Inherited from:
ExprClassicDsl