io.getquill.quat

Members list

Type members

Classlikes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Quat

Quat.Product - Something that contains a list of fields e.g. case class Person(name:String,age:Int) would be Product("name"->Quat.Value, "age"->Quat.Value)

This represents a simplified Sql-Type. Since it applies to all dialects, it is called Quill-Application-Type hence Quat. Quats represent the types of the Quill AST allowing us to know what fields exist on an Ident and more concretely what can be done with it. Currently they are:

Quat.Product - Something that contains a list of fields e.g. case class Person(name:String,age:Int) would be Product("name"->Quat.Value, "age"->Quat.Value)

  • Quat.Value - A value level Quat e.g. Int, Long, String etc... More specific Quat.Value types are planned int the future.

Quat.Generic - A Quat representing a type whose value is not known yet.

Quat.Null - A Quat representing a null value.

Quats are generally treated as through they are immutable although there are dynamic/mutable variables in some places (e.g. Product uses LinkedHashSet and var) due to various other issues (e.g. performance, serialization). It is assumed that all operations Quats have referential transparency.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Generic.type
object Null.type
trait Primitive
trait Boolean
object BooleanExpression.type
object BooleanValue.type
object Value.type
class Product
object Unknown.type
Show all
object Quat

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Quat.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type