object WorkflowBuilder
- Alphabetic
- By Inheritance
- WorkflowBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
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.
-
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 temporaryField.- 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.
-
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
ExprBuilderbut contains the shape of the resulting query.Same as an
ExprBuilderbut contains the shape of the resulting query. The result is a document that maps the field Name to the resulting values from applying theExprassociated with that name. NB: The shape is more restrictive than $project because we may need to convert it to aGroupBuilder, and a nestedReshapecan be realized with a chain of DocBuilders, leaving the collapsing to Workflow.coalesce. - sealed abstract class DocContents[A] extends slamdata.Predef.Product with slamdata.Predef.Serializable
-
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.
-
final
case class
ExprBuilderF[F[_], A](src: A, expr: Expr) extends WorkflowBuilderF[F, A] with Product with Serializable
A query that applies an
Exproperator to a source (which could be multiple values).A query that applies an
Exproperator to a source (which could be multiple values). You can think ofExpras a function application in MongoDB that accepts values and produces new values. It's kind of like a map. The shape coming out of anExprBuilderis 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.
-
final
case class
Field(name: BsonField) extends Base with Product with Serializable
The content is nested in a field under $$ROOT.
-
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
Noneif unknown - final case class GroupBuilderF[F[_], A](src: A, keys: slamdata.Predef.List[Expr], contents: GroupContents) extends WorkflowBuilderF[F, A] with Product with Serializable
- type GroupContents = ListMap[Name, AccumOp[Fix[ExprOp]]]
- final class Ops[F[_]] extends AnyRef
-
final
case class
Root() extends Base with Product with Serializable
The content is already at $$ROOT.
-
type
Schema = Option[NonEmptyList[Name]]
If we know what the shape is, represents the list of Fields.
-
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
- sealed abstract class StructureType[A] extends AnyRef
-
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.
- final case class UnionBuilderF[F[_], A](lSrc: A, rSrc: A) extends WorkflowBuilderF[F, A] with Product with Serializable
-
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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def alignExpr[F[_]](fa: F[Expr])(implicit arg0: Traverse[F]): slamdata.Predef.Option[\/[F[JsFn], F[Fix[ExprOp]]]]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asLiteral[F[_]](wb: WorkflowBuilder[F])(implicit ev0: :<:[WorkflowOpCoreF, F]): slamdata.Predef.Option[Bson]
- 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]]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def contentsToBuilder[F[_]]: (DocContents[Expr]) ⇒ (WorkflowBuilder[F]) ⇒ WorkflowBuilder[F]
- def docVarToExpr(dv: DocVar): Expr
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
findKeys[F[_]](wb: WorkflowBuilder[F]): slamdata.Predef.Option[Base]
- Annotations
- @tailrec()
- val fixExprOp344: fixpoint[Fix[ExprOp], ExprOp]
- val fromDocVar: (DocVar) ⇒ Base
- 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)]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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$]]
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def schema[WF[_]]: Algebra[[β$18$]WorkflowBuilderF[WF, β$18$], Schema]
- def semiAlignExpr[F[_]](fa: F[Expr])(implicit arg0: Traverse[F]): slamdata.Predef.Option[F[Fix[ExprOp]]]
- def shift[F[_]](base: Base, struct: Schema, graph: Fix[F])(implicit arg0: Coalesce[F], ev: :<:[WorkflowOpCoreF, F]): (Fix[F], Base)
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- object Base extends Serializable
- object CollectionBuilder
- object DocBuilder
- object DocContents extends Serializable
- object ExprBuilder
- object FlatteningBuilder
- object GroupBuilder
- object Ops
- object ShapePreservingBuilder
- object StructureType
- object UnionBuilder