slick

ast

package ast

Abstract Syntax Tree (AST) for representing queries during compilation

Source
package.scala
Linear Supertypes
AnyRef, Any
Content Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ast
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. final case class Aggregate(sym: TermSymbol, from: Node, select: Node) extends BinaryNode with DefNode with Product with Serializable

    An aggregation function application which is similar to a Bind(_, _, Pure(_)) where the projection contains a mapping function application.

  2. class AnonSymbol extends TermSymbol

    An anonymous symbol defined in the AST.

  3. class AnonTableIdentitySymbol extends AnonTypeSymbol with TableIdentitySymbol

    An anonymous TableIdentitySymbol.

  4. class AnonTypeSymbol extends TypeSymbol

    An anonymous symbol defined in the AST.

  5. final case class Apply(sym: TermSymbol, children: ConstArray[Node])(buildType: Type) extends SimplyTypedNode with Product with Serializable

    A function call expression.

  6. trait AtomicType extends Type

    An atomic type (i.

  7. trait BaseTypedType[T] extends TypedType[T] with AtomicType

  8. trait BinaryNode extends Node

  9. final case class Bind(generator: TermSymbol, from: Node, select: Node) extends BinaryNode with DefNode with Product with Serializable

    A .

  10. trait ClientSideOp extends AnyRef

    An operation which is expected to be run on the client side.

  11. final case class CollectionCast(child: Node, cons: CollectionTypeConstructor) extends UnaryNode with SimplyTypedNode with Product with Serializable

  12. final case class CollectionType(cons: CollectionTypeConstructor, elementType: Type) extends Type with Product with Serializable

  13. trait CollectionTypeConstructor extends AnyRef

    Represents a type constructor that can be usd for a collection-valued query.

  14. abstract class ColumnOption[+T] extends AnyRef

  15. final case class CompiledStatement(statement: String, extra: Any, buildType: Type) extends NullaryNode with SimplyTypedNode with Product with Serializable

    A compiled statement with a fixed type, a statement string and driver-specific extra data.

  16. abstract class ComplexFilteredQuery extends FilteredQuery with DefNode

    A FilteredQuery with a Symbol.

  17. final case class Comprehension(sym: TermSymbol, from: Node, select: Node, where: Option[Node] = scala.None, groupBy: Option[Node] = scala.None, orderBy: ConstArray[(Node, Ordering)] = slick.util.ConstArray.empty, having: Option[Node] = scala.None, distinct: Option[Node] = scala.None, fetch: Option[Node] = scala.None, offset: Option[Node] = scala.None) extends DefNode with Product with Serializable

    A SQL comprehension

  18. trait DefNode extends Node

    A Node which introduces Symbols.

  19. final case class Distinct(generator: TermSymbol, from: Node, on: Node) extends ComplexFilteredQuery with BinaryNode with Product with Serializable

    A .

  20. final case class Drop(from: Node, count: Node) extends SimpleFilteredQuery with BinaryNode with Product with Serializable

    A .

  21. case class ElementSymbol(idx: Int) extends TermSymbol with Product with Serializable

    An element of a ProductNode (using a 1-based index)

  22. class ErasedCollectionTypeConstructor[C[_]] extends TypedCollectionTypeConstructor[C]

  23. class ErasedScalaBaseType[T, E] extends ScalaBaseType[T]

  24. case class FieldSymbol(name: String)(options: Seq[ColumnOption[_]], tpe: Type) extends TermSymbol with Product with Serializable

    A named symbol which refers to an (aliased or unaliased) field.

  25. final case class Filter(generator: TermSymbol, from: Node, where: Node) extends ComplexFilteredQuery with BinaryNode with Product with Serializable

    A .

  26. abstract class FilteredQuery extends Node

    Common superclass for expressions of type (CollectionType(c, t), _) => CollectionType(c, t).

  27. final case class First(child: Node) extends UnaryNode with SimplyTypedNode with ClientSideOp with Product with Serializable

    Get the first element of a collection.

  28. class FunctionSymbol extends TermSymbol

    A Symbol that represents a library function or operator

  29. final case class GetOrElse(child: Node, default: () ⇒ Any) extends UnaryNode with SimplyTypedNode with Product with Serializable

  30. final case class GroupBy(fromGen: TermSymbol, from: Node, by: Node, identity: TypeSymbol = new AnonTypeSymbol()) extends BinaryNode with DefNode with TypeGenerator with Product with Serializable

    A .

  31. final case class IfThenElse(clauses: ConstArray[Node]) extends SimplyTypedNode with Product with Serializable

    A conditional expression; The clauses should be: (if then)+ else.

  32. final case class Insert(tableSym: TermSymbol, table: Node, linear: Node, allFields: ConstArray[FieldSymbol]) extends BinaryNode with DefNode with Product with Serializable

    Represents an Insert operation.

  33. final case class InsertColumn(children: ConstArray[Node], fs: FieldSymbol, buildType: Type) extends Node with SimplyTypedNode with Product with Serializable

    A column in an Insert operation.

  34. final case class Join(leftGen: TermSymbol, rightGen: TermSymbol, left: Node, right: Node, jt: JoinType, on: Node) extends DefNode with Product with Serializable

    A join expression.

  35. abstract class JoinType extends AnyRef

    The type of a join operation.

  36. class LiteralNode extends NullaryNode with SimplyTypedNode

    A literal value expression.

  37. final class MappedScalaType extends Type

  38. trait Node extends Dumpable

    A node in the Slick AST.

  39. final class NodeOps extends AnyVal

    Extra methods for Nodes.

  40. final case class NominalType(sym: TypeSymbol, structuralView: Type) extends Type with Product with Serializable

    A type with a name, as used by tables.

  41. trait NullaryNode extends Node

  42. trait NumericTypedType extends AnyRef

    Mark a TypedType as eligible for numeric operators.

  43. final case class OptionApply(child: Node) extends UnaryNode with SimplyTypedNode with Product with Serializable

    Lift a value into an Option as Some (or None if the value is a null column).

  44. sealed trait OptionDisc extends AnyRef

    A phantom type for Option discriminator columns.

  45. final case class OptionFold(from: Node, ifEmpty: Node, map: Node, gen: TermSymbol) extends DefNode with Product with Serializable

    The catamorphism of OptionType.

  46. trait OptionType extends Type

  47. trait OptionTypedType[T] extends TypedType[Option[T]] with OptionType

  48. final case class Ordering(direction: Direction = Ordering.Asc, nulls: NullOrdering = Ordering.NullsDefault) extends Product with Serializable

  49. final case class ParameterSwitch(cases: ConstArray[((Any) ⇒ Boolean, Node)], default: Node) extends SimplyTypedNode with ClientSideOp with Product with Serializable

    A switch for special-cased parameters that needs to be interpreted in order to find the correct query string for the query arguments.

  50. trait PathElement extends Node

  51. final case class ProductNode(children: ConstArray[Node]) extends SimplyTypedNode with Product with Serializable

    An expression that represents a conjunction of expressions.

  52. final case class ProductType(elements: ConstArray[Type]) extends Type with Product with Serializable

  53. final case class Pure(value: Node, identity: TypeSymbol = new AnonTypeSymbol()) extends UnaryNode with SimplyTypedNode with TypeGenerator with Product with Serializable

    An expression that represents a plain value lifted into a Query.

  54. final case class QueryParameter(extractor: (Any) ⇒ Any, buildType: Type, id: TermSymbol = new AnonSymbol()) extends NullaryNode with SimplyTypedNode with Product with Serializable

    A parameter from a QueryTemplate which gets turned into a bind variable.

  55. final case class RangeFrom(start: Long = 1L) extends NullaryNode with SimplyTypedNode with Product with Serializable

    A Query of this special Node represents an infinite stream of consecutive numbers starting at the given number.

  56. final case class RebuildOption(discriminator: Node, data: Node) extends BinaryNode with SimplyTypedNode with Product with Serializable

    Rebuild an Option type on the client side

  57. final case class Ref(sym: TermSymbol) extends PathElement with NullaryNode with Product with Serializable

    A reference to a Symbol

  58. final case class ResultSetMapping(generator: TermSymbol, from: Node, map: Node) extends BinaryNode with DefNode with ClientSideOp with Product with Serializable

    A client-side projection of type (CollectionType(c, t), u) => CollectionType(c, u).

  59. final case class RowNumber(by: ConstArray[(Node, Ordering)] = slick.util.ConstArray.empty) extends SimplyTypedNode with Product with Serializable

    The row_number window function

  60. class ScalaBaseType[T] extends ScalaType[T] with BaseTypedType[T]

  61. class ScalaNumericType[T] extends ScalaBaseType[T] with NumericTypedType

  62. class ScalaOptionType[T] extends ScalaType[Option[T]] with OptionTypedType[T]

  63. trait ScalaType[T] extends TypedType[T]

    A Slick Type encoding of plain Scala types.

  64. final case class Select(in: Node, field: TermSymbol) extends PathElement with UnaryNode with SimplyTypedNode with Product with Serializable

    An expression that selects a field in another expression.

  65. final case class SequenceNode(name: String)(increment: Long) extends NullaryNode with SimplyTypedNode with Product with Serializable

    A node that represents an SQL sequence.

  66. abstract class SimpleFilteredQuery extends FilteredQuery with SimplyTypedNode

    A FilteredQuery without a Symbol.

  67. case class SimpleTableIdentitySymbol(constituents: AnyRef*) extends TableIdentitySymbol with Product with Serializable

    Default implementation of TableIdentitySymbol

  68. trait SimplyTypedNode extends Node

    A Node which can be typed without access to its scope, and whose children can be typed independently of each other.

  69. final case class SortBy(generator: TermSymbol, from: Node, by: ConstArray[(Node, Ordering)]) extends ComplexFilteredQuery with Product with Serializable

    A .

  70. final case class StructNode(elements: ConstArray[(TermSymbol, Node)]) extends SimplyTypedNode with DefNode with Product with Serializable

    An expression that represents a structure, i.

  71. final case class StructType(elements: ConstArray[(TermSymbol, Type)]) extends Type with Product with Serializable

  72. final case class Subquery(child: Node, condition: Condition) extends UnaryNode with SimplyTypedNode with Product with Serializable

    Forces a subquery to be created in mergeToComprehension if it occurs between two other collection-valued operations that would otherwise be fused, and the subquery condition is true.

  73. sealed trait Symbol extends AnyRef

    A symbol which can be used in the AST.

  74. class SymbolNamer extends AnyRef

    Provides names for symbols

  75. final case class TableExpansion(generator: TermSymbol, table: Node, columns: Node) extends BinaryNode with DefNode with Product with Serializable

    A table together with its expansion into columns.

  76. trait TableIdentitySymbol extends TypeSymbol

    A TypeSymbol which uniquely identifies a table type

  77. final case class TableNode(schemaName: Option[String], tableName: String, identity: TableIdentitySymbol, baseIdentity: TableIdentitySymbol)(driverTable: Any) extends NullaryNode with SimplyTypedNode with TypeGenerator with Product with Serializable

    A Node representing a database table.

  78. final case class Take(from: Node, count: Node) extends SimpleFilteredQuery with BinaryNode with Product with Serializable

    A .

  79. trait TermSymbol extends Symbol

    A symbol representing a variable

  80. trait Type extends Dumpable

    Super-trait for all types

  81. trait TypeGenerator extends AnyRef

    A Node which introduces a NominalType.

  82. final case class TypeMapping(child: Node, mapper: Mapper, classTag: ClassTag[_]) extends UnaryNode with SimplyTypedNode with Product with Serializable

    A client-side type mapping

  83. trait TypeSymbol extends Symbol

    The symbol of a nominal type

  84. final class TypeUtil extends AnyVal

  85. abstract class TypedCollectionTypeConstructor[C[_]] extends CollectionTypeConstructor

    Annotations
    @implicitNotFound( ... )
  86. trait TypedType[T] extends Type

    A Type that carries a Scala type argument

  87. trait UnaryNode extends Node

  88. final case class Union(left: Node, right: Node, all: Boolean) extends BinaryNode with SimplyTypedNode with Product with Serializable

    A union of type (CollectionType(c, t), CollectionType(_, t)) => CollectionType(c, t).

Value Members

  1. object ClientSideOp

  2. object ColumnOption

    The basic column options that influence profile-independent parts of query compilation.

  3. object Filter extends Serializable

  4. object FwdPath

    A constructor/extractor for nested Selects starting at a Ref so that, for example, a :: b :: c :: Nil corresponds to path a.b.c.

  5. object JoinType

  6. object Library

    The standard library for query operators.

  7. object LiteralNode

  8. object MappedScalaType

  9. object OptionType

  10. object Ordering extends Serializable

  11. object Path

    A constructor/extractor for nested Selects starting at a Ref so that, for example, c :: b :: a :: Nil corresponds to path a.b.c.

  12. object QueryParameter extends Serializable

  13. object ScalaBaseType

  14. object Subquery extends Serializable

  15. object SymbolNamer

  16. object Type

  17. object TypeUtil

  18. object TypedCollectionTypeConstructor

  19. object TypedType

  20. object UnassignedType extends AtomicType with Product with Serializable

    The standard type for freshly constructed nodes without an explicit type.

  21. object Util

    Utility methods for AST manipulation.

Inherited from AnyRef

Inherited from Any

Ungrouped