package qscript
The various representations of an arbitrary query, as seen by the filesystem connectors, along with the operations for dealing with them.
There are a few patterns that are worth noting:
- (src: A, ..., lBranch: FreeQS[T], rBranch: FreeQS[T], ...) – used in
operations that combine multiple data sources (notably joins and unions).
This holds the divergent parts of the data sources in the branches, with
SrcHole indicating a reference back to the common src of the two
branches. There is not required to be a SrcHole.
- Free[F, A] – we use this structure as a restricted form of variable
binding, where F is some pattern functor, and A is some enumeration
that has a specific referent. E.g., FreeMap is a recursive structure
of MapFunc that has a single “variable”, SrcHole, which (usually)
refers to the src parameter of that operation. JoinFunc, FreeQS,
and the repair parameter to Reduce behave similarly.
- We use the type parameter QS[_] to indicate QScript, as well as the type
parameters IN[_] and OUT[_] to indicate the input and output
coproducts in transformations where they can be different.
- Alphabetic
- By Inheritance
- qscript
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- sealed abstract class Binary[T[_[_]], A] extends MapFuncCore[T, A]
- sealed abstract class BinaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]
- trait Branches[T[_[_]], IN[_]] extends AnyRef
- final case class BucketIndex[T[_[_]], A](src: A, value: FreeMap[T], index: FreeMap[T]) extends ProjectBucket[T, A] with Product with Serializable
- final case class BucketKey[T[_[_]], A](src: A, value: FreeMap[T], name: FreeMap[T]) extends ProjectBucket[T, A] with Product with Serializable
- type CoEnvMap[T[_[_]], A] = CoEnv[Hole, [β$75$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$75$], A]
- type CoEnvMapA[T[_[_]], A, B] = CoEnv[A, [β$75$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$75$], B]
- type CoEnvQS[T[_[_]], A] = CoEnv[Hole, [β$74$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$74$], A]
- sealed abstract class DeadEnd extends AnyRef
-
trait
DiscoverPath[IN[_]] extends AnyRef
This extracts statically-known paths from QScript queries to make it easier for connectors to map queries to their own filesystems.
- abstract class DiscoverPathInstances extends AnyRef
-
final
case class
EquiJoin[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], key: slamdata.Predef.List[(FreeMap[T], FreeMap[T])], f: JoinType, combine: JoinFunc[T]) extends Product with Serializable
This is an optional component of QScript that can be used instead of ThetaJoin.
This is an optional component of QScript that can be used instead of ThetaJoin. It’s easier to implement, but more restricted (where ThetaJoin has an arbitrary predicate to determine if a pair of records should be combined, EquiJoin has an expression on each side that is compared with simple equality).
- trait ExpandMapFunc[IN[_]] extends Serializable
- sealed abstract class ExpandMapFuncInstances extends ExpandMapFuncInstancesʹ
- sealed abstract class ExpandMapFuncInstancesʹ extends AnyRef
-
trait
ExtractPath[F[_], P] extends AnyRef
Extracts paths of particular type from QScript, collecting them in the provided
ApplicativePlus. - sealed abstract class ExtractPathInstances extends ExtractPathInstances0
- sealed abstract class ExtractPathInstances0 extends AnyRef
-
final
case class
Filter[T[_[_]], A](src: A, f: FreeMap[T]) extends QScriptCore[T, A] with Product with Serializable
Eliminates some values from a dataset, based on the result of
f(which must evaluate to a boolean value for each element in the set). - type FreeMap[T[_[_]]] = Free[[β$73$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$73$], Hole]
- type FreeMapA[T[_[_]], A] = Free[[β$73$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$73$], A]
- type FreeQS[T[_[_]]] = Free[[β$72$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$72$], Hole]
- sealed abstract class Hole extends AnyRef
- sealed abstract class IdStatus extends AnyRef
-
trait
Injectable[IN[_]] extends AnyRef
This is like scalaz.Inject, but for injecting an arbitrary coproduct where all of the components are in the
OUTcoproduct in any order.This is like scalaz.Inject, but for injecting an arbitrary coproduct where all of the components are in the
OUTcoproduct in any order.It _may_ be unprincipled (otherwise, why not allow scalaz.Inject to work this way directly?) But it is temporarily necessary in order to “inject” our more constrained versions of QScript into QScriptTotal.
- type JoinFunc[T[_[_]]] = Free[[β$73$]Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], β$73$], JoinSide]
- sealed abstract class JoinSide extends AnyRef
- sealed abstract class JoinSide3 extends AnyRef
-
final
case class
LeftShift[T[_[_]], A](src: A, struct: FreeMap[T], idStatus: IdStatus, shiftType: ShiftType, onUndefined: OnUndefined, repair: JoinFunc[T]) extends QScriptCore[T, A] with Product with Serializable
Flattens nested structure, converting each value into a data set, which are then unioned.
Flattens nested structure, converting each value into a data set, which are then unioned.
structis an expression that evaluates to an array or object, which is then “exploded” into multiple values.idStatusindicates what each of those exploded values should look like (either just the value, just the “id” (i.e., the key or index), or a 2-element array of key and value).repairis applied across the new set, integrating the exploded values into the original set.onUndefinedspecifies how evaluation should proceeed whenstructevaluates toUndefined. WhenEmitthen therepairexpression must be invoked once withRightSideset toUndefined, whenOmitthen therepairmust not be invoked.E.g., in: LeftShift(x, ProjectKey(SrcHole, "bar"), ExcludeId, ConcatMaps(LeftSide, MakeMap("bar", RightSide)))
{ foo: 7, bar: [1, 2, 3] }consists of things that look likeIfx, then that’s what LeftSide is. And RightSide is values like1,2, and{ bar: 1 }3, because that’s what you get from flattening the struct.So then our right-biased quasar.qscript.MapFuncsCore.ConcatMaps says to concat{ foo: 7, bar: [1, 2, 3] }with, resulting in{ foo: 7, bar: 2 }{ foo: 7, bar: 1 }(then again withandx{ foo: 7, bar: 3 }, finishing up the handling of that one element in the original () dataset. -
final
case class
Map[T[_[_]], A](src: A, f: FreeMap[T]) extends QScriptCore[T, A] with Product with Serializable
A data-level transformation.
- type MapFunc[T[_[_]], A] = Coproduct[[β$62$]MapFuncCore[T, β$62$], [β$63$]MapFuncDerived[T, β$63$], A]
- sealed abstract class MapFuncCore[T[_[_]], A] extends AnyRef
- sealed abstract class MapFuncDerived[T[_[_]], A] extends AnyRef
- sealed abstract class Nullary[T[_[_]], A] extends MapFuncCore[T, A]
- sealed abstract class NullaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]
- sealed abstract class OnUndefined extends AnyRef
-
sealed abstract
class
ProjectBucket[T[_[_]], A] extends AnyRef
Projections are technically dimensional (i.e., QScript) operations.
Projections are technically dimensional (i.e., QScript) operations. However, to a filesystem, they are merely Map operations. So, we use these components while building the QScript plan and they are then used in static path processing, but they are replaced with equivalent MapFuncsCore before being processed by the filesystem.
-
type
QScript[T[_[_]], A] = Coproduct[[β$36$]QScriptCore[T, β$36$], [A]Coproduct[[β$34$]ThetaJoin[T, β$34$], [β$35$]Const[DeadEnd, β$35$], A], A]
QScript that has not gone through Read conversion.
- sealed abstract class QScriptCore[T[_[_]], A] extends slamdata.Predef.Product with slamdata.Predef.Serializable
-
type
QScriptEducated[T[_[_]], A] = Coproduct[[β$23$]QScriptCore[T, β$23$], [A]Coproduct[[β$20$]ThetaJoin[T, β$20$], [A]Coproduct[[β$21$]Const[Read[Path[Abs, Dir, Sandboxed]], β$21$], [β$22$]Const[Read[Path[Abs, File, Sandboxed]], β$22$], A], A], A]
Initial QScript.
-
type
QScriptRead[T[_[_]], A] = Coproduct[[β$45$]QScriptCore[T, β$45$], [A]Coproduct[[β$42$]ThetaJoin[T, β$42$], [A]Coproduct[[β$43$]Const[Read[Path[Abs, Dir, Sandboxed]], β$43$], [β$44$]Const[Read[Path[Abs, File, Sandboxed]], β$44$], A], A], A]
QScript that has gone through Read conversion.
QScript that has gone through Read conversion.
NB: Once QScriptTotal goes away, this could become parametric in the path type.
-
type
QScriptShiftRead[T[_[_]], A] = Coproduct[[β$55$]QScriptCore[T, β$55$], [A]Coproduct[[β$52$]ThetaJoin[T, β$52$], [A]Coproduct[[β$53$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$53$], [β$54$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$54$], A], A], A]
QScript that has gone through Read conversion and shifted conversion.
QScript that has gone through Read conversion and shifted conversion.
NB: Once QScriptTotal goes away, this could become parametric in the path type.
-
type
QScriptTotal[T[_[_]], A] = Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], A]
This type is _only_ used for join branch-like structures.
This type is _only_ used for join branch-like structures. It’s an unfortunate consequence of not having mutually-recursive data structures. Once we do, this can go away. It should _not_ be used in other situations.
NB: We're using the "alias" method of building the coproduct here as it provides a modest reduction in compilation time (~15%) for this module.
- type QScriptTotal0[T[_[_]], A] = Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], A]
- type QScriptTotal1[T[_[_]], A] = Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], A]
- type QScriptTotal2[T[_[_]], A] = Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], A]
- type QScriptTotal3[T[_[_]], A] = Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], A]
- type QScriptTotal4[T[_[_]], A] = Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], A]
- type QScriptTotal5[T[_[_]], A] = Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], A]
- type QScriptTotal6[T[_[_]], A] = Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], A]
-
final
case class
Read[A](path: A) extends Product with Serializable
A backend-resolved
Root, which is now a path. - sealed trait RecFreeS[F[_], A] extends slamdata.Predef.Product with slamdata.Predef.Serializable
-
final
case class
Reduce[T[_[_]], A](src: A, bucket: slamdata.Predef.List[FreeMap[T]], reducers: slamdata.Predef.List[ReduceFunc[FreeMap[T]]], repair: FreeMapA[T, ReduceIndex]) extends QScriptCore[T, A] with Product with Serializable
Performs a reduction over a dataset, with the dataset partitioned by the result of the bucket MapFuncCore.
Performs a reduction over a dataset, with the dataset partitioned by the result of the bucket MapFuncCore. So, rather than many-to-one, this is many-to-fewer.
bucketpartitions the values into buckets based on the result of the expression,reducersapplies the provided reduction to each expression, and repair finally turns those reduced expressions into a final value.ReduceIndex is guaranteed to be a valid index into
reducers. - sealed abstract class ReduceFunc[A] extends AnyRef
-
final
case class
ReduceIndex(idx: \/[slamdata.Predef.Int, slamdata.Predef.Int]) extends Product with Serializable
Left indexes into the bucket.
Left indexes into the bucket. Right indexes into the reducers.
- sealed abstract class SelectionOp extends AnyRef
- sealed trait ShiftType extends Product with Serializable
-
final
case class
ShiftedRead[A](path: A, idStatus: IdStatus) extends Product with Serializable
Similar to Read, but returns a dataset with an entry for each record.
-
final
case class
Sort[T[_[_]], A](src: A, bucket: slamdata.Predef.List[FreeMap[T]], order: NonEmptyList[(FreeMap[T], SortDir)]) extends QScriptCore[T, A] with Product with Serializable
Sorts values within a bucket.
Sorts values within a bucket. This can be an _unstable_ sort, but the elements of
ordermust be stably sorted. -
final
case class
Subset[T[_[_]], A](src: A, from: FreeQS[T], op: SelectionOp, count: FreeQS[T]) extends QScriptCore[T, A] with Product with Serializable
Chooses a subset of values from a dataset, given a count.
-
trait
TTypes[T[_[_]]] extends AnyRef
Centralizes the knowledge of T[_[_]].
Centralizes the knowledge of T[_[_]]. This is for compilation performance.
- sealed abstract class Ternary[T[_[_]], A] extends MapFuncCore[T, A]
- sealed abstract class TernaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]
-
final
case class
ThetaJoin[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], on: JoinFunc[T], f: JoinType, combine: JoinFunc[T]) extends Product with Serializable
Applies a function across two datasets, in the cases where the JoinFunc evaluates to true.
Applies a function across two datasets, in the cases where the JoinFunc evaluates to true. The branches represent the divergent operations applied to some common src. Each branch references the src exactly once. (Since no constructor has more than one recursive component, it’s guaranteed that neither side references the src _more_ than once.)
This case represents a full θJoin, but we could have an algebra that rewrites it as Filter(_, EquiJoin(...)) to simplify behavior for the backend.
- trait Trans[F[_], M[_]] extends AnyRef
- sealed abstract class Unary[T[_[_]], A] extends MapFuncCore[T, A]
- sealed abstract class UnaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]
- trait UnaryFunctions[T[_[_]], IN[_]] extends AnyRef
-
final
case class
Union[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T]) extends QScriptCore[T, A] with Product with Serializable
Creates a new dataset that contains the elements from the datasets created by each branch.
Creates a new dataset that contains the elements from the datasets created by each branch. Duplicate values should not be eliminated.
-
final
case class
Unreferenced[T[_[_]], A]() extends QScriptCore[T, A] with Product with Serializable
A placeholder value that can appear in plans, but will never be referenced in the result.
A placeholder value that can appear in plans, but will never be referenced in the result. We consider this a wart. It should be implemented as an arbitrary value (of cardinality 1) with minimal cost to generate (since it will simply be discarded).
Value Members
- def ::/::[T[_[_]], F[_], G[_]](implicit F: :<:[F, [β$95$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$95$]], G: :<:[G, [β$96$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$96$]]): Aux[[γ$97$]Coproduct[F, G, γ$97$], [β$98$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$98$]]
- def HoleF[T[_[_]]]: FreeMap[T]
- def HoleQS[T[_[_]]]: FreeQS[T]
- def LeftSideF[T[_[_]]]: JoinFunc[T]
- def ReduceIndexF[T[_[_]]](i: \/[slamdata.Predef.Int, slamdata.Predef.Int]): FreeMapA[T, ReduceIndex]
- def RightSideF[T[_[_]]]: JoinFunc[T]
- def educatedToTotal[T[_[_]]]: Aux[[β$24$]Coproduct[[β$23$]QScriptCore[T, β$23$], [A]Coproduct[[β$20$]ThetaJoin[T, β$20$], [A]Coproduct[[β$21$]Const[Read[Path[Abs, Dir, Sandboxed]], β$21$], [β$22$]Const[Read[Path[Abs, File, Sandboxed]], β$22$], A], A], β$24$], [β$25$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$25$]]
-
def
injectRepeatedly[F[_], G[_], A](op: (F[A]) ⇒ slamdata.Predef.Option[G[A]])(implicit F: :<:[F, G]): (F[A]) ⇒ G[A]
A variant of
repeatedlythat works withInjectinstances.A variant of
repeatedlythat works withInjectinstances.- Annotations
- @SuppressWarnings()
- implicit def qScriptReadToQscriptTotal[T[_[_]]]: Aux[[β$46$]Coproduct[[β$45$]QScriptCore[T, β$45$], [A]Coproduct[[β$42$]ThetaJoin[T, β$42$], [A]Coproduct[[β$43$]Const[Read[Path[Abs, Dir, Sandboxed]], β$43$], [β$44$]Const[Read[Path[Abs, File, Sandboxed]], β$44$], A], A], β$46$], [β$47$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$47$]]
- implicit def qScriptShiftReadToQScriptTotal[T[_[_]]]: Aux[[β$56$]Coproduct[[β$55$]QScriptCore[T, β$55$], [A]Coproduct[[β$52$]ThetaJoin[T, β$52$], [A]Coproduct[[β$53$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$53$], [β$54$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$54$], A], A], β$56$], [β$57$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$57$]]
- implicit def qScriptToQscriptTotal[T[_[_]]]: Aux[[β$37$]Coproduct[[β$36$]QScriptCore[T, β$36$], [A]Coproduct[[β$34$]ThetaJoin[T, β$34$], [β$35$]Const[DeadEnd, β$35$], A], β$37$], [β$38$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$38$]]
- def rebase[M[_], A](in: M[A], key: M[A])(implicit arg0: Bind[M]): M[A]
- def rebaseT[T[_[_]], F[_]](target: FreeQS[T])(src: T[F])(implicit arg0: BirecursiveT[T], arg1: Traverse[F], FI: Aux[F, [β$81$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$81$]]): slamdata.Predef.Option[T[F]]
- def rebaseTCo[T[_[_]], F[_]](target: FreeQS[T])(srcCo: T[[γ$83$]CoEnv[Hole, F, γ$83$]])(implicit arg0: BirecursiveT[T], arg1: Traverse[F], FI: Aux[F, [β$84$]Coproduct[[β$0$]QScriptCore[T, β$0$], [β$1$]Coproduct[[β$2$]ProjectBucket[T, β$2$], [β$3$]Coproduct[[β$4$]ThetaJoin[T, β$4$], [β$5$]Coproduct[[β$6$]EquiJoin[T, β$6$], [β$7$]Coproduct[[β$8$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$8$], [β$9$]Coproduct[[β$10$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$10$], [β$11$]Coproduct[[β$12$]Const[Read[Path[Abs, Dir, Sandboxed]], β$12$], [β$13$]Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], β$13$], β$11$], β$9$], β$7$], β$5$], β$3$], β$1$], β$84$]]): slamdata.Predef.Option[T[[γ$85$]CoEnv[Hole, F, γ$85$]]]
- object ::\::
- object Branches
- object BucketIndex extends Serializable
- object BucketKey extends Serializable
- object Center extends JoinSide3 with Product with Serializable
- object DeadEnd
- object DiscoverPath extends DiscoverPathInstances
-
object
Drop extends SelectionOp with Product with Serializable
Drops the first
countelements from a dataset. - object EquiJoin extends Serializable
- object ExcludeId extends IdStatus with Product with Serializable
- object ExpandMapFunc extends ExpandMapFuncInstances with Serializable
- object ExtractFunc
- object ExtractPath extends ExtractPathInstances
- object Filter extends Serializable
- object Hole
- object IdOnly extends IdStatus with Product with Serializable
- object IdStatus
- object IncludeId extends IdStatus with Product with Serializable
- object Injectable
- object JoinSide
- object JoinSide3
- object LeftShift extends Serializable
- object LeftSide extends JoinSide with Product with Serializable
- object LeftSide3 extends JoinSide3 with Product with Serializable
- object MFC
- object MFD
- object Map extends Serializable
- object MapFunc
- object MapFuncCore
- object MapFuncDerived
- object MapFuncsCore
- object MapFuncsDerived
- object OnUndefined
- object ProjectBucket
- object QCE
- object QCT
- object QScriptCore extends Serializable
- object Read extends Serializable
- object RecFreeS extends Serializable
- object Reduce extends Serializable
- object ReduceFunc
- object ReduceFuncs
- object ReduceIndex extends Serializable
-
object
RenderQScriptDSL
- Annotations
- @SuppressWarnings()
- object RightSide extends JoinSide with Product with Serializable
- object RightSide3 extends JoinSide3 with Product with Serializable
-
object
Root extends DeadEnd with Product with Serializable
The top level of a filesystem.
The top level of a filesystem. During compilation this represents
/, but in the structure a backend sees, it represents the mount point. -
object
Sample extends SelectionOp with Product with Serializable
Similar to Take, but keeps a random sampling of elements.
- object SelectionOp
- object ShiftType extends Serializable
- object ShiftedRead extends Serializable
- object Sort extends Serializable
- object SrcHole extends Hole with Product with Serializable
- object Subset extends Serializable
-
object
Take extends SelectionOp with Product with Serializable
Drops all elements after the first
countelements from a dataset. - object ThetaJoin extends Serializable
- object Trans
- object UnaryFunctions
- object Union extends Serializable
- object Unreferenced extends Serializable
- object construction