slick.lifted

package slick.lifted

Lifted embedding: Stable query api based on implicits and overloading lifting Scala code into Slick ASTs

Attributes

Members list

Type members

Classlikes

abstract class AbstractTable[T](val tableTag: Tag, val schemaName: Option[String], val tableName: String) extends Rep[T]

The profile-independent superclass of all table row objects.

The profile-independent superclass of all table row objects.

Type parameters

T

Row type for this table. Make sure it matches the type of your * projection.

Attributes

Source
AbstractTable.scala
Supertypes
trait Rep[T]
class Object
trait Matchable
class Any
Known subtypes
class Table[T]

Attributes

Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Shape.type
trait Aliases

Aliases for lifted embedding features. This trait can be mixed into aliasing objects which simplify the use of the lifted embedding.

Aliases for lifted embedding features. This trait can be mixed into aliasing objects which simplify the use of the lifted embedding.

Attributes

Source
Aliases.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BasicAPI
trait JdbcAPI
trait MemoryAPI
final class AnyExtensionMethods(val n: Node) extends AnyVal

Extension methods for all columns and all primitive values that can be lifted to columns

Extension methods for all columns and all primitive values that can be lifted to columns

Attributes

Source
ExtensionMethods.scala
Supertypes
class AnyVal
trait Matchable
class Any
final class AnyOptionExtensionMethods[O <: Rep[_], P](val r: O) extends AnyVal

Extension methods for Options of single- and multi-column values

Extension methods for Options of single- and multi-column values

Attributes

Source
ExtensionMethods.scala
Supertypes
class AnyVal
trait Matchable
class Any
class AppliedCompiledFunction[PU, R <: Rep[_], RU](val param: PU, function: CompiledFunction[_, _, PU, R, RU], val profile: BasicProfile) extends RunnableCompiled[R, RU]

Attributes

Source
Compiled.scala
Supertypes
trait RunnableCompiled[R, RU]
trait Compiled[R]
class Object
trait Matchable
class Any
final class BaseColumnExtensionMethods[P1](val c: Rep[P1]) extends AnyVal, ColumnExtensionMethods[P1, P1], BaseExtensionMethods[P1]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ColumnExtensionMethods[P1, P1]
trait ExtensionMethods[P1, P1]
class AnyVal
trait Matchable
class Any
Show all
trait BaseExtensionMethods[B1] extends ExtensionMethods[B1, B1]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[B1, B1]
class Any
Known subtypes
final class BaseJoinQuery[+E1, +E2, U1, U2, C[_], +B1, +B2](leftGen: TermSymbol, rightGen: TermSymbol, left: Node, right: Node, jt: JoinType, base: ShapedValue[_ <: (E1, E2), (U1, U2)], b1: B1, b2: B2) extends WrappingQuery[(E1, E2), (U1, U2), C]

Attributes

Source
Query.scala
Supertypes
class WrappingQuery[(E1, E2), (U1, U2), C]
class Query[(E1, E2), (U1, U2), C]
trait QueryBase[C[(U1, U2)]]
trait Rep[C[(U1, U2)]]
class Object
trait Matchable
class Any
Show all
final class BaseNumericColumnExtensionMethods[P1](val c: Rep[P1]) extends AnyVal, NumericColumnExtensionMethods[P1, P1], BaseExtensionMethods[P1]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[P1, P1]
class AnyVal
trait Matchable
class Any
Show all
trait BaseTag extends Tag

A Tag marking the base table instance itself

A Tag marking the base table instance itself

Attributes

Source
AbstractTable.scala
Supertypes
trait Tag
class Object
trait Matchable
class Any
final class BooleanColumnExtensionMethods[P1](val c: Rep[P1]) extends AnyVal, ExtensionMethods[Boolean, P1]

Extension methods for Rep[Boolean] and Rep[Option[Boolean]]

Extension methods for Rep[Boolean] and Rep[Option[Boolean]]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[Boolean, P1]
class AnyVal
trait Matchable
class Any
trait CanBeQueryCondition[-T] extends T => Rep[_]

A typeclass for types that can be used as predicates in filter calls.

A typeclass for types that can be used as predicates in filter calls.

Attributes

Companion
object
Source
Query.scala
Supertypes
trait T => Rep[_]
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
Query.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Case

Case provides a DSL for conditional statements in the query language. An arbitrary number of If...Then expressions can be chained, optionally followed by Else, e.g.:

Case provides a DSL for conditional statements in the query language. An arbitrary number of If...Then expressions can be chained, optionally followed by Else, e.g.:

 Case If u.id < 3 Then "low" If u.id < 6 Then "medium" Else "high"

All result expressions have to be of compatible type (modulo nullability). If at least one of them is an Option type or the Else branch is missing, the result is also an Option.

Attributes

Source
Case.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Case.type
class CaseClassShape[P <: Product, LiftedTuple, LiftedCaseClass <: P, PlainTuple, PlainCaseClass <: P](mapLifted: LiftedTuple => LiftedCaseClass, mapPlain: PlainTuple => PlainCaseClass)(implicit columnShapes: Shape[FlatShapeLevel, LiftedTuple, PlainTuple, LiftedTuple], classTag: ClassTag[PlainCaseClass]) extends MappedScalaProductShape[FlatShapeLevel, P, LiftedCaseClass, PlainCaseClass, LiftedCaseClass]

A generic case class shape that can be used to lift a case class of plain Scala types to a case class of lifted types. This allows the type to be used as a record type (like tuples and HLists) in the Lifted Embedding.

A generic case class shape that can be used to lift a case class of plain Scala types to a case class of lifted types. This allows the type to be used as a record type (like tuples and HLists) in the Lifted Embedding.

Example:

 case class C(a: Int, b: Option[String])
 case class LiftedC(a: Column[Int], b: Column[Option[String]])
 implicit object cShape extends CaseClassShape(LiftedC.tupled, C.tupled)

Attributes

Source
Shape.scala
Supertypes
class MappedScalaProductShape[FlatShapeLevel, P, LiftedCaseClass, PlainCaseClass, LiftedCaseClass]
class MappedProductShape[FlatShapeLevel, P, LiftedCaseClass, PlainCaseClass, LiftedCaseClass]
class ProductNodeShape[FlatShapeLevel, P, LiftedCaseClass, PlainCaseClass, LiftedCaseClass]
class Shape[FlatShapeLevel, LiftedCaseClass, PlainCaseClass, LiftedCaseClass]
class Object
trait Matchable
class Any
Show all
trait ColumnExtensionMethods[B1, P1] extends ExtensionMethods[B1, P1]

Extension methods for all columns

Extension methods for all columns

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[B1, P1]
class Any
Known subtypes
case class ColumnOrdered[T](column: Rep[T], ord: Ordering) extends Ordered

A Column with an associated Ordering.

A Column with an associated Ordering.

Attributes

Source
Ordered.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Ordered
class Object
trait Matchable
class Any
Show all

ShapeLevel that only allows records of individual columns. This level is used for parameters of compiled queries.

ShapeLevel that only allows records of individual columns. This level is used for parameters of compiled queries.

Attributes

Source
Shape.scala
Supertypes
trait ShapeLevel
class Object
trait Matchable
class Any
Show all
trait Compilable[T, C <: Compiled[T]]

Typeclass for types that can be contained in a Compiled container. This includes all Executable types as well as functions (of any arity) from flat, fully packed parameter types to an Executable result type.

Typeclass for types that can be contained in a Compiled container. This includes all Executable types as well as functions (of any arity) from flat, fully packed parameter types to an Executable result type.

Attributes

Companion
object
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Compilable.type

Attributes

Source
CompilableFunctions.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Compilable.type

Attributes

Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Compilable.type
sealed trait Compiled[T]

A possibly parameterized query that will be cached for repeated efficient execution without having to recompile it every time. The compiled state is computed on demand the first time a Cached value is executed. It is always tied to a specific profile.

A possibly parameterized query that will be cached for repeated efficient execution without having to recompile it every time. The compiled state is computed on demand the first time a Cached value is executed. It is always tied to a specific profile.

Cached forms a limited monad which ensures that it can only contain values that are Compilable.

Attributes

Companion
object
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class CompiledFunction[F, PT, PU, R, RU]
trait RunnableCompiled[R, RU]
class AppliedCompiledFunction[PU, R, RU]
class CompiledExecutable[R, RU]
class CompiledStreamingExecutable[R, RU, EU]
trait StreamableCompiled[R, RU, EU]
Show all
object Compiled

Attributes

Companion
trait
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Compiled.type
abstract class CompiledExecutable[R, RU](val extract: R, val profile: BasicProfile) extends RunnableCompiled[R, RU], CompilersMixin

Attributes

Source
Compiled.scala
Supertypes
trait RunnableCompiled[R, RU]
trait Compiled[R]
class Object
trait Matchable
class Any
Show all
Known subtypes
class CompiledStreamingExecutable[R, RU, EU]
class CompiledFunction[F, PT, PU, R <: Rep[_], RU](val extract: F, val tuple: F => PT => R, val pShape: Shape[ColumnsShapeLevel, PU, PU, PT], val profile: BasicProfile) extends Compiled[F], CompilersMixin

