Object

quasar.physical.mongodb

WorkflowBuilder

Related Doc: package mongodb

Permalink

object WorkflowBuilder

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

Type Members

  1. sealed abstract class Base extends slamdata.Predef.Product with slamdata.Predef.Serializable

    Permalink

    The location of the desired content relative to the current $$ROOT.

    The location of the desired content relative to the current $$ROOT.

    Various transformations (merging, conversion to Workflow, etc.) combine structures that we need to be able to extract later. This tells us how to extract them.

  2. final case class CollectionBuilderF[F[_]](src: Fix[F], base: Base, struct: Schema) extends WorkflowBuilderF[F, slamdata.Predef.Nothing] with Product with Serializable

    Permalink

    This is a Leaf node which can be used to construct a more complicated WorkflowBuilder.

    This is a Leaf node which can be used to construct a more complicated WorkflowBuilder. Takes a value resulting from a Workflow and wraps it in a WorkflowBuilder. For example: If you want to read from MongoDB and then project on a field, the read would be the CollectionBuilder.

    base

    Name, or names under which the values produced by the src will be found. It's most often Root, or else it's probably a temporary Field.

    struct

    In the case of read, it's None. In the case where we are converting a WorkflowBuilder into a Workflow, we have access to the shape of this Workflow and encode it in struct.

  3. final case class DocBuilderF[F[_], A](src: A, shape: slamdata.Predef.ListMap[Name, Expr]) extends WorkflowBuilderF[F, A] with Product with Serializable

    Permalink

    Same as an ExprBuilder but contains the shape of the resulting query.

    Same as an ExprBuilder but contains the shape of the resulting query. The result is a document that maps the field Name to the resulting values from applying the Expr associated with that name. NB: The shape is more restrictive than $project because we may need to convert it to a GroupBuilder, and a nested Reshape can be realized with a chain of DocBuilders, leaving the collapsing to Workflow.coalesce.

  4. sealed abstract class DocContents[A] extends slamdata.Predef.Product with slamdata.Predef.Serializable

    Permalink
  5. type Expr = \&/[JsFn, Fix[ExprOp]]

    Permalink

    Either arbitrary javascript expression or Pipeline expression An arbitrary javascript is more powerful but less performant because it gets materialized into a Map/Reduce operation.

  6. final case class ExprBuilderF[F[_], A](src: A, expr: Expr) extends WorkflowBuilderF[F, A] with Product with Serializable

    Permalink

    A query that applies an Expr operator to a source (which could be multiple values).

    A query that applies an Expr operator to a source (which could be multiple values). You can think of Expr as a function application in MongoDB that accepts values and produces new values. It's kind of like a map. The shape coming out of an ExprBuilder is unknown because of the fact that the expression can be arbitrary.

    src

    The values on which to apply the Expr

    expr

    The expression that produces a new set of values given a set of values.

  7. final case class Field(name: BsonField) extends Base with Product with Serializable

    Permalink

    The content is nested in a field under $$ROOT.

  8. final case class FlatteningBuilderF[F[_], A](src: A, fields: slamdata.Predef.Set[StructureType[DocVar]]) extends WorkflowBuilderF[F, A] with Product with Serializable

    Permalink
  9. final case class GroupBuilderF[F[_], A](src: A, keys: slamdata.Predef.List[Expr], contents: GroupContents) extends WorkflowBuilderF[F, A] with Product with Serializable

    Permalink
  10. type GroupContents = ListMap[Name, AccumOp[Fix[ExprOp]]]

    Permalink
  11. final class Ops[F[_]] extends AnyRef

    Permalink
  12. final case class Root() extends Base with Product with Serializable

    Permalink

    The content is already at $$ROOT.

  13. type Schema = Option[NonEmptyList[Name]]

    Permalink

    If we know what the shape is, represents the list of Fields.

  14. final case class ShapePreservingBuilderF[F[_], A](src: A, inputs: slamdata.Predef.List[Expr], op: slamdata.Predef.PartialFunction[slamdata.Predef.List[BsonField], FixOp[F]]) extends WorkflowBuilderF[F, A] with Product with Serializable

    Permalink

    For instance, $match, $skip, $limit, $sort

  15. sealed abstract class StructureType[A] extends AnyRef

    Permalink
  16. final case class Subset(fields: slamdata.Predef.Set[Name]) extends Base with Product with Serializable

    Permalink

    The content is a subset of the document at $$ROOT.

  17. final case class UnionBuilderF[F[_], A](lSrc: A, rSrc: A) extends WorkflowBuilderF[F, A] with Product with Serializable

    Permalink
  18. type WorkflowBuilder[F[_]] = Fix[[β$7$]WorkflowBuilderF[F, β$7$]]

    Permalink

    A partial description of a query that can be run on an instance of MongoDB

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. object Base extends Serializable

    Permalink
  5. object CollectionBuilder

    Permalink
  6. object DocBuilder

    Permalink
  7. object DocContents extends Serializable

    Permalink
  8. object ExprBuilder

    Permalink
  9. object FlatteningBuilder

    Permalink
  10. object GroupBuilder

    Permalink
  11. object Ops

    Permalink
  12. object ShapePreservingBuilder

    Permalink
  13. object StructureType

    Permalink
  14. object UnionBuilder

    Permalink
  15. def alignExpr[F[_]](fa: F[Expr])(implicit arg0: Traverse[F]): slamdata.Predef.Option[\/[F[JsFn], F[Fix[ExprOp]]]]

    Permalink
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. def asLiteral[F[_]](wb: WorkflowBuilder[F])(implicit ev0: :<:[WorkflowOpCoreF, F]): slamdata.Predef.Option[Bson]

    Permalink
  18. def build[M[_], F[_]](wb: WorkflowBuilder[F])(implicit arg0: Monad[M], arg1: Coalesce[F], M: MonadError_[M, PlannerError], ev0: :<:[WorkflowOpCoreF, F], ev1: RenderTree[WorkflowBuilder[F]], ev2: Uni[ExprOp]): M[Fix[F]]

    Permalink
  19. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. def contentsToBuilder[F[_]]: (DocContents[Expr]) ⇒ (WorkflowBuilder[F]) ⇒ WorkflowBuilder[F]

    Permalink
  21. def docVarToExpr(dv: DocVar): Expr

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. def findKeys[F[_]](wb: WorkflowBuilder[F]): slamdata.Predef.Option[Base]

    Permalink
    Annotations
    @tailrec()
  26. val fromDocVar: (DocVar) ⇒ Base

    Permalink
  27. def generateWorkflow[M[_], F[_]](wb: WorkflowBuilder[F])(implicit arg0: Monad[M], arg1: Coalesce[F], M: MonadError_[M, PlannerError], ev0: :<:[WorkflowOpCoreF, F], ev1: RenderTree[WorkflowBuilder[F]], ev2: Uni[ExprOp]): M[(Fix[F], Base)]

    Permalink
  28. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  31. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  32. def normalize[WF[_], T](implicit T: Aux[T, [β$15$]WorkflowBuilderF[WF, β$15$]], exprOps: Uni[ExprOp]): TransformM[slamdata.Predef.Option, T, [β$16$]WorkflowBuilderF[WF, β$16$], [β$17$]WorkflowBuilderF[WF, β$17$]]

    Permalink
  33. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  35. def schema[WF[_]]: Algebra[[β$18$]WorkflowBuilderF[WF, β$18$], Schema]

    Permalink
  36. def semiAlignExpr[F[_]](fa: F[Expr])(implicit arg0: Traverse[F]): slamdata.Predef.Option[F[Fix[ExprOp]]]

    Permalink
  37. def shift[F[_]](base: Base, struct: Schema, graph: Fix[F])(implicit arg0: Coalesce[F], ev: :<:[WorkflowOpCoreF, F]): (Fix[F], Base)

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  40. def toWorkflow[M[_], WF[_]](implicit arg0: Monad[M], arg1: Coalesce[WF], M: MonadError_[M, PlannerError], ev0: :<:[WorkflowOpCoreF, WF], ev1: RenderTree[WorkflowBuilder[WF]], exprOps: Uni[ExprOp]): AlgebraM[M, [β$19$]WorkflowBuilderF[WF, β$19$], (Fix[WF], Base)]

    Permalink
    Annotations
    @SuppressWarnings()
  41. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped