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
AnyRef, Any
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. final case class BucketField[T[_[_]], A](src: A, value: FreeMap[T], name: FreeMap[T]) extends ProjectBucket[T, A] with Product with Serializable

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

    Permalink
  7. type CoEnvJoin[T[_[_]], A] = CoEnv[JoinSide, [β$57$]Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], β$57$], A]

    Permalink
  8. type CoEnvMap[T[_[_]], A] = CoEnv[Hole, [β$57$]Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], β$57$], A]

    Permalink
  9. type CoEnvMapA[T[_[_]], A, B] = CoEnv[A, [β$57$]Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], β$57$], B]

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

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

    Permalink

    Rewrites adjacent nodes.

  12. trait CoalesceInstances extends AnyRef

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

    Permalink
  14. sealed abstract class DeadEnd extends AnyRef

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

  16. abstract class DiscoverPathInstances extends AnyRef

    Permalink
  17. final case class EquiJoin[T[_[_]], A](src: A, lBranch: FreeQS[T], rBranch: FreeQS[T], lKey: FreeMap[T], rKey: 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).

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

    Permalink

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

  19. abstract class ExpandDirsInstances extends AnyRef

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

    Permalink
  21. sealed abstract class ExpandMapFuncInstances extends ExpandMapFuncInstancesʹ

    Permalink
  22. sealed abstract class ExpandMapFuncInstancesʹ extends AnyRef

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

    Permalink

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

  24. sealed abstract class ExtractPathInstances extends ExtractPathInstances0

    Permalink
  25. sealed abstract class ExtractPathInstances0 extends AnyRef

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

  27. type FreeMap[T[_[_]]] = Free[[β$55$]Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], β$55$], Hole]

    Permalink
  28. type FreeMapA[T[_[_]], A] = Free[[β$55$]Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], β$55$], A]

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

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

    Permalink
  31. sealed abstract class Hole extends AnyRef

    Permalink
  32. sealed abstract class IdStatus extends AnyRef

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

  34. type JoinFunc[T[_[_]]] = Free[[β$55$]Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], β$55$], JoinSide]

    Permalink
  35. sealed abstract class JoinSide extends AnyRef

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

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

    Permalink

    A data-level transformation.

  38. type MapFunc[T[_[_]], A] = Coproduct[[β$44$]MapFuncCore[T, β$44$], [β$45$]MapFuncDerived[T, β$45$], A]

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

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

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

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

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

    Permalink
  44. trait NormalizableInstances extends AnyRef

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

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

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

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

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

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

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

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

    Permalink
  53. type QScript[T[_[_]], A] = Coproduct[[β$18$]QScriptCore[T, β$18$], [A]Coproduct[[β$16$]ThetaJoin[T, β$16$], [β$17$]Const[DeadEnd, β$17$], A], A]

    Permalink

    QScript that has not gone through Read conversion.

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

    Permalink
  55. type QScriptRead[T[_[_]], A] = Coproduct[[β$27$]QScriptCore[T, β$27$], [A]Coproduct[[β$24$]ThetaJoin[T, β$24$], [A]Coproduct[[β$25$]Const[Read[Path[Abs, Dir, Sandboxed]], β$25$], [β$26$]Const[Read[Path[Abs, File, Sandboxed]], β$26$], 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.

  56. type QScriptShiftRead[T[_[_]], A] = Coproduct[[β$37$]QScriptCore[T, β$37$], [A]Coproduct[[β$34$]ThetaJoin[T, β$34$], [A]Coproduct[[β$35$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$35$], [β$36$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$36$], 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.

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

  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. type QScriptTotal6[T[_[_]], A] = Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], A]

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

    Permalink

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

  66. final case class Reduce[T[_[_]], A](src: A, bucket: 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.

  67. sealed abstract class ReduceFunc[A] extends AnyRef

    Permalink
  68. final case class ReduceIndex(idx: slamdata.Predef.Option[slamdata.Predef.Int]) extends Product with Serializable

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

    Permalink
  70. sealed abstract class SelectionOp extends AnyRef

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

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

    Permalink

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

  73. sealed abstract class ShiftReadDirInstances extends ShiftReadDirInstances0

    Permalink
  74. sealed abstract class ShiftReadDirInstances0 extends AnyRef

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

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

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

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

  79. final case class Sort[T[_[_]], A](src: A, bucket: 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.

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

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

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

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

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

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

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

  87. class Transform[T[_[_]], F[_]] extends TTypes[T]

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

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

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

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

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

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

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

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

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

    Permalink
  97. 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, [β$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$]], G: :<:[G, [β$82$]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$], β$82$]]): Aux[[γ$83$]Coproduct[F, G, γ$83$], [β$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$]]

    Permalink
  2. object ::\::

    Permalink
  3. object Ann extends Serializable

    Permalink
  4. object BucketField extends Serializable

    Permalink
  5. object BucketIndex extends Serializable

    Permalink
  6. object Coalesce extends CoalesceInstances

    Permalink
  7. object DeadEnd

    Permalink
  8. object DiscoverPath extends DiscoverPathInstances

    Permalink
  9. object Drop extends SelectionOp with Product with Serializable

    Permalink

    Drops the first count elements from a dataset.

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

    Permalink
  11. object EquiJoin extends Serializable

    Permalink
  12. object ExcludeId extends IdStatus with Product with Serializable

    Permalink
  13. object ExpandDirs extends ExpandDirsInstances

    Permalink
  14. object ExpandMapFunc extends ExpandMapFuncInstances with Serializable

    Permalink
  15. object ExtractPath extends ExtractPathInstances

    Permalink
  16. object Filter extends Serializable

    Permalink
  17. object Hole

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

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

    Permalink
  20. object IdOnly extends IdStatus with Product with Serializable

    Permalink
  21. object IdStatus

    Permalink
  22. object IncludeId extends IdStatus with Product with Serializable

    Permalink
  23. object Injectable

    Permalink
  24. object JoinSide

    Permalink
  25. object LeftShift extends Serializable

    Permalink
  26. object LeftSide extends JoinSide with Product with Serializable

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

    Permalink
  28. object MFC

    Permalink
  29. object MFD

    Permalink
  30. object Map extends Serializable

    Permalink
  31. object MapFunc

    Permalink
  32. object MapFuncCore

    Permalink
  33. object MapFuncDerived

    Permalink
  34. object MapFuncsCore

    Permalink
  35. object MapFuncsDerived

    Permalink
  36. object Mergeable extends Serializable

    Permalink
  37. object Normalizable extends NormalizableInstances with Serializable

    Permalink
  38. object PATypes

    Permalink
  39. object ProjectBucket

    Permalink
  40. object PruneArrays extends Serializable

    Permalink
  41. object QScriptCore extends Serializable

    Permalink
  42. object Read extends Serializable

    Permalink
  43. object Reduce extends Serializable

    Permalink
  44. object ReduceFunc

    Permalink
  45. object ReduceFuncs

    Permalink
  46. object ReduceIndex extends Serializable

    Permalink
  47. def ReduceIndexF[T[_[_]]](i: slamdata.Predef.Option[slamdata.Predef.Int]): FreeMapA[T, ReduceIndex]

    Permalink
  48. object RightSide extends JoinSide with Product with Serializable

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

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

  51. object Sample extends SelectionOp with Product with Serializable

    Permalink

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

  52. object SelectionOp

    Permalink
  53. object ShiftRead

    Permalink
  54. object ShiftReadDir extends ShiftReadDirInstances

    Permalink
  55. object ShiftedRead extends Serializable

    Permalink
  56. object SimplifyJoin

    Permalink
  57. object SimplifyProjection

    Permalink
  58. object Sort extends Serializable

    Permalink
  59. object SrcHole extends Hole with Product with Serializable

    Permalink
  60. object Subset extends Serializable

    Permalink
  61. object TTypes

    Permalink
  62. object Take extends SelectionOp with Product with Serializable

    Permalink

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

  63. object Target extends Serializable

    Permalink
  64. object ThetaJoin extends Serializable

    Permalink
  65. object Unicoalesce

    Permalink
  66. object UnicoalesceEJ extends UnicoalesceEJLowPriorityImplicits

    Permalink
  67. object UnicoalesceQC extends UnicoalesceQCLowPriorityImplicits

    Permalink
  68. object UnicoalesceSR extends UnicoalesceSRLowPriorityImplicits

    Permalink
  69. object UnicoalesceTJ extends UnicoalesceTJLowPriorityImplicits

    Permalink
  70. object Union extends Serializable

    Permalink
  71. object Unirewrite extends UnirewriteLowPriorityImplicits

    Permalink
  72. object Unreferenced extends Serializable

    Permalink
  73. package analysis

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

    Permalink
  75. 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()
  76. def naiveConcat3[T[_[_]], A](l: FreeMapA[T, A], c: FreeMapA[T, A], r: FreeMapA[T, A])(implicit arg0: CorecursiveT[T]): (FreeMapA[T, A], FreeMap[T], FreeMap[T], FreeMap[T])

    Permalink
  77. def naiveConcat4[T[_[_]], A](l: FreeMapA[T, A], c: FreeMapA[T, A], r: FreeMapA[T, A], r2: FreeMapA[T, A])(implicit arg0: CorecursiveT[T]): (FreeMapA[T, A], FreeMap[T], FreeMap[T], FreeMap[T], FreeMap[T])

    Permalink
  78. package provenance

    Permalink
  79. implicit def qScriptReadToQscriptTotal[T[_[_]]]: Aux[[β$28$]Coproduct[[β$27$]QScriptCore[T, β$27$], [A]Coproduct[[β$24$]ThetaJoin[T, β$24$], [A]Coproduct[[β$25$]Const[Read[Path[Abs, Dir, Sandboxed]], β$25$], [β$26$]Const[Read[Path[Abs, File, Sandboxed]], β$26$], A], A], β$28$], [β$29$]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$], β$29$]]

    Permalink
  80. implicit def qScriptShiftReadToQScriptTotal[T[_[_]]]: Aux[[β$38$]Coproduct[[β$37$]QScriptCore[T, β$37$], [A]Coproduct[[β$34$]ThetaJoin[T, β$34$], [A]Coproduct[[β$35$]Const[ShiftedRead[Path[Abs, Dir, Sandboxed]], β$35$], [β$36$]Const[ShiftedRead[Path[Abs, File, Sandboxed]], β$36$], A], A], β$38$], [β$39$]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$], β$39$]]

    Permalink
  81. implicit def qScriptToQscriptTotal[T[_[_]]]: Aux[[β$19$]Coproduct[[β$18$]QScriptCore[T, β$18$], [A]Coproduct[[β$16$]ThetaJoin[T, β$16$], [β$17$]Const[DeadEnd, β$17$], A], β$19$], [β$20$]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$], β$20$]]

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

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

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

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

    Permalink

Inherited from AnyRef

Inherited from Any

MRA

Ungrouped