final case classThetaJoin[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], on: JoinFunc[T], f: JoinType, combine: JoinFunc[T]) extends Product with Serializable
Applies a function across two datasets, in the cases where the JoinFunc
evaluates to true. The branches represent the divergent operations applied
to some common src. Each branch references the src exactly once. (Since no
constructor has more than one recursive component, it’s guaranteed that
neither side references the src _more_ than once.)
This case represents a full θJoin, but we could have an algebra that
rewrites it as
Filter(_, EquiJoin(...))
to simplify behavior for the backend.
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
Alphabetic
By Inheritance
Inherited
ThetaJoin
Serializable
Serializable
Product
Equals
AnyRef
Any
Hide All
Show All
Visibility
Public
All
Instance Constructors
newThetaJoin(src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], on: JoinFunc[T], f: JoinType, combine: JoinFunc[T])
Applies a function across two datasets, in the cases where the JoinFunc evaluates to true. The branches represent the divergent operations applied to some common src. Each branch references the src exactly once. (Since no constructor has more than one recursive component, it’s guaranteed that neither side references the src _more_ than once.)
This case represents a full θJoin, but we could have an algebra that rewrites it as Filter(_, EquiJoin(...)) to simplify behavior for the backend.