Attributes

Source
Compiled.scala
Supertypes
trait Compiled[F]
class Object
trait Matchable
class Any
abstract class CompiledStreamingExecutable[R, RU, EU](extract: R, profile: BasicProfile) extends CompiledExecutable[R, RU], StreamableCompiled[R, RU, EU]

Attributes

Source
Compiled.scala
Supertypes
trait StreamableCompiled[R, RU, EU]
class CompiledExecutable[R, RU]
trait RunnableCompiled[R, RU]
trait Compiled[R]
class Object
trait Matchable
class Any
Show all

Attributes

Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class CompiledExecutable[R, RU]
class CompiledStreamingExecutable[R, RU, EU]
class CompiledFunction[F, PT, PU, R, RU]
Self type
class ConstColumn[T](val toNode: Node)(implicit evidence$1: TypedType[T]) extends TypedRep[T]

A scalar value that is known at the client side at the time a query is executed. This is either a constant value (LiteralColumn) or a scalar parameter.

A scalar value that is known at the client side at the time a query is executed. This is either a constant value (LiteralColumn) or a scalar parameter.

Attributes

Source
Rep.scala
Supertypes
class TypedRep[T]
trait Rep[T]
class Object
trait Matchable
class Any
Known subtypes
class LiteralColumn[T]

Attributes

Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Shape.type
trait Constraint

Marker trait for foreign key and primary key constraints.

Marker trait for foreign key and primary key constraints.

Attributes

Source
Constraint.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ForeignKeyQuery[E, U]
class PrimaryKey
trait Executable[T, TU]

Typeclass for types that can be executed as queries. This encompasses collection-valued (Query[_, _, _[_] ]), scalar and record types.

Typeclass for types that can be executed as queries. This encompasses collection-valued (Query[_, _, _[_] ]), scalar and record types.

Attributes

Companion
object
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait StreamingExecutable[T, TU, EU]
object StreamingExecutable.type
object Executable

Attributes

Companion
trait
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Executable.type

Attributes

Source
ExtensionMethods.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BasicAPI
trait JdbcAPI
trait MemoryAPI

ShapeLevel that does not allow nested collections. This is the standard level for executable queries.

ShapeLevel that does not allow nested collections. This is the standard level for executable queries.

Attributes

Source
Shape.scala
Supertypes
trait ShapeLevel
class Object
trait Matchable
class Any
Known subtypes
final class ForeignKey(val name: String, val sourceTable: Node, val onUpdate: ForeignKeyAction, val onDelete: ForeignKeyAction, val sourceColumns: Any, val targetColumns: Any => Any, val linearizedSourceColumns: IndexedSeq[Node], val linearizedTargetColumns: IndexedSeq[Node], val linearizedTargetColumnsForOriginalTargetTable: IndexedSeq[Node], val targetTable: TableNode, val columnsShape: Shape[_ <: FlatShapeLevel, _, _, _])

Represents a foreign key. Objects of this type are used internally by Slick. At the user level you generally see ForeignKeyQuery objects instead.

Represents a foreign key. Objects of this type are used internally by Slick. At the user level you generally see ForeignKeyQuery objects instead.

Attributes

Companion
object
Source
Constraint.scala
Supertypes
class Object
trait Matchable
class Any
object ForeignKey

Attributes

Companion
class
Source
Constraint.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ForeignKey.type
class ForeignKeyQuery[E <: AbstractTable[_], U](nodeDelegate: Node, base: ShapedValue[_ <: E, U], val fks: IndexedSeq[ForeignKey], targetBaseQuery: Query[E, U, Seq], generator: AnonSymbol, aliasedValue: E) extends WrappingQuery[E, U, Seq], Constraint

A query that selects data linked by a foreign key.

A query that selects data linked by a foreign key.

Attributes

Source
Constraint.scala
Supertypes
trait Constraint
class WrappingQuery[E, U, Seq]
class Query[E, U, Seq]
trait QueryBase[Seq[U]]
trait Rep[Seq[U]]
class Object
trait Matchable
class Any
Show all

Utility methods for internal use in the lifted embedding

Utility methods for internal use in the lifted embedding

Attributes

Companion
object
Source
FunctionSymbolExtensionMethods.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
FunctionSymbolExtensionMethods.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Functions

Contains stand-alone database functions for use in queries. Functions which operate on columns are generally added as extension methods to the appropriate column types instead.

Contains stand-alone database functions for use in queries. Functions which operate on columns are generally added as extension methods to the appropriate column types instead.

Attributes

Source
Functions.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Functions.type
class Index(val name: String, val table: AbstractTable[_], val on: IndexedSeq[Node], val unique: Boolean)

An index (or foreign key constraint with an implicit index).

An index (or foreign key constraint with an implicit index).

Attributes

Source
Constraint.scala
Supertypes
class Object
trait Matchable
class Any
final case class LiteralColumn[T](value: T)(implicit tt: TypedType[T]) extends ConstColumn[T]

A column with a constant value which is inserted into an SQL statement as a literal.

A column with a constant value which is inserted into an SQL statement as a literal.

Attributes

Source
Rep.scala
Supertypes
trait Serializable
trait Product
trait Equals
class ConstColumn[T]
class TypedRep[T]
trait Rep[T]
class Object
trait Matchable
class Any
Show all
abstract class MappedProductShape[Level <: ShapeLevel, C, M <: C, U <: C, P <: C] extends ProductNodeShape[Level, C, M, U, P]

Base class for ProductNodeShapes with a type mapping

Base class for ProductNodeShapes with a type mapping

Attributes

Source
Shape.scala
Supertypes
class ProductNodeShape[Level, C, M, U, P]
class Shape[Level, M, U, P]
class Object
trait Matchable
class Any
Known subtypes
class MappedScalaProductShape[Level, C, M, U, P]
class HListShape[Level, M, U, P]
class CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
class ProductClassShape[E, C]
class MappedProjection[T](child: Node, mapper: Mapper, classTag: ClassTag[T]) extends Rep[T]

Attributes

Source
Shape.scala
Supertypes
trait Rep[T]
class Object
trait Matchable
class Any
abstract class MappedScalaProductShape[Level <: ShapeLevel, C <: Product, M <: C, U <: C, P <: C](implicit val classTag: ClassTag[U]) extends MappedProductShape[Level, C, M, U, P]

Base class for ProductNodeShapes with a type mapping to a type that extends scala.Product

Base class for ProductNodeShapes with a type mapping to a type that extends scala.Product

Attributes

Source
Shape.scala
Supertypes
class MappedProductShape[Level, C, M, U, P]
class ProductNodeShape[Level, C, M, U, P]
class Shape[Level, M, U, P]
class Object
trait Matchable
class Any
Show all
Known subtypes
class HListShape[Level, M, U, P]
class CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
class ProductClassShape[E, C]

ShapeLevel that allows nested collections.

ShapeLevel that allows nested collections.

Attributes

Source
Shape.scala
Supertypes
trait ShapeLevel
class Object
trait Matchable
class Any
Known subtypes
trait NumericColumnExtensionMethods[B1, P1] extends ExtensionMethods[B1, P1]

Extension methods for numeric columns

Extension methods for numeric columns

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[B1, P1]
class Any
Known subtypes
final class OptionColumnExtensionMethods[B1](val c: Rep[Option[B1]]) extends AnyVal, ColumnExtensionMethods[B1, Option[B1]], OptionExtensionMethods[B1]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ColumnExtensionMethods[B1, Option[B1]]
trait ExtensionMethods[B1, Option[B1]]
class AnyVal
trait Matchable
class Any
Show all
trait OptionExtensionMethods[B1] extends ExtensionMethods[B1, Option[B1]]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[B1, Option[B1]]
class Any
Known subtypes
sealed trait OptionLift[M, O]

A typeclass that lifts a mixed type to the packed Option type.

A typeclass that lifts a mixed type to the packed Option type.

Attributes

Companion
object
Source
OptionMapper.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
OptionMapper.scala
Supertypes
class Object
trait Matchable
class Any
Self type
OptionLift.type
sealed trait OptionLiftLowPriority

Attributes

Source
OptionMapper.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object OptionLift.type
trait OptionMapper[BR, R] extends Rep[BR] => Rep[R]

Attributes

Source
OptionMapper.scala
Supertypes
trait Rep[BR] => Rep[R]
class Object
trait Matchable
class Any
Known subtypes
trait OptionMapper2[B1, B2, BR, P1, P2, R]
trait OptionMapper3[B1, B2, B3, BR, P1, P2, P3, R]
sealed trait OptionMapper2[B1, B2, BR, P1, P2, R] extends OptionMapper[BR, R]

Attributes

Companion
object
Source
OptionMapper.scala
Supertypes
trait OptionMapper[BR, R]
trait Rep[BR] => Rep[R]
class Object
trait Matchable
class Any
object OptionMapper2

Attributes

Companion
trait
Source
OptionMapper.scala
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait OptionMapper3[B1, B2, B3, BR, P1, P2, P3, R] extends OptionMapper[BR, R]

Attributes

Companion
object
Source
OptionMapper.scala
Supertypes
trait OptionMapper[BR, R]
trait Rep[BR] => Rep[R]
class Object
trait Matchable
class Any
object OptionMapper3

Attributes

Companion
trait
Source
OptionMapper.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Source
OptionMapper.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class OptionNumericColumnExtensionMethods[B1](val c: Rep[Option[B1]]) extends AnyVal, NumericColumnExtensionMethods[B1, Option[B1]], OptionExtensionMethods[B1]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait NumericColumnExtensionMethods[B1, Option[B1]]
trait ExtensionMethods[B1, Option[B1]]
class AnyVal
trait Matchable
class Any
Show all

Attributes

Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Ordered(val columns: IndexedSeq[(Node, Ordering)])

Attributes

Companion
object
Source
Ordered.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ColumnOrdered[T]
object Ordered

Attributes

Companion
class
Source
Ordered.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Ordered.type
final class Parameters[PU, PP](pShape: Shape[ColumnsShapeLevel, PU, PU, _])

Attributes

Companion
object
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
object Parameters

Attributes

Companion
class
Source
Compiled.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Parameters.type
case class PrimaryKey(name: String, columns: IndexedSeq[Node]) extends Constraint

An explicit primary key. Simple primary keys can also be represented by O.PrimaryKey column options instead.

An explicit primary key. Simple primary keys can also be represented by O.PrimaryKey column options instead.

Attributes

Source
Constraint.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Constraint
class Object
trait Matchable
class Any
Show all
class ProductClassShape[E <: Product, C <: Product](val shapes: Seq[Shape[_ <: ShapeLevel, _, _, _]], mapLifted: Seq[Any] => C, mapPlain: Seq[Any] => E)(implicit classTag: ClassTag[E]) extends MappedScalaProductShape[FlatShapeLevel, Product, C, E, C]

A generic Product class shape that can be used to lift a class of plain Scala types to a class of lifted types. This allows the type to be used as a record type (like tuples and HLists) in the Lifted Embedding.

A generic Product class shape that can be used to lift a class of plain Scala types to a class of lifted types. This allows the type to be used as a record type (like tuples and HLists) in the Lifted Embedding.

This can help with mapping tables >22 columns to classes, especially when using code generation. This can be used for Scala 2.11 case classes >22 fields.

Example:

 def columnShape[T](implicit s: Shape[FlatShapeLevel, Column[T], T, Column[T]]) = s
 class C(val a: Int, val b: Option[String]) extends Product{
   def canEqual(that: Any): Boolean = that.isInstanceOf[C]
   def productArity: Int = 2
   def productElement(n: Int): Any = Seq(a, b)(n)
 }
 class LiftedC(val a: Column[Int], val b: Column[Option[String]]) extends Product{
   def canEqual(that: Any): Boolean = that.isInstanceOf[LiftedC]
   def productArity: Int = 2
   def productElement(n: Int): Any = Seq(a, b)(n)
 }
 implicit object cShape extends ProductClassShape(
   Seq(columnShape[Int], columnShape[Option[String]]),
   seq => new LiftedC(seq(0).asInstanceOf[Column[Int]], seq(1).asInstanceOf[Column[Option[String]]]),
   seq => new C(seq(0).asInstanceOf[Int], seq(1).asInstanceOf[Option[String]])
 )

Attributes

Source
Shape.scala
Supertypes
class MappedScalaProductShape[FlatShapeLevel, Product, C, E, C]
class MappedProductShape[FlatShapeLevel, Product, C, E, C]
class ProductNodeShape[FlatShapeLevel, Product, C, E, C]
class Shape[FlatShapeLevel, C, E, C]
class Object
trait Matchable
class Any
Show all
abstract class ProductNodeShape[Level <: ShapeLevel, C, M <: C, U <: C, P <: C] extends Shape[Level, M, U, P]

Base class for Shapes of record values which are represented by ProductNodes in the AST.

Base class for Shapes of record values which are represented by ProductNodes in the AST.

Type parameters

C

The supertype for the record values.

M

The mixed type of the Shape (a subtype of C).

P

The fully packed type of the Shape (a subtype of C).

U

The unpacked type of the Shape (a subtype of C).

Attributes

Source
Shape.scala
Supertypes
class Shape[Level, M, U, P]
class Object
trait Matchable
class Any
Known subtypes
class MappedProductShape[Level, C, M, U, P]
class MappedScalaProductShape[Level, C, M, U, P]
class HListShape[Level, M, U, P]
class CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
class ProductClassShape[E, C]
class TupleShape[Level, M, U, P]
Show all
trait ProvenShape[U]

A limited version of ShapedValue which can be constructed for every type that has a valid shape. We use it to enforce that a table's * projection has a valid shape. A ProvenShape has itself a Shape so it can be used in place of the value that it wraps for purposes of packing and unpacking.

A limited version of ShapedValue which can be constructed for every type that has a valid shape. We use it to enforce that a table's * projection has a valid shape. A ProvenShape has itself a Shape so it can be used in place of the value that it wraps for purposes of packing and unpacking.

Attributes

Companion
object
Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
object ProvenShape

Attributes

Companion
trait
Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class Query[+E, U, C[_]] extends QueryBase[C[U]]

An instance of Query represents a query or view, i.e. a computation of a collection type (Rep[Seq[T]]). It is parameterized with both, the mixed type (the type of values you see e.g. when you call map()) and the unpacked type (the type of values that you get back when you run the query).

An instance of Query represents a query or view, i.e. a computation of a collection type (Rep[Seq[T]]). It is parameterized with both, the mixed type (the type of values you see e.g. when you call map()) and the unpacked type (the type of values that you get back when you run the query).

Additional extension methods for queries containing a single column are defined in slick.lifted.SingleColumnQueryExtensionMethods.

Attributes

Companion
object
Source
Query.scala
Supertypes
trait QueryBase[C[U]]
trait Rep[C[U]]
class Object
trait Matchable
class Any
Known subtypes
class TableQuery[E]
class WrappingQuery[E, U, C]
class BaseJoinQuery[E1, E2, U1, U2, C, B1, B2]
class ForeignKeyQuery[E, U]
Self type
Query[E, U, C]
object Query

The companion object for Query contains factory methods for creating queries.

The companion object for Query contains factory methods for creating queries.

Attributes

Companion
class
Source
Query.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Query.type
sealed trait QueryBase[T] extends Rep[T]

Attributes

Source
Query.scala
Supertypes
trait Rep[T]
class Object
trait Matchable
class Any
Known subtypes
class Query[E, U, C]
class TableQuery[E]
class WrappingQuery[E, U, C]
class BaseJoinQuery[E1, E2, U1, U2, C, B1, B2]
class ForeignKeyQuery[E, U]
abstract class RefTag(val path: Node) extends Tag

A Tag for table instances that represent a Node

A Tag for table instances that represent a Node

Attributes

Source
AbstractTable.scala
Supertypes
trait Tag
class Object
trait Matchable
class Any
trait Rep[T]

Common base trait for all lifted values, including columns.

Common base trait for all lifted values, including columns.

All column operations are added with extension methods that depend on the type inside the Rep. These are defined in:

A Rep[T : TypedType] is always Typed, so that the TypedType can be retrieved directly from the Rep value.

Attributes

Companion
object
Source
Rep.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class AbstractTable[T]
class Table[T]
class MappedProjection[T]
trait QueryBase[T]
class Query[E, U, C]
class TableQuery[E]
class WrappingQuery[E, U, C]
class BaseJoinQuery[E1, E2, U1, U2, C, B1, B2]
class ForeignKeyQuery[E, U]
class TypedRep[T]
class TypedCase[B, T]
class ConstColumn[T]
class LiteralColumn[T]
class UntypedRep[T]
class RepOption[T]
class ShapedValue[T, U]
Show all
object Rep

Attributes

Companion
trait
Source
Rep.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Rep.type
final case class RepOption[T](base: ShapedValue[_, _], toNode: Node) extends Rep[Option[T]]

Represents Rep[Option[T]] in all cases where T is not a column base type. This special representation is necessary so that a non-Option Rep value can be retrieved for encoding Option-based operations. This base value is of type T if T <: Rep[_], otherwise of type Rep[T].

Represents Rep[Option[T]] in all cases where T is not a column base type. This special representation is necessary so that a non-Option Rep value can be retrieved for encoding Option-based operations. This base value is of type T if T <: Rep[_], otherwise of type Rep[T].

Attributes

Source
Rep.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Rep[Option[T]]
class Object
trait Matchable
class Any
Show all
object RepShape extends Shape[FlatShapeLevel, Rep[_], Any, Rep[_]]

Shape for Rep values (always fully packed)

Shape for Rep values (always fully packed)

Attributes

Source
Shape.scala
Supertypes
class Shape[FlatShapeLevel, Rep[_], Any, Rep[_]]
class Object
trait Matchable
class Any
Self type
RepShape.type

Attributes

Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait RunnableCompiled[R, RU] extends Compiled[R]

A compiled value that can be executed to obtain its result.

A compiled value that can be executed to obtain its result.

Attributes

Source
Compiled.scala
Supertypes
trait Compiled[R]
class Object
trait Matchable
class Any
Known subtypes
class AppliedCompiledFunction[PU, R, RU]
class CompiledExecutable[R, RU]
class CompiledStreamingExecutable[R, RU, EU]
trait StreamableCompiled[R, RU, EU]
abstract class Shape[Level <: ShapeLevel, -Mixed_, Unpacked_, Packed_]

A type class that encodes the unpacking Mixed => Unpacked of a Query[Mixed] to its result element type Unpacked and the packing to a fully packed type Packed, i.e. a type where everything which is not a transparent container is wrapped in a Column[_].

A type class that encodes the unpacking Mixed => Unpacked of a Query[Mixed] to its result element type Unpacked and the packing to a fully packed type Packed, i.e. a type where everything which is not a transparent container is wrapped in a Column[_].

=Example:=

  • Mixed: (Column[Int], Column[(Int, String)], (Int, Option[Double]))
  • Unpacked: (Int, (Int, String), (Int, Option[Double]))
  • Packed: (Column[Int], Column[(Int, String)], (Column[Int], Column[Option[Double]]))
  • Linearized: (Int, Int, String, Int, Option[Double])

Attributes

Companion
object
Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ProductNodeShape[Level, C, M, U, P]
class MappedProductShape[Level, C, M, U, P]
class MappedScalaProductShape[Level, C, M, U, P]
class HListShape[Level, M, U, P]
class CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
class ProductClassShape[E, C]
class TupleShape[Level, M, U, P]
object RepShape.type
Show all

Attributes

Companion
class
Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Show all
Self type
Shape.type
trait ShapeLevel

The level of a Shape, i.e. what kind of types it allows. Subtypes of this trait are used as a phantom type for Shape resolution. There are no instances of any ShapeLevel.

The level of a Shape, i.e. what kind of types it allows. Subtypes of this trait are used as a phantom type for Shape resolution. There are no instances of any ShapeLevel.

Attributes

Source
Shape.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class ShapedValue[T, U](value: T, shape: Shape[_ <: FlatShapeLevel, T, U, _]) extends Rep[U]

A value together with its Shape

A value together with its Shape

Attributes

Companion
object
Source
ShapedValue.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Rep[U]
class Object
trait Matchable
class Any
Show all
object ShapedValue

Attributes

Companion
class
Source
ShapedValue.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

A SimpleBinaryOperator gets translated to a binary operator call in SQL.

A SimpleBinaryOperator gets translated to a binary operator call in SQL.

Attributes

Companion
object
Source
SimpleFunction.scala
Supertypes
trait BinaryNode
trait Node
trait Dumpable
class Object
trait Matchable
class Any
Show all

Attributes

Companion
trait
Source
SimpleFunction.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait SimpleExpression extends Node

A SimpleExpression allows arbitrary SQL code to be generated.

A SimpleExpression allows arbitrary SQL code to be generated.

Attributes

Companion
object
Source
SimpleFunction.scala
Supertypes
trait Node
trait Dumpable
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
SimpleFunction.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait SimpleFunction extends Node

A SimpleFunction gets translated to a plain function call or JDBC/ODBC scalar function {fn ...} call in SQL.

A SimpleFunction gets translated to a plain function call or JDBC/ODBC scalar function {fn ...} call in SQL.

Attributes

Companion
object
Source
SimpleFunction.scala
Supertypes
trait Node
trait Dumpable
class Object
trait Matchable
class Any

Attributes

Companion
trait
Source
SimpleFunction.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final case class SimpleLiteral(name: String)(buildType: Type) extends NullaryNode, SimplyTypedNode

A SimpleLiteral is inserted verbatim into a SQL query string. For the purpose of handling it in the query compiler it is assumed to be an expression of the specified type.

A SimpleLiteral is inserted verbatim into a SQL query string. For the purpose of handling it in the query compiler it is assumed to be an expression of the specified type.

Attributes

Companion
object
Source
SimpleFunction.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait NullaryNode
trait Node
trait Dumpable
class Object
trait Matchable
class Any
Show all
object SimpleLiteral

Attributes

Companion
class
Source
SimpleFunction.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class SingleColumnQueryExtensionMethods[B1, P1, C[_]](val q: Query[Rep[P1], _, C]) extends AnyVal

