An aggregation function application which is similar to a Bind(_, _, Pure(_)) where the projection contains a mapping function application.
An aggregation function application which is similar to a Bind(_, _, Pure(_)) where the projection contains a mapping function application. The return type is an aggregated scalar value though, not a collection.
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 profile-specific extra data.
A FilteredQuery with a Symbol.
A SQL comprehension
A Node which introduces Symbols.
A .distinct call of type (CollectionType(c, t), _) => CollectionType(c, t).
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 .forUpdate call
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 Slick AST.
A node in the Slick 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 MemoryProfile. Values stored in HeapBackend columns are also expected to use these types.
All profiles should support the following types which are used internally by the lifted embedding and the query compiler: Boolean, Char, Int, Long, Null, String.
An expression that selects a field in another expression.
A node that represents an SQL sequence.
A FilteredQuery without a Symbol.
Default implementation of TableIdentitySymbol
A Node which can be typed without access to its scope, and whose children can be typed independently of each other.
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.
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.
A symbol which can be used in the AST.
A symbol which can be used in the AST. It can be either a TypeSymbol or a TermSymbol.
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.
A symbol representing a variable
Super-trait for all types
A Node which introduces a NominalType.
A client-side type mapping
The symbol of a nominal type
A Type that carries a Scala type argument
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.
A constructor/extractor for nested Selects starting at a Ref so that, for example,
a :: b :: c :: Nil
corresponds to path a.b.c
.
The standard library for query operators.
A constructor/extractor for nested Selects starting at a Ref so that, for example,
c :: b :: a :: Nil
corresponds to path a.b.c
.
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