ExpandJoin

io.getquill.context.sql.norm.ExpandJoin
class ExpandJoin(normalize: Normalize)

This phase expands inner joins adding the correct aliases so they will function. Unfortunately, since it introduces aliases into the clauses that don't actually exist in the inner expressions, it is not technically type-safe but will not result in a Quat error since Quats cannot check for Ident scoping. For a better implementation, that uses a well-typed FlatMap/FlatJoin cascade, have a look here: Better Typed ExpandJoin which uses FlatMap/FlatJoin

The reason the above implementation is not currently used is because ExpandNestedQueries does not yet use Quat fields for expansion. Once this is changed, using that implementation here should be reconsidered.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def apply(q: Ast): Ast
def expand(q: Ast, id: Option[Ident]): Ast