Extension methods for Queries of a single column

Extension methods for Queries of a single column

Attributes

Source
ExtensionMethods.scala
Supertypes
class AnyVal
trait Matchable
class Any
trait StreamableCompiled[R, RU, EU] extends RunnableCompiled[R, RU]

A compiled value that can be executed to obtain its result as a stream of data.

A compiled value that can be executed to obtain its result as a stream of data.

Attributes

Source
Compiled.scala
Supertypes
trait RunnableCompiled[R, RU]
trait Compiled[R]
class Object
trait Matchable
class Any
Known subtypes
class CompiledStreamingExecutable[R, RU, EU]
trait StreamingExecutable[T, TU, EU] extends Executable[T, TU]

Typeclass for types that can be executed as streaming queries, i.e. only collection-valued (Query[_, _, _[_] ]) types. This is used as a phantom type for computing the required types. The actual value is always null.

Typeclass for types that can be executed as streaming queries, i.e. only collection-valued (Query[_, _, _[_] ]) types. This is used as a phantom type for computing the required types. The actual value is always null.

Attributes

Companion
object
Source
Compiled.scala
Supertypes
trait Executable[T, TU]
class Object
trait Matchable
class Any
Known subtypes
object StreamingExecutable.type
object StreamingExecutable extends StreamingExecutable[Rep[Any], Any, Any]

A prototype StreamingExecutable instance for Rep types.

A prototype StreamingExecutable instance for Rep types.

Attributes

Companion
trait
Source
Compiled.scala
Supertypes
trait StreamingExecutable[Rep[Any], Any, Any]
trait Executable[Rep[Any], Any]
class Object
trait Matchable
class Any
Self type
final class StringColumnExtensionMethods[P1](val c: Rep[P1]) extends AnyVal, ExtensionMethods[String, P1]

Extension methods for Rep[String] and Rep[Option[String]]

Extension methods for Rep[String] and Rep[Option[String]]

Attributes

Source
ExtensionMethods.scala
Supertypes
trait ExtensionMethods[String, P1]
class AnyVal
trait Matchable
class Any
class TableQuery[E <: AbstractTable[_]](cons: Tag => E) extends Query[E, Extract[E], Seq]

Represents a database table. Profiles add extension methods to TableQuery for operations that can be performed on tables but not on arbitrary queries, e.g. getting the table DDL.

Represents a database table. Profiles add extension methods to TableQuery for operations that can be performed on tables but not on arbitrary queries, e.g. getting the table DDL.

Attributes

Companion
object
Source
TableQuery.scala
Supertypes
class Query[E, Extract[E], Seq]
trait QueryBase[Seq[Extract[E]]]
trait Rep[Seq[Extract[E]]]
class Object
trait Matchable
class Any
Show all
object TableQuery

Attributes

Companion
class
Source
TableQuery.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TableQuery.type
sealed trait Tag

A Tag marks a specific row represented by an AbstractTable instance.

A Tag marks a specific row represented by an AbstractTable instance.

Attributes

Source
AbstractTable.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BaseTag
class RefTag
@FunctionalInterface
trait ToTuple[E, T] extends E => Option[T]

Attributes

Companion
object
Source
ShapedValue.scala
Supertypes
trait E => Option[T]
class Object
trait Matchable
class Any
object ToTuple extends ToTupleLowPriority

Attributes

Companion
trait
Source
ShapedValue.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ToTuple.type

Attributes

Source
ShapedValue.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ToTuple.type
final class TupleShape[Level <: ShapeLevel, M <: Product, U <: Product, P <: Product](val shapes: Shape[_ <: ShapeLevel, _, _, _]*) extends ProductNodeShape[Level, Product, M, U, P]

Shape for Scala tuples of all arities

Shape for Scala tuples of all arities

Attributes

Source
Shape.scala
Supertypes
class ProductNodeShape[Level, Product, M, U, P]
class Shape[Level, M, U, P]
class Object
trait Matchable
class Any

Attributes

Source
TupleShapeImplicits.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Shape.type
class WrappingQuery[+E, U, C[_]](val toNode: Node, val shaped: ShapedValue[_ <: E, U]) extends Query[E, U, C]

Attributes

Source
Query.scala
Supertypes
class Query[E, U, C]
trait QueryBase[C[U]]
trait Rep[C[U]]
class Object
trait Matchable
class Any
Show all
Known subtypes
class BaseJoinQuery[E1, E2, U1, U2, C, B1, B2]
class ForeignKeyQuery[E, U]