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])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. val elideLets: (LogicalPlan[T]) ⇒ slamdata.Predef.Option[LogicalPlan[T]]

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

  7. val elideTypeCheckƒ: Algebra[LogicalPlan, T]
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. val lpr: LogicalPlanR[T]
  15. val namesƒ: Algebra[LogicalPlan, slamdata.Predef.Set[slamdata.Predef.Symbol]]
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. val optimize: (T) ⇒ T

    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
  21. def pullUpGroupBy(tree: T)(implicit TR: Aux[T, LogicalPlan], TC: Aux[T, LogicalPlan]): T

    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 rewriteCrossJoinsƒ: (LogicalPlan[(T, T)]) ⇒ State[NameGen, T]

    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 ...

  23. val rewriteJoins: (T) ⇒ T

    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.

  24. val shapeƒ: GAlgebra[[β$2$](T, β$2$), LogicalPlan, slamdata.Predef.Option[slamdata.Predef.List[T]]]
  25. def simplify(t: T): T
  26. val simplifyƒ: (LogicalPlan[T]) ⇒ slamdata.Predef.Option[LogicalPlan[T]]
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. def uniqueName[F[_]](prefix: slamdata.Predef.String, plans: F[T])(implicit arg0: Functor[F], arg1: Foldable[F]): slamdata.Predef.Symbol
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped