io.getquill

package io.getquill

Type members

Classlikes

case class CaseClassLift[T](entity: Quoted[T], uid: String) extends QuotationLot[T]
case class EagerEntitiesPlanter[T, PrepareRow, Session](value: Iterable[T], uid: String, fieldGetters: List[InjectableEagerPlanter[_, PrepareRow, Session]], fieldClass: CaseClass) extends Planter[Query[T], PrepareRow, Session]
case class EagerListPlanter[T, PrepareRow, Session](values: List[T], encoder: GenericEncoder[T, PrepareRow, Session], uid: String) extends Planter[Query[T], PrepareRow, Session]
case class EagerPlanter[T, PrepareRow, Session](value: T, encoder: GenericEncoder[T, PrepareRow, Session], uid: String) extends Planter[T, PrepareRow, Session]
trait Embedable[T]
Companion:
class
trait EntityQuery[T] extends EntityQueryModel[T] with Unquoteable
Companion:
object
implicit class InfixInterpolator(val sc: StringContext)
case class InjectableEagerPlanter[T, PrepareRow, Session](inject: () => T, encoder: GenericEncoder[T, PrepareRow, Session], uid: String) extends Planter[T, PrepareRow, Session]
case class InsertMeta[T](entity: Quoted[T], uid: String) extends QuotationLot[T]
case class LazyPlanter[T, PrepareRow, Session](value: T, uid: String) extends Planter[T, PrepareRow, Session]
trait MirrorColumnResolving[+Dialect <: Idiom, +Naming <: NamingStrategy]
class MirrorContext[+Dialect <: Idiom, +Naming <: NamingStrategy](val idiom: Dialect, val naming: Naming, val session: MirrorSession) extends MirrorContextBase[Dialect, Naming] with AstSplicing
trait MirrorContextBase[+Dialect <: Idiom, +Naming <: NamingStrategy] extends Context[Dialect, Naming] with ContextVerbPrepare[Dialect, Naming] with ContextVerbTranslate[Dialect, Naming] with MirrorDecoders with MirrorEncoders

TODO Not needed now since elabration does not do OntoAst?

TODO Not needed now since elabration does not do OntoAst?

Companion:
object
Companion:
class
sealed trait Planter[T, PrepareRow, Session] extends Unquoteable
case class QueryMeta[T, R](entity: Quoted[Query[T] => Query[R]], uid: String, extract: R => T) extends QuotationLot[Query[T] => Query[R]]
sealed trait QuotationLot[+T](uid: String) extends Unquoteable
case class QuotationVase(quoted: Quoted[Any], uid: String) extends Unquoteable
case class Quoted[+T](ast: Ast, lifts: List[Planter[_, _, _]], runtimeQuotes: List[QuotationVase])
case class SchemaMeta[T](entity: Quoted[EntityQuery[T]], uid: String) extends QuotationLot[EntityQuery[T]]
object SpliceDate extends StaticSplice[Date]
object SpliceDouble extends StaticSplice[Double]
object SpliceFloat extends StaticSplice[Float]
object SpliceInt extends StaticSplice[Int]
object SpliceLocalDate extends StaticSplice[LocalDate]
object SpliceLong extends StaticSplice[Long]
object SpliceShort extends StaticSplice[Short]
object SpliceString extends StaticSplice[String]
implicit class SqlInfixInterpolator(val sc: StringContext)
class SqlMirrorContext[+Idiom <: Idiom, +Naming <: NamingStrategy](val idiom: Idiom, val naming: Naming) extends MirrorContextBase[Idiom, Naming] with AstSplicing with SqlContext[Idiom, Naming] with ArrayMirrorEncoding

Workaround for IntelliJ SCL-20185. Inheriting MirrorContextBase directly so that run methods have autocomplete.

Workaround for IntelliJ SCL-20185. Inheriting MirrorContextBase directly so that run methods have autocomplete.

trait StaticSplice[T]

Trait that allows usage of 'static' block. Can declared one of these and use similar to encoders but it needs to be compiled in a previous compilation unit and a global static. TODO More explanation

Trait that allows usage of 'static' block. Can declared one of these and use similar to encoders but it needs to be compiled in a previous compilation unit and a global static. TODO More explanation

Companion:
object
Companion:
class
trait Udt
case class Unquote[+T](quoted: Quoted[T], uid: String) extends QuotationLot[T]
sealed trait Unquoteable
case class UpdateMeta[T](entity: Quoted[T], uid: String) extends QuotationLot[T]
trait UpperCaseEscapeColumn extends NamingStrategy
Companion:
object
trait UpperCaseNonDefault extends NamingStrategy
Companion:
object
object compat
object extras

Value members

Concrete methods

def avg[A](a: A)(implicit n: Numeric[A]): BigDecimal
def avg[A](a: Option[A])(implicit n: Numeric[A]): Option[BigDecimal]
def count[A](a: A): A
inline def insertMeta[T](inline exclude: T => Any*): InsertMeta[T]
inline def lazyLift[T](inline vv: T): T
def max[A](a: A): A
def min[A](a: A): A
inline def query[T]: EntityQuery[T]
inline def queryMeta[T, R](inline expand: Quoted[Query[T] => Query[R]])(inline extract: R => T): QueryMeta[T, R]
def querySchema[T](entity: String, columns: T => (Any, String)*): EntityQuery[T]
inline def quote[T](inline bodyExpr: Quoted[T]): Quoted[T]
inline def quote[T](inline bodyExpr: T): Quoted[T]
inline def schemaMeta[T](inline entity: String, inline columns: T => (Any, String)*): SchemaMeta[T]
inline def select[T]: Query[T]
inline def static[T](inline value: T): T
def sum[A](a: A)(implicit n: Numeric[A]): A
def sum[A](a: Option[A])(implicit n: Numeric[A]): Option[A]
inline def updateMeta[T](inline exclude: T => Any*): UpdateMeta[T]

Extensions

Extensions

extension [T](entity: EntityQuery[T])
inline def insertValue(inline value: T): Insert[T]
inline def updateValue(inline value: T): Update[T]
extension [T](o: Option[T])
def filterIfDefined(f: T => Boolean): Boolean
extension [T](quotedEntity: Quoted[EntityQuery[T]])
inline def insert(inline f: T => (Any, Any), inline f2: T => (Any, Any)*): Insert[T]
inline def insertValue(inline value: T): Insert[T]
inline def update(inline f: T => (Any, Any), inline f2: T => (Any, Any)*): Update[T]
inline def updateValue(inline value: T): Update[T]
extension (str: String)
def like(other: String): Boolean

Implicits

Implicits

final implicit def InfixInterpolator(sc: StringContext): InfixInterpolator
final implicit def SqlInfixInterpolator(sc: StringContext): SqlInfixInterpolator
implicit inline def autoQuote[T](inline body: T): Quoted[T]
implicit def implicitOrd[T]: Ord[T]

Automatic implicit ordering DSL for: query[Person].sortBy(_.field)(<here>)

Automatic implicit ordering DSL for: query[Person].sortBy(_.field)(<here>)

implicit inline def unquote[T](inline quoted: Quoted[T]): T