c

slick.compiler

EmulateOuterJoins

class EmulateOuterJoins extends Phase

An optional phase which rewrites outer joins into more commonly supported operations for use on databases that lack outer join support.

Full outer joins are always emulated. Right joins can be replaced by left joins (or an emulated version thereof). Left joins can be emulated with inner joins and unions.

Source
EmulateOuterJoins.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EmulateOuterJoins
  2. Phase
  3. Logging
  4. Function1
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new EmulateOuterJoins(useLeftJoin: Boolean, useRightJoin: Boolean)

Type Members

  1. abstract type State

    The immutable state of the phase that can also be accessed by other phases.

    The immutable state of the phase that can also be accessed by other phases.

    Definition Classes
    Phase

Value Members

  1. def andThen[A](g: (CompilerState) => A): (CompilerState) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  2. def apply(state: CompilerState): CompilerState

    Run the phase

    Run the phase

    Definition Classes
    EmulateOuterJoinsPhase → Function1
  3. def assignFreshSymbols(n: Node): Node

    Assign new TypeSymbols to a subtree that needs to be copied into multiple places.

  4. def compose[A](g: (A) => CompilerState): (A) => CompilerState
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def convert(n: Node): Node
  6. val name: String

    The unique name of the phase

    The unique name of the phase

    Definition Classes
    EmulateOuterJoinsPhase
  7. def nullStructFor(t: Type): Node

    Create a structure of the given type where all columns are NULL.

  8. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  9. val useLeftJoin: Boolean
  10. val useRightJoin: Boolean