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 MapFunc[T, A]

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

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

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

    Permalink
  6. type CoEnvJoin[T[_[_]], A] = CoEnv[JoinSide, [β$47$]MapFunc[T, β$47$], A]

    Permalink
  7. type CoEnvMap[T[_[_]], A] = CoEnv[Hole, [β$47$]MapFunc[T, β$47$], A]

    Permalink
  8. type CoEnvMapA[T[_[_]], A, B] = CoEnv[A, [β$47$]MapFunc[T, β$47$], B]

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

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

    Permalink

    Rewrites adjacent nodes.

  11. trait CoalesceInstances extends AnyRef

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

    Permalink
  13. sealed abstract class DeadEnd extends AnyRef

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

  15. abstract class DiscoverPathInstances extends AnyRef

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

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

    Permalink

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

  18. abstract class ExpandDirsInstances extends AnyRef

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

    Permalink

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

  20. sealed abstract class ExtractPathInstances extends ExtractPathInstances0

    Permalink
  21. sealed abstract class ExtractPathInstances0 extends AnyRef

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

  23. type FreeMap[T[_[_]]] = Free[[β$45$]MapFunc[T, β$45$], Hole]

    Permalink
  24. type FreeMapA[T[_[_]], A] = Free[[β$45$]MapFunc[T, β$45$], A]

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

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

    Permalink
  27. sealed abstract class Hole extends AnyRef

    Permalink
  28. sealed abstract class IdStatus extends AnyRef

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

  30. type JoinFunc[T[_[_]]] = Free[[β$45$]MapFunc[T, β$45$], JoinSide]

    Permalink
  31. sealed abstract class JoinSide extends AnyRef

    Permalink
  32. 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.MapFuncs.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.

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

    Permalink

    A data-level transformation.

  34. sealed abstract class MapFunc[T[_[_]], A] extends AnyRef

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

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

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

    Permalink
  38. trait NormalizableInstances extends AnyRef

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

    Permalink
  40. sealed abstract class Nullary[T[_[_]], A] extends MapFunc[T, A]

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

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

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

    Permalink
  44. 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 MapFuncs before being processed by the filesystem.

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

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

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

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

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

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

  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. type QScriptTotal6[T[_[_]], A] = Coproduct[[β$14$]Const[Read[Path[Abs, File, Sandboxed]], β$14$], [β$15$]Const[DeadEnd, β$15$], A]

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

    Permalink

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

  59. 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 MapFunc.

    Performs a reduction over a dataset, with the dataset partitioned by the result of the bucket MapFunc. 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.

  60. sealed abstract class ReduceFunc[A] extends AnyRef

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

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

    Permalink
  63. sealed abstract class SelectionOp extends AnyRef

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

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

    Permalink

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

  66. sealed abstract class ShiftReadDirInstances extends ShiftReadDirInstances0

    Permalink
  67. sealed abstract class ShiftReadDirInstances0 extends AnyRef

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

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

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

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

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

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

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

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

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

    Permalink
  77. sealed abstract class Ternary[T[_[_]], A] extends MapFunc[T, A]

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

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

    Permalink
  80. sealed abstract class Unary[T[_[_]], A] extends MapFunc[T, A]

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

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

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

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

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

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

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

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

    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 ExtractPath extends ExtractPathInstances

    Permalink
  15. object Filter extends Serializable

    Permalink
  16. object Hole

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

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

    Permalink
  19. object IdOnly extends IdStatus with Product with Serializable

    Permalink
  20. object IdStatus

    Permalink
  21. object IncludeId extends IdStatus with Product with Serializable

    Permalink
  22. object Injectable

    Permalink
  23. object JoinSide

    Permalink
  24. object LeftShift extends Serializable

    Permalink
  25. object LeftSide extends JoinSide with Product with Serializable

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

    Permalink
  27. object Map extends Serializable

    Permalink
  28. object MapFunc

    Permalink
  29. object MapFuncs

    Permalink
  30. object Mergeable extends Serializable

    Permalink
  31. object Normalizable extends NormalizableInstances with Serializable

    Permalink
  32. object PATypes

    Permalink
  33. object ProjectBucket

    Permalink
  34. object PruneArrays extends Serializable

    Permalink
  35. object QScriptCore extends Serializable

    Permalink
  36. object Read extends Serializable

    Permalink
  37. object Reduce extends Serializable

    Permalink
  38. object ReduceFunc

    Permalink
  39. object ReduceFuncs

    Permalink
  40. object ReduceIndex extends Serializable

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

    Permalink
  42. object RightSide extends JoinSide with Product with Serializable

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

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

  45. object Sample extends SelectionOp with Product with Serializable

    Permalink

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

  46. object SelectionOp

    Permalink
  47. object ShiftRead

    Permalink
  48. object ShiftReadDir extends ShiftReadDirInstances

    Permalink
  49. object ShiftedRead extends Serializable

    Permalink
  50. object SimplifyJoin

    Permalink
  51. object SimplifyProjection

    Permalink
  52. object Sort extends Serializable

    Permalink
  53. object SrcHole extends Hole with Product with Serializable

    Permalink
  54. object Subset extends Serializable

    Permalink
  55. object TTypes

    Permalink
  56. object Take extends SelectionOp with Product with Serializable

    Permalink

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

  57. object Target extends Serializable

    Permalink
  58. object ThetaJoin extends Serializable

    Permalink
  59. object Unicoalesce

    Permalink
  60. object UnicoalesceEJ extends UnicoalesceEJLowPriorityImplicits

    Permalink
  61. object UnicoalesceQC extends UnicoalesceQCLowPriorityImplicits

    Permalink
  62. object UnicoalesceSR extends UnicoalesceSRLowPriorityImplicits

    Permalink
  63. object UnicoalesceTJ extends UnicoalesceTJLowPriorityImplicits

    Permalink
  64. object Union extends Serializable

    Permalink
  65. object Unirewrite extends UnirewriteLowPriorityImplicits

    Permalink
  66. object Unreferenced extends Serializable

    Permalink
  67. package analysis

    Permalink
  68. 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
  69. def concat3[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
  70. def concat4[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
  71. 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.

  72. package provenance

    Permalink
  73. 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
  74. 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
  75. 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
  76. def rebase[M[_], A](in: M[A], field: M[A])(implicit arg0: Bind[M]): M[A]

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

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

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

    Permalink

Inherited from AnyRef

Inherited from Any

MRA

Ungrouped