Packages

o

quasar.sql

SemanticAnalysis

object SemanticAnalysis

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

Type Members

  1. type Annotations = (slamdata.Predef.List[slamdata.Predef.Option[Synthetic]], Provenance)
  2. final case class BindingScope(scope: slamdata.Predef.Map[slamdata.Predef.String, SqlRelation[slamdata.Predef.Unit]]) extends Product with Serializable
  3. type Failure = NonEmptyList[SemanticError]
  4. sealed abstract class Provenance extends AnyRef
  5. trait ProvenanceInstances extends AnyRef
  6. final case class Scope(tableScope: TableScope, bindingScope: BindingScope) extends Product with Serializable
  7. sealed abstract class Synthetic extends AnyRef
  8. final case class TableScope(scope: slamdata.Predef.Map[slamdata.Predef.String, SqlRelation[slamdata.Predef.Unit]]) extends Product with Serializable
  9. type ValidSem[A] = Validation[NonEmptyList[SemanticError], A]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit val ShowBindingScope: Show[BindingScope]
  5. implicit def ShowTableScope: Show[TableScope]
  6. def addAnnotations[T](implicit T: Aux[T, Sql]): ElgotAlgebraM[[β$5$]((Scope, T), β$5$), [β$6$]\/[NonEmptyList[SemanticError], β$6$], Sql, Cofree[Sql, Annotations]]
  7. def annotate[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): \/[NonEmptyList[SemanticError], Cofree[Sql, Annotations]]
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def inferProvenanceƒ[T](implicit T: Aux[T, Sql]): ElgotAlgebraM[[β$1$](Scope, β$1$), ValidSem, Sql, Provenance]

    This phase infers the provenance of every expression, issuing errors if identifiers are used with unknown provenance.

    This phase infers the provenance of every expression, issuing errors if identifiers are used with unknown provenance. The phase requires TableScope and BindingScope annotations on the tree.

  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def normalizeProjections[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): T
  19. def normalizeProjectionsƒ[T](implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): CoalgebraM[[β$0$]IndexedStateT[[X]X, Option[String], Option[String], β$0$], Sql, T]
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. def projectSortKeys[T](expr: T)(implicit arg0: Equal[T], TR: Aux[T, Sql], TC: Aux[T, Sql]): T
  23. def projectSortKeysƒ[T](implicit arg0: Equal[T], TR: Aux[T, Sql], TC: Aux[T, Sql]): (Sql[T]) ⇒ slamdata.Predef.Option[Sql[T]]

    Inserts synthetic keys into the projections of each select stmt to hold the values that will be used in sorting, and annotates each new projection with Synthetic.SortKey.

    Inserts synthetic keys into the projections of each select stmt to hold the values that will be used in sorting, and annotates each new projection with Synthetic.SortKey. The compiler will generate a step to remove these keys after the sort operation.

  24. def scopeTablesƒ[T](implicit T: Aux[T, Sql]): CoalgebraM[ValidSem, Sql, (Scope, T)]

    This analysis identifies all the named tables within scope at each node in the tree.

    This analysis identifies all the named tables within scope at each node in the tree. If two tables are given the same name within the same scope, then because this leads to an ambiguity, an error is produced containing details on the duplicate name.

  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. val synthElgotMƒ: ElgotAlgebraM[[β$3$](Scope, β$3$), ValidSem, Sql, slamdata.Predef.List[slamdata.Predef.Option[Synthetic]]]
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  31. object Provenance extends ProvenanceInstances
  32. object Synthetic

Inherited from AnyRef

Inherited from Any

Ungrouped