Packages

o

quasar.physical.mongodb

WorkflowBuilder

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

    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

    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

    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
  5. type Expr = \&/[JsFn, Fix[ExprOp]]

    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

    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

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

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

    fields - the fields to flatten rest - the other fields of the structure or None if unknown

  9. final case class GroupBuilderF[F[_], A](src: A, keys: slamdata.Predef.List[Expr], contents: GroupContents) extends WorkflowBuilderF[F, A] with Product with Serializable
  10. type GroupContents = ListMap[Name, AccumOp[Fix[ExprOp]]]
  11. final class Ops[F[_]] extends AnyRef
  12. final case class Root() extends Base with Product with Serializable

    The content is already at $$ROOT.

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

    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

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

  15. sealed abstract class StructureType[A] extends AnyRef
  16. final case class Subset(fields: slamdata.Predef.Set[Name]) extends Base with Product with Serializable

    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
  18. type WorkflowBuilder[F[_]] = Fix[[β$7$]WorkflowBuilderF[F, β$7$]]

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

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. def alignExpr[F[_]](fa: F[Expr])(implicit arg0: Traverse[F]): slamdata.Predef.Option[\/[F[JsFn], F[Fix[ExprOp]]]]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def asLiteral[F[_]](wb: WorkflowBuilder[F])(implicit ev0: :<:[WorkflowOpCoreF, F]): slamdata.Predef.Option[Bson]
  7. def build[M[_], F[_]](wb: WorkflowBuilder[F], queryModel: MongoQueryModel)(implicit arg0: Monad[M], arg1: Coalesce[F], M: MonadError_[M, PlannerError], ev0: :<:[WorkflowOpCoreF, F], ev1: RenderTree[WorkflowBuilder[F]], ev2: Uni[ExprOp]): M[Fix[F]]
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def contentsToBuilder[F[_]]: (DocContents[Expr]) ⇒ (WorkflowBuilder[F]) ⇒ WorkflowBuilder[F]
  10. def docVarToExpr(dv: DocVar): Expr
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def findKeys[F[_]](wb: WorkflowBuilder[F]): slamdata.Predef.Option[Base]
    Annotations
    @tailrec()
  15. val fixExprOp344: fixpoint[Fix[ExprOp], ExprOp]
  16. val fromDocVar: (DocVar) ⇒ Base
  17. def generateWorkflow[M[_], F[_]](wb: WorkflowBuilder[F], queryModel: MongoQueryModel)(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)]
  18. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. 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$]]
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. def schema[WF[_]]: Algebra[[β$18$]WorkflowBuilderF[WF, β$18$], Schema]
  26. def semiAlignExpr[F[_]](fa: F[Expr])(implicit arg0: Traverse[F]): slamdata.Predef.Option[F[Fix[ExprOp]]]
  27. def shift[F[_]](base: Base, struct: Schema, graph: Fix[F])(implicit arg0: Coalesce[F], ev: :<:[WorkflowOpCoreF, F]): (Fix[F], Base)
  28. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. def toWorkflow[M[_], WF[_]](queryModel: MongoQueryModel)(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)]
    Annotations
    @SuppressWarnings()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  34. object Base extends Serializable
  35. object CollectionBuilder
  36. object DocBuilder
  37. object DocContents extends Serializable
  38. object ExprBuilder
  39. object FlatteningBuilder
  40. object GroupBuilder
  41. object Ops
  42. object ShapePreservingBuilder
  43. object StructureType
  44. object UnionBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped