object SemanticAnalysis
- Alphabetic
- By Inheritance
- SemanticAnalysis
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Annotations = (slamdata.Predef.List[slamdata.Predef.Option[Synthetic]], Provenance)
- final case class BindingScope(scope: slamdata.Predef.Map[slamdata.Predef.String, SqlRelation[slamdata.Predef.Unit]]) extends Product with Serializable
- type Failure = NonEmptyList[SemanticError]
- sealed abstract class Provenance extends AnyRef
- trait ProvenanceInstances extends AnyRef
- final case class Scope(tableScope: TableScope, bindingScope: BindingScope) extends Product with Serializable
- sealed abstract class Synthetic extends AnyRef
- final case class TableScope(scope: slamdata.Predef.Map[slamdata.Predef.String, SqlRelation[slamdata.Predef.Unit]]) extends Product with Serializable
- type ValidSem[A] = Validation[NonEmptyList[SemanticError], A]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit val ShowBindingScope: Show[BindingScope]
- implicit def ShowTableScope: Show[TableScope]
- def addAnnotations[T](implicit T: Aux[T, Sql]): ElgotAlgebraM[[β$5$]((Scope, T), β$5$), [β$6$]\/[NonEmptyList[SemanticError], β$6$], Sql, Cofree[Sql, Annotations]]
- def annotate[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): \/[NonEmptyList[SemanticError], Cofree[Sql, Annotations]]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def normalizeProjections[T](expr: T)(implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): T
- def normalizeProjectionsƒ[T](implicit TR: Aux[T, Sql], TC: Aux[T, Sql]): CoalgebraM[[β$0$]IndexedStateT[[X]X, Option[String], Option[String], β$0$], Sql, T]
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def projectSortKeys[T](expr: T)(implicit arg0: Equal[T], TR: Aux[T, Sql], TC: Aux[T, Sql]): T
-
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
selectstmt 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
selectstmt 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. -
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.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val synthElgotMƒ: ElgotAlgebraM[[β$3$](Scope, β$3$), ValidSem, Sql, slamdata.Predef.List[slamdata.Predef.Option[Synthetic]]]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- object Provenance extends ProvenanceInstances
- object Synthetic