An anonymous symbol defined in the AST.
An anonymous TableIdentitySymbol.
An anonymous symbol defined in the AST.
A function call expression.
An atomic type (i.e.
An atomic type (i.e. a type which does not contain other types)
A .flatMap call of type (CollectionType(c, _), CollectionType(_, u)) => CollectionType(c, u).
An operation which is expected to be run on the client side.
Represents a type constructor that can be usd for a collection-valued query.
Represents a type constructor that can be usd for a collection-valued query. The relevant information for Slick is whether the elements of the collection keep their insertion order (isSequential) and whether only distinct elements are allowed (isUnique).
A compiled statement with a fixed type, a statement string and driver-specific extra data.
A SQL comprehension
A Node which introduces Symbols.
A .drop call.
An element of a ProductNode (using a 1-based index)
A named symbol which refers to an (aliased or unaliased) field.
A .filter call of type (CollectionType(c, t), Boolean) => CollectionType(c, t).
Common superclass for expressions of type (CollectionType(c, t), _) => CollectionType(c, t).
Get the first element of a collection.
Get the first element of a collection. For client-side operations only.
A Symbol that represents a library function or operator
A .groupBy call.
A conditional expression; The clauses should be: (if then)+ else
.
A conditional expression; The clauses should be: (if then)+ else
.
The result type is taken from the first then
(i.e. the second clause).
Represents an Insert operation.
A column in an Insert operation.
A join expression.
A join expression. For joins without option extension, the type rule is (CollectionType(c, t), CollectionType(_, u)) => CollecionType(c, (t, u)). Option-extended left outer joins are typed as (CollectionType(c, t), CollectionType(_, u)) => CollecionType(c, (t, Option(u))), Option-extended right outer joins as (CollectionType(c, t), CollectionType(_, u)) => CollecionType(c, (Option(t), u)) and Option-extended full outer joins as (CollectionType(c, t), CollectionType(_, u)) => CollecionType(c, (Option(t), Option(u))).
The type of a join operation.
A literal value expression.
A node in the query AST.
A node in the query AST.
Every Node has a number of child nodes and an optional type annotation.
Extra methods for Nodes.
A type with a name, as used by tables.
A type with a name, as used by tables.
Compiler phases which change types may keep their own representation of the structural view but must update the AST at the end of the phase so that all NominalTypes with the same symbol have the same structural view.
Mark a TypedType as eligible for numeric operators.
Lift a value into an Option as Some (or None if the value is a null
column).
A phantom type for Option discriminator columns.
A phantom type for Option discriminator columns. Values are of type Int.
The catamorphism of OptionType.
A switch for special-cased parameters that needs to be interpreted in order to find the correct query string for the query arguments.
An expression that represents a conjunction of expressions.
An expression that represents a plain value lifted into a Query.
A parameter from a QueryTemplate which gets turned into a bind variable.
A Query of this special Node represents an infinite stream of consecutive numbers starting at the given number.
A Query of this special Node represents an infinite stream of consecutive numbers starting at the given number. This is used as an operand for zipWithIndex. It is not exposed directly in the query language because it cannot be represented in SQL outside of a 'zip' operation.
Rebuild an Option type on the client side
A reference to a Symbol
A client-side projection of type
.(CollectionType(c, t), u) => CollectionType(c, u)
A client-side projection of type
. Unlike other nodes
which only operate on real collections, a ResultSetMapping may use an
Identity functor as its collection type constructor (CollectionType(c, t), u) => CollectionType(c, u)
, thus giving it
a type of c
where (t, u) => u
and t
are primitive or Option
types.u
The row_number window function
A Slick Type encoding of plain Scala types.
A Slick Type encoding of plain Scala types.
This is used by QueryInterpreter and MemoryDriver. Values stored in HeapBackend columns are also expected to use these types.
All drivers should support the following types which are used internally by the lifted embedding and the query compiler: Boolean, Char, Int, Long, Null, String.
A scope for scoped traversal
An expression that selects a field in another expression.
A node that represents an SQL sequence.
Default implementation of TableIdentitySymbol
A Node whose children can be typed independently of each other and which can be typed without access to its scope.
A .sortBy call of type (CollectionType(c, t), _) => CollectionType(c, t).
An expression that represents a structure, i.e.
An expression that represents a structure, i.e. a conjunction where the individual components have Symbols associated with them.
A symbol which can be used in the AST.
Provides names for symbols
A table together with its expansion into columns.
A TypeSymbol which uniquely identifies a table type
A Node representing a database table.
A .take call.
Super-trait for all types
A client-side type mapping
The symbol of a nominal type
Something that has a Type
A Type that carries a Scala type argument
The type of a structural view of a NominalType before computing the
proper type in the inferTypes
phase.
A union of type (CollectionType(c, t), CollectionType(_, t)) => CollectionType(c, t).
The basic column options that influence profile-independent parts of query compilation.
The basic column options that influence profile-independent parts of query compilation. Different profile levels define additional options.
Some less general but still useful methods for the code generators.
The standard library for query operators.
A constructor/extractor for nested Selects starting at a Ref.
The standard type for freshly constructed nodes without an explicit type.
Utility methods for AST manipulation.
Abstract Syntax Tree (AST) for representing queries during compilation