Packages

trait SqlMapping[F[_]] extends CirceMapping[F] with SqlModule[F]

An abstract mapping that is backed by a SQL database.

Self Type
SqlMapping[F]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SqlMapping
  2. SqlModule
  3. CirceMapping
  4. Mapping
  5. QueryExecutor
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class AliasState(next: Int, seenTables: Set[String], tableAliases: Map[(List[String], String), String], seenColumns: Set[String], columnAliases: Map[(List[String], String), String], ownerChain: List[ColumnOwner]) extends Product with Serializable

    State required to assign table and column aliases.

    State required to assign table and column aliases.

    Used when rendering an SqlQuery as a Fragment. Table aliases are assigned as needed for recursive queries. Column aliases are assigned to disambiguate collections of columns generated by subqueries and unions.

  2. type Aliased[T] = IndexedStateT[Eval, AliasState, AliasState, T]
  3. case class CirceCursor extends Cursor with Product with Serializable
    Definition Classes
    CirceMapping
  4. case class CirceRoot extends circe.CirceMapping.RootMapping with Product with Serializable
    Definition Classes
    CirceMapping
  5. abstract type Codec

    The type of a codec that reads and writes column values of type A.

    The type of a codec that reads and writes column values of type A.

    Definition Classes
    SqlModule
  6. sealed trait ColumnOwner extends Product with Serializable

    Trait representing an owner of an SqlColumn

    Trait representing an owner of an SqlColumn

    ColumnOwners are tables, SQL queries and subqueries, common table expressions and the like. Most, but not all have a name (SqlSelect, SqlUnion and SqlJoin being unnamed examples)

  7. case class ColumnRef(table: String, column: String, codec: SqlMapping.Codec, scalaTypeName: String, pos: SourcePos) extends Product with Serializable

    Name of a SQL schema column and its associated codec, Scala type an defining source position within an SqlMapping.

    Name of a SQL schema column and its associated codec, Scala type an defining source position within an SqlMapping.

    Columns are considered equal if their table and column names are equal.

    Note that ColumnRef primarily play a role in mappings. During compilation they will be used to construct SqlColumns.

  8. case class CursorField[T] extends FieldMapping with Product with Serializable
    Definition Classes
    Mapping
  9. case class CursorFieldJson extends FieldMapping with Product with Serializable
    Definition Classes
    Mapping
  10. case class Delegate extends FieldMapping with Product with Serializable
    Definition Classes
    Mapping
  11. abstract type Encoder

    The type of an encoder that writes column values of type A.

    The type of an encoder that writes column values of type A.

    Definition Classes
    SqlModule
  12. trait FieldMapping extends Product with Serializable
    Definition Classes
    Mapping
  13. sealed trait FieldMappingType extends AnyRef

    Enumeration representing a kind of field mapping

  14. abstract type Fragment

    The type of a fragment of SQL together with any interpolated arguments.

    The type of a fragment of SQL together with any interpolated arguments.

    Definition Classes
    SqlModule
  15. case class Join(parent: ColumnRef, child: ColumnRef) extends Product with Serializable

    A pair of ColumnRefs, representing a SQL join.

  16. case class LeafCursor(context: Context, focus: Any, mapped: MappedQuery, parent: Option[Cursor], env: Env) extends Cursor with Product with Serializable

    Cursor positioned at a GraphQL result leaf

  17. trait LeafMapping[T] extends TypeMapping
    Definition Classes
    Mapping
  18. final class MappedQuery extends AnyRef

    Represents the mapping of a GraphQL query to an SQL query

  19. case class Mutation extends Product with Serializable
    Definition Classes
    Mapping
  20. abstract class ObjectMapping extends TypeMapping
    Definition Classes
    Mapping
  21. case class PrefixedMapping extends TypeMapping with Product with Serializable
    Definition Classes
    Mapping
  22. case class PrimitiveField extends FieldMapping with Product with Serializable
    Definition Classes
    Mapping
  23. case class PrimitiveMapping extends TypeMapping with Product with Serializable
    Definition Classes
    Mapping
  24. trait RootMapping extends FieldMapping
    Definition Classes
    Mapping
  25. trait SqlColumn extends AnyRef

    Trait representing an SQL column

  26. case class SqlColumnTerm(col: SqlColumn) extends Term[Option[Unit]] with Product with Serializable

    Wraps an SqlColumn as a Term which can appear in a Predicate

  27. case class SqlCursor(context: Context, focus: Any, mapped: MappedQuery, parent: Option[Cursor], env: Env) extends Cursor with Product with Serializable

    Cursor positioned at a GraphQL result non-leaf

  28. sealed trait SqlDiscriminatedType extends AnyRef

    Common super type for mappings which have a programmatic discriminator, ie.

    Common super type for mappings which have a programmatic discriminator, ie. interface and union mappings.

  29. trait SqlDiscriminator extends AnyRef

    Discriminator for the branches of an interface/union

  30. case class SqlField(fieldName: String, columnRef: ColumnRef, key: Boolean = false, discriminator: Boolean = false, hidden: Boolean = false, associative: Boolean = false)(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
  31. sealed trait SqlFieldMapping extends FieldMapping
  32. sealed trait SqlInterfaceMapping extends ObjectMapping with SqlDiscriminatedType
  33. case class SqlJson(fieldName: String, columnRef: ColumnRef)(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
  34. case class SqlObject(fieldName: String, joins: List[Join])(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
  35. sealed trait SqlQuery extends ColumnOwner

    Representation of a SQL query in a context

  36. case class SqlRoot(fieldName: String, orootTpe: Option[Type] = None, mutation: SqlMapping.Mutation = Mutation.None)(implicit pos: SourcePos) extends RootMapping with Product with Serializable
  37. sealed trait SqlUnionMapping extends ObjectMapping with SqlDiscriminatedType
  38. sealed trait Table extends AnyRef

    Representation of an SQL query result

  39. class TableDef extends AnyRef
  40. sealed trait TableExpr extends ColumnOwner

    Representation of a table expression

  41. case class TableName(name: String) extends Product with Serializable
  42. trait TypeMapping extends Product with Serializable
    Definition Classes
    Mapping
  43. trait SqlFragment[T] extends Monoid[T]

    Typeclass for SQL fragments.

    Typeclass for SQL fragments.

    Definition Classes
    SqlModule

Abstract Value Members

  1. implicit abstract def Fragments: SqlFragment[Fragment]
    Definition Classes
    SqlModule
  2. abstract def booleanEncoder: Encoder
    Definition Classes
    SqlModule
  3. abstract def doubleEncoder: Encoder
    Definition Classes
    SqlModule
  4. abstract def fetch(fragment: Fragment, codecs: List[(Boolean, Codec)]): F[Vector[Array[Any]]]
    Definition Classes
    SqlModule
  5. abstract def intCodec: Codec
    Definition Classes
    SqlModule
  6. abstract def intEncoder: Encoder
    Definition Classes
    SqlModule
  7. abstract def monitor: SqlMonitor[F, Fragment]
    Definition Classes
    SqlModule
  8. abstract val schema: Schema
    Definition Classes
    Mapping
  9. abstract def stringEncoder: Encoder
    Definition Classes
    SqlModule
  10. abstract def toEncoder(c: Codec): Encoder

    Extract an encoder from a codec.

    Extract an encoder from a codec.

    Definition Classes
    SqlModule
  11. abstract val typeMappings: List[TypeMapping]
    Definition Classes
    Mapping

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit val M: Monad[F]
    Definition Classes
    Mapping
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def columnForAtomicField(context: Context, fieldName: String): Option[SqlColumn]

    Returns the aliased column corresponding to the atomic field fieldName in context

  8. def columnForSqlTerm[T](context: Context, term: Term[T]): Option[SqlColumn]

    Returns the aliased columns corresponding to term in context

  9. def columnsForLeaf(context: Context, fieldName: String): List[SqlColumn]

    Returns the columns for leaf field fieldName in context

  10. def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
    Definition Classes
    QueryExecutor
  11. def compileAndRunAll(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env): Stream[F, Json]
    Definition Classes
    Mapping → QueryExecutor
  12. def compileAndRunOne(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
    Definition Classes
    Mapping → QueryExecutor
  13. lazy val compiler: QueryCompiler
    Definition Classes
    Mapping
  14. def compilerPhases: List[Phase]
    Definition Classes
    Mapping
  15. lazy val componentElaborator: ComponentElaborator[[_]F[_]]
    Definition Classes
    Mapping
  16. def discriminatorColumnsForType(context: Context): List[SqlColumn]

    Returns the discriminator columns for the context type

  17. def discriminatorForType(context: Context): Option[SqlDiscriminatedType]

    Returns the discriminator for the type at context

  18. def encoderForLeaf(tpe: Type): Option[io.circe.Encoder[Any]]

    Returns the Encoder for the given type

  19. def encoderForTerm(context: Context, term: Term[_]): Option[Encoder]

    Returns the Encoder for the given term in context

  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  22. def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]
    Definition Classes
    Mapping
  23. def fieldMappingType(context: Context, fieldName: String): Option[FieldMappingType]

    Return an indicator of the kind of field mapping corresponding to fieldName in context

  24. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  25. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. val interpreter: QueryInterpreter[F]
    Definition Classes
    Mapping
  28. def isAssociative(context: Context): Boolean

    Is the context type mapped to an associative table?

  29. def isComputedField(context: Context, fieldName: String): Boolean

    Is fieldName in context computed?

  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. def isJsonb(context: Context, fieldName: String): Boolean

    Is fieldName in context Jsonb?

  32. def isSingular(context: Context, fieldName: String, query: Query): Boolean

    Does the supplied field correspond to a single, possibly structured, value?

  33. def isSqlTerm(context: Context, term: Term[_]): Boolean

    Is term in contextexpressible in SQL?

  34. def keyColumnsForType(context: Context): List[SqlColumn]

    Returns the key columns for the context type

  35. def leafMapping[T](tpe: Type): Option[LeafMapping[T]]
    Definition Classes
    Mapping
  36. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def nonLeafList(context: Context, fieldName: String): Boolean

    Does the type of fieldName in context represent a list of subobjects?

  38. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  40. def objectMapping(context: Context): Option[ObjectMapping]
    Definition Classes
    Mapping
  41. def parentTableForType(context: Context): Option[TableRef]

    Returns the table for the type at context

  42. def rootCursor(context: Context, fieldName: String, resultName: Option[String], child: Query, env: Env): Stream[F, Result[(Query, Cursor)]]
    Definition Classes
    Mapping
  43. def rootMapping(context: Context, fieldName: String): Option[RootMapping]
    Definition Classes
    Mapping
  44. def run(op: Operation, env: Env): Stream[F, Json]
    Definition Classes
    Mapping
  45. def run(query: Query, rootTpe: Type, env: Env): Stream[F, Json]
    Definition Classes
    Mapping → QueryExecutor
  46. val selectElaborator: SelectElaborator
    Definition Classes
    Mapping
  47. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  48. def toString(): String
    Definition Classes
    AnyRef → Any
  49. def typeMapping(tpe: NamedType): Option[TypeMapping]
    Definition Classes
    Mapping
  50. val validator: SqlMappingValidator
    Definition Classes
    SqlMapping → Mapping
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  53. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  54. object AliasState extends Serializable
  55. object Aliased
  56. object CursorField extends Serializable
    Definition Classes
    Mapping
  57. object CursorFieldJson extends Serializable
    Definition Classes
    Mapping
  58. object FieldMappingType
  59. object MappedQuery
  60. object Mutation extends Serializable
    Definition Classes
    Mapping
  61. object SqlColumn
  62. object SqlInterfaceMapping extends Serializable
  63. object SqlObject extends Serializable
  64. object SqlQuery extends Serializable
  65. object SqlUnionMapping extends Serializable
  66. object Table
  67. object TableExpr extends Serializable

Inherited from SqlModule[F]

Inherited from CirceMapping[F]

Inherited from Mapping[F]

Inherited from QueryExecutor[F, Json]

Inherited from AnyRef

Inherited from Any

Ungrouped