package ql

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package core
  2. package driver

Type Members

  1. case class AsColumnOf[T](child: Node, typeName: Option[String])(implicit evidence$10: TypeMapper[T]) extends Column[T] with UnaryNode with Product with Serializable

    A column that can be converted from one sql type to another

  2. trait BaseTypeMapper[T] extends TypeMapper[T]
  3. case class BindColumn[T](value: T)(implicit evidence$5: TypeMapper[T]) extends Column[T] with Product with Serializable

    A column with a constant value which gets turned into a bind variable.

  4. abstract class CaseColumn[T] extends Column[T]

    A column representing a case/when/end condition

  5. sealed abstract class Column[T] extends ColumnBase[T]
  6. trait ColumnBase[T] extends Node with ValueLinearizer[T] with WithOp

    Common base trait for columns, tables, and projections

  7. trait ColumnOps[B1, P1] extends AnyRef
  8. case class ConstColumn[T](value: T)(implicit evidence$4: TypeMapper[T]) extends Column[T] with Product with Serializable

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

  9. sealed trait Constraint extends AnyRef
  10. trait DDL extends AnyRef

    A DDL object contains the SQL statements for creating and dropping database entities.

    A DDL object contains the SQL statements for creating and dropping database entities. DDLs can be combined for creating or dropping multiple entities together, even if they have circular dependencies.

  11. sealed class EscFunction[T] extends OperatorColumn[T] with SimpleFunction
  12. class ForeignKey[TT <: Table[_], P] extends OperatorColumn[Boolean] with BinaryNode
  13. sealed abstract class ForeignKeyAction extends AnyRef
  14. class ForeignKeyQuery[TT <: Table[_], U] extends QueryWrap[TT, U] with Constraint
  15. final case class Grouping(by: Node) extends QueryModifier with Product with Serializable
  16. case class HavingColumn[T](c: Column[_])(implicit evidence$8: TypeMapper[T]) extends Column[T] with Product with Serializable

    A column representing a group by having clause

  17. class Index extends AnyRef

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

  18. case class Join(left: Node, right: Node, on: Node, joinType: JoinType) extends BinaryNode with Product with Serializable
  19. class JoinQuery[+P, P2, +U, U2] extends QueryWrap[(P, P2), (U, U2)]
  20. sealed abstract class JoinType extends AnyRef
  21. final class MappedProjection[T, P <: Product] extends ColumnBase[T] with UnaryNode
  22. abstract class MappedTypeMapper[T, U] extends TypeMapper[T]
  23. final class NamedColumn[T] extends Column[T]

    A column which is part of a Table.

  24. trait NumericTypeMapper extends AnyRef
  25. abstract class OperatorColumn[T] extends Column[T]

    A column which gets created as the result of applying an operator.

  26. sealed trait OptionMapper2[B1, B2, BR, P1, P2, R] extends (Column[BR]) => Column[R]
    Annotations
    @implicitNotFound()
  27. sealed trait OptionMapper3[B1, B2, B3, BR, P1, P2, P3, R] extends (Column[BR]) => Column[R]
    Annotations
    @implicitNotFound()
  28. abstract class OptionTypeMapper[T] extends TypeMapper[Option[T]]
  29. sealed abstract class Ordering extends QueryModifier
  30. case class ParameterColumn[T](idx: Int)(implicit evidence$6: TypeMapper[T]) extends Column[T] with Product with Serializable

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

  31. final class Params[P, C] extends AnyRef
  32. case class PrimaryKey(name: String, columns: IndexedSeq[Node]) extends Constraint with Product with Serializable
  33. sealed trait Projection[T <: Product] extends ColumnBase[T] with ProductNode with Product
  34. final case class Projection10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10]) extends Product10[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)] with Product with Serializable
  35. final case class Projection11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11]) extends Product11[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)] with Product with Serializable
  36. final case class Projection12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12]) extends Product12[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)] with Product with Serializable
  37. final case class Projection13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13]) extends Product13[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)] with Product with Serializable
  38. final case class Projection14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14]) extends Product14[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)] with Product with Serializable
  39. final case class Projection15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15]) extends Product15[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)] with Product with Serializable
  40. final case class Projection16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16]) extends Product16[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)] with Product with Serializable
  41. final case class Projection17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16], _17: Column[T17]) extends Product17[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16], Column[T17]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)] with Product with Serializable
  42. final case class Projection18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16], _17: Column[T17], _18: Column[T18]) extends Product18[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16], Column[T17], Column[T18]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)] with Product with Serializable
  43. final case class Projection19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16], _17: Column[T17], _18: Column[T18], _19: Column[T19]) extends Product19[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16], Column[T17], Column[T18], Column[T19]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)] with Product with Serializable
  44. final case class Projection2[T1, T2](_1: Column[T1], _2: Column[T2]) extends Product2[Column[T1], Column[T2]] with Projection[(T1, T2)] with Product with Serializable
  45. final case class Projection20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16], _17: Column[T17], _18: Column[T18], _19: Column[T19], _20: Column[T20]) extends Product20[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16], Column[T17], Column[T18], Column[T19], Column[T20]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)] with Product with Serializable
  46. final case class Projection21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16], _17: Column[T17], _18: Column[T18], _19: Column[T19], _20: Column[T20], _21: Column[T21]) extends Product21[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16], Column[T17], Column[T18], Column[T19], Column[T20], Column[T21]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)] with Product with Serializable
  47. final case class Projection22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9], _10: Column[T10], _11: Column[T11], _12: Column[T12], _13: Column[T13], _14: Column[T14], _15: Column[T15], _16: Column[T16], _17: Column[T17], _18: Column[T18], _19: Column[T19], _20: Column[T20], _21: Column[T21], _22: Column[T22]) extends Product22[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9], Column[T10], Column[T11], Column[T12], Column[T13], Column[T14], Column[T15], Column[T16], Column[T17], Column[T18], Column[T19], Column[T20], Column[T21], Column[T22]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)] with Product with Serializable
  48. final case class Projection3[T1, T2, T3](_1: Column[T1], _2: Column[T2], _3: Column[T3]) extends Product3[Column[T1], Column[T2], Column[T3]] with Projection[(T1, T2, T3)] with Product with Serializable
  49. final case class Projection4[T1, T2, T3, T4](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4]) extends Product4[Column[T1], Column[T2], Column[T3], Column[T4]] with Projection[(T1, T2, T3, T4)] with Product with Serializable
  50. final case class Projection5[T1, T2, T3, T4, T5](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5]) extends Product5[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5]] with Projection[(T1, T2, T3, T4, T5)] with Product with Serializable
  51. final case class Projection6[T1, T2, T3, T4, T5, T6](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6]) extends Product6[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6]] with Projection[(T1, T2, T3, T4, T5, T6)] with Product with Serializable
  52. final case class Projection7[T1, T2, T3, T4, T5, T6, T7](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7]) extends Product7[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7]] with Projection[(T1, T2, T3, T4, T5, T6, T7)] with Product with Serializable
  53. final case class Projection8[T1, T2, T3, T4, T5, T6, T7, T8](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8]) extends Product8[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8)] with Product with Serializable
  54. final case class Projection9[T1, T2, T3, T4, T5, T6, T7, T8, T9](_1: Column[T1], _2: Column[T2], _3: Column[T3], _4: Column[T4], _5: Column[T5], _6: Column[T6], _7: Column[T7], _8: Column[T8], _9: Column[T9]) extends Product9[Column[T1], Column[T2], Column[T3], Column[T4], Column[T5], Column[T6], Column[T7], Column[T8], Column[T9]] with Projection[(T1, T2, T3, T4, T5, T6, T7, T8, T9)] with Product with Serializable
  55. sealed abstract class Query[+P, +U] extends Node
  56. sealed trait QueryModifier extends Node
  57. class QueryWrap[+P, +U] extends Query[P, U]
  58. trait Queryable[-T] extends AnyRef

    a type class that restricts Query monad filter operations

  59. sealed trait Reify[-P, R] extends AnyRef

    A type class that encodes the reification Packed => Reified of a Query[Packed] to a fully packed type Reified, i.e.

    A type class that encodes the reification Packed => Reified of a Query[Packed] to a fully packed type Reified, i.e. a type where everything which is not a transparent container is wrapped in a Column[_].

    This needs to be defined in a separate typeclass but in lockstep with Unpack because of limitations of Scala's type inferencer.

    Example:

    - Packed: (Column[Int], Column[(Int, String)], (Int, Option[Double])) - Reified: (Column[Int], Column[(Int, String)], (Column[Int], Column[Option[Double]]))

    Annotations
    @implicitNotFound()
  60. trait ReifyLowPriority extends AnyRef
  61. class Sequence[T] extends AnyRef
  62. trait SimpleBinaryOperator extends BinaryNode
  63. trait SimpleExpression extends Node
  64. trait SimpleFunction extends Node

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

  65. case class SimpleLiteral(name: String) extends Node with Product with Serializable
  66. case class StdFunction[T](name: String, operand: Node)(implicit evidence$6: TypeMapper[T]) extends OperatorColumn[T] with SimpleFunction with Product with Serializable
  67. case class Subquery(query: Node, rename: Boolean) extends Node with Product with Serializable
  68. case class SubqueryColumn(pos: Int, subquery: Subquery, typeMapper: TypeMapper[_]) extends Node with Product with Serializable
  69. abstract class Table[T] extends ColumnBase[T]
  70. final case class TakeDrop(take: Option[Column[Int]], drop: Option[Column[Int]], compareNode: Option[Column[Int]] = None) extends QueryModifier with NullaryNode with Product with Serializable
  71. sealed trait TypeMapper[T] extends (Profile) => TypeMapperDelegate[T]

    A (usually implicit) TypeMapper object represents a Scala type that can be used as a column type in the database.

    A (usually implicit) TypeMapper object represents a Scala type that can be used as a column type in the database. The actual implementation of the type is deferred to a TypeMapperDelegate which can depend on the driver.

    Custom types with a single implementation can implement both traits in one object:

    implicit object MyTypeMapper
        extends TypeMapper[MyType] with TypeMapperDelegate[MyType] {
      def apply(p:Profile) = this
      def zero = ...
      def sqlType = ...
      def setValue(v: Long, p: PositionedParameters) = ...
      def setOption(v: Option[Long], p: PositionedParameters) = ...
      def nextValue(r: PositionedResult) = ...
      def updateValue(v: Long, r: PositionedResult) = ...
    }
    

  72. trait TypeMapperDelegate[T] extends AnyRef
  73. case class Union(all: Boolean, queries: List[Query[_, _]]) extends Node with Product with Serializable
  74. sealed trait Unpack[-P, U] extends AnyRef

    A type class that encodes the unpacking Packed => Unpacked of a Query[Packed] to its result element type Unpacked.

    A type class that encodes the unpacking Packed => Unpacked of a Query[Packed] to its result element type Unpacked.

    At run-time, it provides the reification, ValueLinearizer of the Unpacked type.

    Example:

    - Packed: (Column[Int], Column[(Int, String)], (Int, Option[Double])) - Unpacked: (Int, (Int, String), (Int, Option[Double])) - Reified: (Column[Int], Column[(Int, String)], (Column[Int], Column[Option[Double]])) - Linearized: (Int, Int, String, Int, Option[Double])

    Annotations
    @implicitNotFound()
  75. trait UnpackLowPriority extends UnpackLowPriority2
  76. trait UnpackLowPriority2 extends AnyRef
  77. case class Unpackable[T, U](value: T, unpack: Unpack[T, U]) extends Product with Serializable

    A packed value together with its unpacking

  78. class WrappedColumn[T] extends Column[T]

    A WrappedColumn can be used to change a column's nullValue.

Value Members

  1. object Case
  2. object ColumnOps
  3. object ConstColumn extends Serializable
  4. object EscFunction
  5. object ForeignKeyAction
  6. object Functions
  7. object Join extends Serializable
  8. object JoinType
  9. object MappedTypeMapper
  10. object NamedColumn
  11. object OptionMapper2
  12. object OptionMapper3
  13. object Ordering
  14. object Params
  15. object Query extends QueryWrap[Unit, Unit]
  16. object Queryable
  17. object Reify extends ReifyLowPriority
  18. object Sequence
  19. object SimpleBinaryOperator
  20. object SimpleExpression
  21. object SimpleFunction
  22. object Subquery extends Serializable
  23. object Table
  24. object TakeDrop extends Serializable
  25. object TypeMapper
  26. object TypeMapperDelegate
  27. object Unpack extends UnpackLowPriority
  28. object ~

Ungrouped