Object

quasar.sql

SemanticAnalysis

Related Doc: package sql

Permalink

object SemanticAnalysis

Linear Supertypes
AnyRef, Any
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)

    Permalink
  2. final case class BindingScope(scope: slamdata.Predef.Map[slamdata.Predef.String, SqlRelation[slamdata.Predef.Unit]]) extends Product with Serializable

    Permalink
  3. type Failure = NonEmptyList[SemanticError]

    Permalink
  4. sealed abstract class Provenance extends AnyRef

    Permalink
  5. trait ProvenanceInstances extends AnyRef

    Permalink
  6. final case class Scope(tableScope: TableScope, bindingScope: BindingScope) extends Product with Serializable

    Permalink
  7. sealed abstract class Synthetic extends AnyRef

    Permalink
  8. final case class TableScope(scope: slamdata.Predef.Map[slamdata.Predef.String, SqlRelation[slamdata.Predef.Unit]]) extends Product with Serializable

    Permalink
  9. type ValidSem[A] = Validation[NonEmptyList[SemanticError], A]

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object Provenance extends ProvenanceInstances

    Permalink
  5. implicit val ShowBindingScope: Show[BindingScope]

    Permalink
  6. implicit def ShowTableScope: Show[TableScope]

    Permalink
  7. object Synthetic

    Permalink
  8. def addAnnotations[T](implicit T: Aux[T, Sql]): ElgotAlgebraM[[β$5$]((Scope, T), β$5$), [β$6$]\/[NonEmptyList[SemanticError], β$6$], Sql, Cofree[Sql, Annotations]]

    Permalink
  9. def annotate[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): \/[NonEmptyList[SemanticError], Cofree[Sql, Annotations]]

    Permalink
  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. def inferProvenanceƒ[T](implicit T: Aux[T, Sql]): ElgotAlgebraM[[β$1$](Scope, β$1$), ValidSem, Sql, Provenance]

    Permalink

    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.

  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def normalizeProjections[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): T

    Permalink
  21. def normalizeProjectionsƒ[T](implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): CoalgebraM[[β$0$]IndexedStateT[[X]X, Option[String], Option[String], β$0$], Sql, T]

    Permalink
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. def projectSortKeys[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): T

    Permalink
  25. def projectSortKeysƒ[T](implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): (Sql[T]) ⇒ slamdata.Predef.Option[Sql[T]]

    Permalink

    Inserts synthetic fields 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 fields 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 fields after the sort operation.

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

    Permalink

    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.

  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  28. val synthElgotMƒ: ElgotAlgebraM[[β$3$](Scope, β$3$), ValidSem, Sql, slamdata.Predef.List[slamdata.Predef.Option[Synthetic]]]

    Permalink
  29. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped