Class

quasar.frontend.logicalplan

Optimizer

Related Doc: package logicalplan

Permalink

final class Optimizer[T] extends AnyRef

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Optimizer
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Optimizer()(implicit arg0: Equal[T], TR: Aux[T, LogicalPlan], TC: Aux[T, LogicalPlan])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. val elideLets: (LogicalPlan[T]) ⇒ slamdata.Predef.Option[LogicalPlan[T]]

    Permalink

    Like simplifyƒ, but eliminates _all_ Let (and any bound Free) nodes.

  7. val elideTypeCheckƒ: Algebra[LogicalPlan, T]

    Permalink
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. val lpr: LogicalPlanR[T]

    Permalink
  15. val namesƒ: Algebra[LogicalPlan, slamdata.Predef.Set[slamdata.Predef.Symbol]]

    Permalink
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. val optimize: (T) ⇒ T

    Permalink

    Apply universal, type-oblivious transformations intended to improve the performance of a query regardless of the backend.

    Apply universal, type-oblivious transformations intended to improve the performance of a query regardless of the backend. The input is expected to come straight from the SQL^2 compiler or another source of un-optimized queries.

  20. def preferProjections(t: T): T

    Permalink
  21. def pullUpGroupBy(tree: T)(implicit TR: Aux[T, LogicalPlan], TC: Aux[T, LogicalPlan]): T

    Permalink

    Pulls a nested GroupBy up to the immediate child of the nearest Arbitrary, applying any intermediate expressions to the source of the GroupBy.

  22. val reconstructOldJoins: Algebra[LogicalPlan, T]

    Permalink
  23. val rewriteCrossJoinsƒ: (LogicalPlan[(T, T)]) ⇒ State[NameGen, T]

    Permalink

    Rewrite joins and subsequent filtering so that: 1) Filtering that is equivalent to an equi-join is rewritten into the join condition.

    Rewrite joins and subsequent filtering so that: 1) Filtering that is equivalent to an equi-join is rewritten into the join condition. 2) Filtering that refers to only side of the join is hoisted prior to the join. The input plan must have been simplified already so that the structure is in a canonical form for inspection.

    TODO: Separate the combining of filter and join from ...

  24. val rewriteJoins: (T) ⇒ T

    Permalink

    In rewriteJoins we maintain the association and nested level of let bindings by not calling normalizeLets (as we do in optimize).

    In rewriteJoins we maintain the association and nested level of let bindings by not calling normalizeLets (as we do in optimize). We would like rewriteJoins to be identical to optimize, but can only begin to address this after old mongo is deleted.

  25. val shapeƒ: GAlgebra[[β$2$](T, β$2$), LogicalPlan, slamdata.Predef.Option[slamdata.Predef.List[T]]]

    Permalink
  26. def simplify(t: T): T

    Permalink
  27. val simplifyƒ: (LogicalPlan[T]) ⇒ slamdata.Predef.Option[LogicalPlan[T]]

    Permalink
  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  30. def uniqueName[F[_]](prefix: slamdata.Predef.String, plans: F[T])(implicit arg0: Functor[F], arg1: Foldable[F]): slamdata.Predef.Symbol

    Permalink
  31. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped