Package

quasar

qscript

Permalink

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.

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

Type Members

  1. final case class Ann[T[_[_]]](provenance: slamdata.Predef.List[Provenance[T]], values: FreeMap[T]) extends Product with Serializable

    Permalink
  2. sealed abstract class Binary[T[_[_]], A] extends MapFuncCore[T, A]

    Permalink
  3. sealed abstract class BinaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]

    Permalink
  4. implicit final class BirecursiveOps[T[_[_]], F[_]] extends AnyVal

    Permalink
  5. trait Branches[F[_]] extends Serializable

    Permalink
  6. final case class BucketField[T[_[_]], A](src: A, value: FreeMap[T], name: FreeMap[T]) extends ProjectBucket[T, A] with Product with Serializable

    Permalink
  7. final case class BucketIndex[T[_[_]], A](src: A, value: FreeMap[T], index: FreeMap[T]) extends ProjectBucket[T, A] with Product with Serializable

    Permalink
  8. type CoEnvFree[F[_], A] = CoEnv[A, F, Free[F, A]]

    Permalink
  9. type CoEnvJoin[T[_[_]], A] = CoEnv[JoinSide, [β$61$]Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], β$61$], A]

    Permalink
  10. type CoEnvMap[T[_[_]], A] = CoEnv[Hole, [β$61$]Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], β$61$], A]

    Permalink
  11. type CoEnvMapA[T[_[_]], A, B] = CoEnv[A, [β$61$]Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], β$61$], B]

    Permalink
  12. type CoEnvQS[T[_[_]], A] = CoEnv[Hole, [β$60$]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$], β$60$], A]

    Permalink
  13. trait Coalesce[IN[_]] extends AnyRef

    Permalink

    Rewrites adjacent nodes.

  14. trait CoalesceInstances extends AnyRef

    Permalink
  15. class CoalesceT[T[_[_]]] extends TTypes[T]

    Permalink
  16. sealed abstract class DeadEnd extends AnyRef

    Permalink
  17. trait DiscoverPath[IN[_]] extends AnyRef

    Permalink

    This extracts statically-known paths from QScript queries to make it easier for connectors to map queries to their own filesystems.

  18. abstract class DiscoverPathInstances extends AnyRef

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

    Permalink

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

  20. trait ExpandDirs[IN[_]] extends AnyRef

    Permalink

    Converts any {Shifted}Read containing a directory to a union of all the files in that directory.

  21. abstract class ExpandDirsInstances extends AnyRef

    Permalink
  22. trait ExpandMapFunc[IN[_]] extends Serializable

    Permalink
  23. sealed abstract class ExpandMapFuncInstances extends ExpandMapFuncInstancesʹ

    Permalink
  24. sealed abstract class ExpandMapFuncInstancesʹ extends AnyRef

    Permalink
  25. trait ExtractPath[F[_], P] extends AnyRef

    Permalink

    Extracts paths of particular type from QScript, collecting them in the provided ApplicativePlus.

  26. sealed abstract class ExtractPathInstances extends ExtractPathInstances0

    Permalink
  27. sealed abstract class ExtractPathInstances0 extends AnyRef

    Permalink
  28. final case class Filter[T[_[_]], A](src: A, f: FreeMap[T]) extends QScriptCore[T, A] with Product with Serializable

    Permalink

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

  29. type FreeMap[T[_[_]]] = Free[[β$59$]Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], β$59$], Hole]

    Permalink
  30. type FreeMapA[T[_[_]], A] = Free[[β$59$]Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], β$59$], A]

    Permalink
  31. type FreeQS[T[_[_]]] = Free[[β$58$]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$], β$58$], Hole]

    Permalink
  32. implicit final class FreeQSOps[T[_[_]]] extends AnyVal

    Permalink
  33. sealed abstract class Hole extends AnyRef

    Permalink
  34. sealed abstract class IdStatus extends AnyRef

    Permalink
  35. trait Injectable[IN[_]] extends AnyRef

    Permalink

    This is like scalaz.Inject, but for injecting an arbitrary coproduct where all of the components are in the OUT coproduct in any order.

    This is like scalaz.Inject, but for injecting an arbitrary coproduct where all of the components are in the OUT coproduct 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.

  36. type JoinFunc[T[_[_]]] = Free[[β$59$]Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], β$59$], JoinSide]

    Permalink
  37. sealed abstract class JoinSide extends AnyRef

    Permalink
  38. final case class LeftShift[T[_[_]], A](src: A, struct: FreeMap[T], idStatus: IdStatus, repair: JoinFunc[T]) extends QScriptCore[T, A] with Product with Serializable

    Permalink

    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.

    struct is an expression that evaluates to an array or object, which is then “exploded” into multiple values. idStatus indicates 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). repair is applied across the new set, integrating the exploded values into the original set.

    E.g., in: LeftShift(x, ProjectField(SrcHole, "bar"), ExcludeId, ConcatMaps(LeftSide, MakeMap("bar", RightSide))) If x consists of things that look like { foo: 7, bar: [1, 2, 3] }, then that’s what LeftSide is. And RightSide is values like 1, 2, and 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 { bar: 1 }, resulting in { foo: 7, bar: 1 } (then again with { foo: 7, bar: 2 } and { foo: 7, bar: 3 }, finishing up the handling of that one element in the original (x) dataset.

  39. final case class Map[T[_[_]], A](src: A, f: FreeMap[T]) extends QScriptCore[T, A] with Product with Serializable

    Permalink

    A data-level transformation.

  40. type MapFunc[T[_[_]], A] = Coproduct[[β$48$]MapFuncCore[T, β$48$], [β$49$]MapFuncDerived[T, β$49$], A]

    Permalink
  41. sealed abstract class MapFuncCore[T[_[_]], A] extends AnyRef

    Permalink
  42. sealed abstract class MapFuncDerived[T[_[_]], A] extends AnyRef

    Permalink
  43. class Merge[T[_[_]]] extends TTypes[T]

    Permalink
  44. trait Mergeable[F[_]] extends Serializable

    Permalink
  45. trait Normalizable[F[_]] extends Serializable

    Permalink
  46. trait NormalizableInstances extends AnyRef

    Permalink
  47. class NormalizableT[T[_[_]]] extends TTypes[T]

    Permalink
  48. sealed abstract class Nullary[T[_[_]], A] extends MapFuncCore[T, A]

    Permalink
  49. sealed abstract class NullaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]

    Permalink
  50. class Optimize[T[_[_]]] extends TTypes[T]

    Permalink
  51. class PAFindRemap[T, F[_]] extends AnyRef

    Permalink
  52. class PAHelpers[T[_[_]]] extends TTypes[T]

    Permalink
  53. trait PreferProjection[F[_], T, B[_]] extends AnyRef

    Permalink

    A rewrite that, where possible, replaces map key deletion with construction of a new map containing the keys in the complement of the singleton set consisting of the deleted key.

    A rewrite that, where possible, replaces map key deletion with construction of a new map containing the keys in the complement of the singleton set consisting of the deleted key.

    Only applies to maps where all keys are known statically.

  54. sealed abstract class PreferProjectionInstances extends AnyRef

    Permalink
  55. sealed abstract class ProjectBucket[T[_[_]], A] extends AnyRef

    Permalink

    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.

  56. trait PruneArrays[F[_]] extends Serializable

    Permalink
  57. type QScript[T[_[_]], A] = Coproduct[[β$22$]QScriptCore[T, β$22$], [A]Coproduct[[β$20$]ThetaJoin[T, β$20$], [β$21$]Const[DeadEnd, β$21$], A], A]

    Permalink

    QScript that has not gone through Read conversion.

  58. sealed abstract class QScriptCore[T[_[_]], A] extends slamdata.Predef.Product with slamdata.Predef.Serializable

    Permalink
  59. type QScriptRead[T[_[_]], A] = Coproduct[[β$31$]QScriptCore[T, β$31$], [A]Coproduct[[β$28$]ThetaJoin[T, β$28$], [A]Coproduct[[β$29$]Const[Read[Path[Abs, Dir, Sandboxed]], β$29$], [β$30$]Const[Read[Path[Abs, File, Sandboxed]], β$30$], A], A], A]

    Permalink

    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.

  60. type QScriptShiftRead[T[_[_]], A] = Coproduct[[β$41$]QScriptCore[T, β$41$], [A]Coproduct[[β$38$]ThetaJoin[T, β$38$], [A]Coproduct[[β$39$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$39$], [β$40$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$40$], A], A], A]

    Permalink

    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.

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

    Permalink

    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.

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

    Permalink
  63. 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]

    Permalink
  64. 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]

    Permalink
  65. 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]

    Permalink
  66. 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]

    Permalink
  67. 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]

    Permalink
  68. type QScriptTotal6[T[_[_]], A] = Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], A]

    Permalink
  69. final case class Read[A](path: A) extends Product with Serializable

    Permalink

    A backend-resolved Root, which is now a path.

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

    Permalink

    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.

    bucket partitions the values into buckets based on the result of the expression, reducers applies 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.

  71. sealed abstract class ReduceFunc[A] extends AnyRef

    Permalink
  72. final case class ReduceIndex(idx: \/[slamdata.Predef.Int, slamdata.Predef.Int]) extends Product with Serializable

    Permalink

    Left indexes into the bucket.

    Left indexes into the bucket. Right indexes into the reducers.

  73. trait ReplaceMapFunc[T[_[_]], F[_]] extends AnyRef

    Permalink
  74. trait ReplaceMapFuncInstances extends AnyRef

    Permalink
  75. class Rewrite[T[_[_]]] extends TTypes[T]

    Permalink
  76. sealed abstract class SelectionOp extends AnyRef

    Permalink
  77. trait ShiftRead[F[_]] extends AnyRef

    Permalink

    This optional transformation changes the semantics of Read.

    This optional transformation changes the semantics of Read. The default semantics return a single value, whereas the transformed version has an implied LeftShift and therefore returns a set of values, which more closely matches the way many data stores behave.

  78. trait ShiftReadDir[F[_]] extends AnyRef

    Permalink

    Like ShiftRead, but only applies when the path is a directory, leaving file reads untouched.

  79. sealed abstract class ShiftReadDirInstances extends ShiftReadDirInstances0

    Permalink
  80. sealed abstract class ShiftReadDirInstances0 extends AnyRef

    Permalink
  81. final case class ShiftedRead[A](path: A, idStatus: IdStatus) extends Product with Serializable

    Permalink

    Similar to Read, but returns a dataset with an entry for each record.

    Similar to Read, but returns a dataset with an entry for each record. If idStatus is IncludeId, then it returns a two-element array for each record, with the id at element 0 and the record itself at element 1. If it’s ExcludeId, then it simply returns the record.

  82. class SimplifiableProjectionT[T[_[_]]] extends TTypes[T]

    Permalink
  83. trait SimplifyJoin[F[_]] extends AnyRef

    Permalink

    Replaces ThetaJoin with EquiJoin, which is often more feasible for connectors to implement.

    Replaces ThetaJoin with EquiJoin, which is often more feasible for connectors to implement. It potentially adds a Filter iff there are conditions in the ThetaJoin that can not be handled by an EquiJoin.

  84. trait SimplifyProjection[F[_]] extends AnyRef

    Permalink

    This optional transformation changes the semantics of Read.

    This optional transformation changes the semantics of Read. The default semantics return a single value, whereas the transformed version has an implied LeftShift and therefore returns a set of values, which more closely matches the way many data stores behave.

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

    Permalink

    Sorts values within a bucket.

    Sorts values within a bucket. This can be an _unstable_ sort, but the elements of order must be stably sorted.

  86. final case class SrcMerge[A, B](src: A, lval: B, rval: B) extends Product with Serializable

    Permalink
  87. final case class Subset[T[_[_]], A](src: A, from: FreeQS[T], op: SelectionOp, count: FreeQS[T]) extends QScriptCore[T, A] with Product with Serializable

    Permalink

    Chooses a subset of values from a dataset, given a count.

  88. trait TTypes[T[_[_]]] extends AnyRef

    Permalink

    Centralizes the knowledge of T[_[_]] as well as certain type classes required for many operations.

    Centralizes the knowledge of T[_[_]] as well as certain type classes required for many operations. This is for compilation performance.

  89. final case class Target[T[_[_]], F[_]](ann: Ann[T], value: T[F]) extends Product with Serializable

    Permalink
  90. sealed abstract class Ternary[T[_[_]], A] extends MapFuncCore[T, A]

    Permalink
  91. sealed abstract class TernaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]

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

    Permalink

    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.

  93. trait Trans[T[_[_]]] extends AnyRef

    Permalink
  94. class Transform[T[_[_]], F[_]] extends TTypes[T]

    Permalink
  95. sealed abstract class Unary[T[_[_]], A] extends MapFuncCore[T, A]

    Permalink
  96. sealed abstract class UnaryDerived[T[_[_]], A] extends MapFuncDerived[T, A]

    Permalink
  97. sealed trait Unicoalesce[T[_[_]], C <: CoM] extends AnyRef

    Permalink
  98. sealed trait UnicoalesceEJ[T[_[_]], C <: CoM] extends Unicoalesce[T, C]

    Permalink
  99. sealed trait UnicoalesceQC[T[_[_]], C <: CoM] extends Unicoalesce[T, C]

    Permalink
  100. sealed trait UnicoalesceSR[T[_[_]], C <: CoM] extends Unicoalesce[T, C]

    Permalink
  101. sealed trait UnicoalesceTJ[T[_[_]], C <: CoM] extends Unicoalesce[T, C]

    Permalink
  102. final case class Union[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T]) extends QScriptCore[T, A] with Product with Serializable

    Permalink

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

  103. sealed trait Unirewrite[T[_[_]], C <: CoM] extends AnyRef

    Permalink
  104. final case class Unreferenced[T[_[_]], A]() extends QScriptCore[T, A] with Product with Serializable

    Permalink

    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

  1. def ::/::[T[_[_]], F[_], G[_]](implicit F: :<:[F, [β$85$]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$], β$85$]], G: :<:[G, [β$86$]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$], β$86$]]): Aux[[γ$87$]Coproduct[F, G, γ$87$], [β$88$]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$], β$88$]]

    Permalink
  2. object ::\::

    Permalink
  3. object Ann extends Serializable

    Permalink
  4. object Branches extends Serializable

    Permalink
  5. object BucketField extends Serializable

    Permalink
  6. object BucketIndex extends Serializable

    Permalink
  7. object Coalesce extends CoalesceInstances

    Permalink
  8. object DeadEnd

    Permalink
  9. object DiscoverPath extends DiscoverPathInstances

    Permalink
  10. object Drop extends SelectionOp with Product with Serializable

    Permalink

    Drops the first count elements from a dataset.

  11. def EmptyAnn[T[_[_]]]: Ann[T]

    Permalink
  12. object EquiJoin extends Serializable

    Permalink
  13. object ExcludeId extends IdStatus with Product with Serializable

    Permalink
  14. object ExpandDirs extends ExpandDirsInstances

    Permalink
  15. object ExpandMapFunc extends ExpandMapFuncInstances with Serializable

    Permalink
  16. object ExtractFunc

    Permalink
  17. object ExtractPath extends ExtractPathInstances

    Permalink
  18. object Filter extends Serializable

    Permalink
  19. object Hole

    Permalink
  20. def HoleF[T[_[_]]]: FreeMap[T]

    Permalink
  21. def HoleQS[T[_[_]]]: FreeQS[T]

    Permalink
  22. object IdOnly extends IdStatus with Product with Serializable

    Permalink
  23. object IdStatus

    Permalink
  24. object IncludeId extends IdStatus with Product with Serializable

    Permalink
  25. object Injectable

    Permalink
  26. object JoinSide

    Permalink
  27. object LeftShift extends Serializable

    Permalink
  28. object LeftSide extends JoinSide with Product with Serializable

    Permalink
  29. def LeftSideF[T[_[_]]]: JoinFunc[T]

    Permalink
  30. object MFC

    Permalink
  31. object MFD

    Permalink
  32. object Map extends Serializable

    Permalink
  33. object MapFunc

    Permalink
  34. object MapFuncCore

    Permalink
  35. object MapFuncDerived

    Permalink
  36. object MapFuncsCore

    Permalink
  37. object MapFuncsDerived

    Permalink
  38. object Mergeable extends Serializable

    Permalink
  39. object Normalizable extends NormalizableInstances with Serializable

    Permalink
  40. object PATypes

    Permalink
  41. object PreferProjection extends PreferProjectionInstances

    Permalink
  42. object ProjectBucket

    Permalink
  43. object PruneArrays extends Serializable

    Permalink
  44. object QCT

    Permalink
  45. object QScriptCore extends Serializable

    Permalink
  46. object Read extends Serializable

    Permalink
  47. object Reduce extends Serializable

    Permalink
  48. object ReduceFunc

    Permalink
  49. object ReduceFuncs

    Permalink
  50. object ReduceIndex extends Serializable

    Permalink
  51. def ReduceIndexF[T[_[_]]](i: \/[slamdata.Predef.Int, slamdata.Predef.Int]): FreeMapA[T, ReduceIndex]

    Permalink
  52. object ReplaceMapFunc extends ReplaceMapFuncInstances

    Permalink
  53. object RightSide extends JoinSide with Product with Serializable

    Permalink
  54. def RightSideF[T[_[_]]]: JoinFunc[T]

    Permalink
  55. object Root extends DeadEnd with Product with Serializable

    Permalink

    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.

  56. object Sample extends SelectionOp with Product with Serializable

    Permalink

    Similar to Take, but keeps a random sampling of elements.

  57. object SelectionOp

    Permalink
  58. object ShiftRead

    Permalink
  59. object ShiftReadDir extends ShiftReadDirInstances

    Permalink
  60. object ShiftedRead extends Serializable

    Permalink
  61. object SimplifyJoin

    Permalink
  62. object SimplifyProjection

    Permalink
  63. object Sort extends Serializable

    Permalink
  64. object SrcHole extends Hole with Product with Serializable

    Permalink
  65. object Subset extends Serializable

    Permalink
  66. object TTypes

    Permalink
  67. object Take extends SelectionOp with Product with Serializable

    Permalink

    Drops all elements after the first count elements from a dataset.

  68. object Target extends Serializable

    Permalink
  69. object ThetaJoin extends Serializable

    Permalink
  70. object Unicoalesce

    Permalink
  71. object UnicoalesceEJ extends UnicoalesceEJLowPriorityImplicits

    Permalink
  72. object UnicoalesceQC extends UnicoalesceQCLowPriorityImplicits

    Permalink
  73. object UnicoalesceSR extends UnicoalesceSRLowPriorityImplicits

    Permalink
  74. object UnicoalesceTJ extends UnicoalesceTJLowPriorityImplicits

    Permalink
  75. object Union extends Serializable

    Permalink
  76. object Unirewrite extends UnirewriteLowPriorityImplicits

    Permalink
  77. object Unreferenced extends Serializable

    Permalink
  78. package analysis

    Permalink
  79. def applyTrans[T[_[_]], F[_]](target: T[F])(transform: Trans[T])(implicit arg0: BirecursiveT[T], arg1: Functor[F], branches: Aux[T, F], QC: :<:[[β$104$]QScriptCore[T, β$104$], F]): T[F]

    Permalink
  80. def concat[T[_[_]], A](l: FreeMapA[T, A], r: FreeMapA[T, A])(implicit arg0: BirecursiveT[T], arg1: EqualT[T], arg2: ShowT[T], arg3: RenderTreeT[T], arg4: Equal[A], arg5: Show[A], arg6: RenderTree[A]): (FreeMapA[T, A], FreeMap[T], FreeMap[T])

    Permalink
  81. def concat3[T[_[_]], A](l: FreeMapA[T, A], c: FreeMapA[T, A], r: FreeMapA[T, A])(implicit arg0: BirecursiveT[T], arg1: EqualT[T], arg2: ShowT[T], arg3: RenderTreeT[T], arg4: Equal[A], arg5: Show[A], arg6: RenderTree[A]): (FreeMapA[T, A], FreeMap[T], FreeMap[T], FreeMap[T])

    Permalink
  82. def concat4[T[_[_]], A](l: FreeMapA[T, A], c: FreeMapA[T, A], r: FreeMapA[T, A], r2: FreeMapA[T, A])(implicit arg0: BirecursiveT[T], arg1: EqualT[T], arg2: ShowT[T], arg3: RenderTreeT[T], arg4: Equal[A], arg5: Show[A], arg6: RenderTree[A]): (FreeMapA[T, A], FreeMap[T], FreeMap[T], FreeMap[T], FreeMap[T])

    Permalink
  83. def injectRepeatedly[F[_], G[_], A](op: (F[A]) ⇒ slamdata.Predef.Option[G[A]])(implicit F: :<:[F, G]): (F[A]) ⇒ G[A]

    Permalink

    A variant of repeatedly that works with Inject instances.

    A variant of repeatedly that works with Inject instances.

    Annotations
    @SuppressWarnings()
  84. def liftAlgebra[T[_[_]], F[_], G[_]](alg: (QScriptCore[T, T[G]]) ⇒ F[T[G]], GtoF: PrismNT[G, F])(implicit arg0: BirecursiveT[T], arg1: Functor[G], QC: :<:[[β$96$]QScriptCore[T, β$96$], F]): (F[T[G]]) ⇒ G[T[G]]

    Permalink
  85. def liftCoEnv[T[_[_]], F[_]](alg: (QScriptCore[T, T[[γ$99$]CoEnv[Hole, F, γ$99$]]]) ⇒ F[T[[γ$100$]CoEnv[Hole, F, γ$100$]]])(implicit arg0: BirecursiveT[T], arg1: Functor[F], QC: :<:[[β$101$]QScriptCore[T, β$101$], F]): (CoEnvFree[F, Hole]) ⇒ CoEnvFree[F, Hole]

    Permalink
  86. def liftId[T[_[_]], F[_]](alg: (QScriptCore[T, T[F]]) ⇒ F[T[F]])(implicit arg0: BirecursiveT[T], arg1: Functor[F], QC: :<:[[β$98$]QScriptCore[T, β$98$], F]): (F[T[F]]) ⇒ F[T[F]]

    Permalink
  87. package provenance

    Permalink
  88. implicit def qScriptReadToQscriptTotal[T[_[_]]]: Aux[[β$32$]Coproduct[[β$31$]QScriptCore[T, β$31$], [A]Coproduct[[β$28$]ThetaJoin[T, β$28$], [A]Coproduct[[β$29$]Const[Read[Path[Abs, Dir, Sandboxed]], β$29$], [β$30$]Const[Read[Path[Abs, File, Sandboxed]], β$30$], A], A], β$32$], [β$33$]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$], β$33$]]

    Permalink
  89. implicit def qScriptShiftReadToQScriptTotal[T[_[_]]]: Aux[[β$42$]Coproduct[[β$41$]QScriptCore[T, β$41$], [A]Coproduct[[β$38$]ThetaJoin[T, β$38$], [A]Coproduct[[β$39$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$39$], [β$40$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$40$], A], A], β$42$], [β$43$]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$], β$43$]]

    Permalink
  90. implicit def qScriptToQscriptTotal[T[_[_]]]: Aux[[β$23$]Coproduct[[β$22$]QScriptCore[T, β$22$], [A]Coproduct[[β$20$]ThetaJoin[T, β$20$], [β$21$]Const[DeadEnd, β$21$], A], β$23$], [β$24$]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$], β$24$]]

    Permalink
  91. def rebase[M[_], A](in: M[A], field: M[A])(implicit arg0: Bind[M]): M[A]

    Permalink
  92. def rebaseBranch[T[_[_]]](br: FreeQS[T], fm: FreeMap[T])(implicit arg0: BirecursiveT[T], arg1: EqualT[T], arg2: ShowT[T], arg3: RenderTreeT[T]): FreeQS[T]

    Permalink
  93. def rebaseT[T[_[_]], F[_]](target: FreeQS[T])(src: T[F])(implicit arg0: BirecursiveT[T], arg1: Traverse[F], FI: Aux[F, [β$71$]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$], β$71$]]): slamdata.Predef.Option[T[F]]

    Permalink
  94. def rebaseTCo[T[_[_]], F[_]](target: FreeQS[T])(srcCo: T[[γ$73$]CoEnv[Hole, F, γ$73$]])(implicit arg0: BirecursiveT[T], arg1: Traverse[F], FI: Aux[F, [β$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$]]): slamdata.Predef.Option[T[[γ$75$]CoEnv[Hole, F, γ$75$]]]

    Permalink

Inherited from AnyRef

Inherited from Any

MRA

Ungrouped