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
SqlModule[F], CirceMapping[F], Mapping[F], QueryExecutor[F, Json], AnyRef, Any
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 AliasedMappings(tableAliases: List[(List[String], String, String)], columnAliases: List[(List[String], ColumnRef, ColumnRef)], seenTables: List[String], nextFresh: Int) extends Product with Serializable

    Data structure managing DB table and column aliases.

    Data structure managing DB table and column aliases.

    Aliases are scoped by the result path, which is unique in the GraphQL output even in the presence of GraphQL field alises. Table aliases apply from the given output path and below.

    Column aliases are synthesized whenever an SQL union has to be nested in a subquery and hence requires a uniform set of column names. These column aliases apply from the given path and above.

    Tables are only aliased if they have already been seen in an depth-first in-order traversal of the output graph. This data structure also track the seen state for tables.

    AliasedMappings also maintains the bookeeping information needed to supply arbitrary fresh names. Currently these are used to name identity/predicate joins.

  2. case class CirceCursor extends Cursor with Product with Serializable
    Definition Classes
    CirceMapping
  3. case class CirceRoot extends circe.CirceMapping.RootMapping with Product with Serializable
    Definition Classes
    CirceMapping
  4. 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
  5. case class ColumnRef(table: String, column: String, codec: SqlMapping.Codec, scalaTypeName: String)(implicit pos: SourcePos) extends Product with Serializable

    Name of a SQL schema column and its associated codec.

    Name of a SQL schema column and its associated codec. Note that ColumnRefs are considered equal if their table and column names are equal.

  6. case class CursorField[T] extends FieldMapping with Product with Serializable
    Definition Classes
    Mapping
  7. case class Delegate extends FieldMapping with Product with Serializable
    Definition Classes
    Mapping
  8. 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
  9. trait FieldMapping extends Product with Serializable
    Definition Classes
    Mapping
  10. 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
  11. case class Join(parent: ColumnRef, child: ColumnRef) extends Product with Serializable

    A pair of ColumnRefs, representing a SQL join.

  12. 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

  13. trait LeafMapping[T] extends TypeMapping
    Definition Classes
    Mapping
  14. final class MappedQuery extends AnyRef

    Represents the mapping of a GraphQL query to an SQL query

  15. case class Mutation extends Product with Serializable
    Definition Classes
    Mapping
  16. trait ObjectMapping extends TypeMapping
    Definition Classes
    Mapping
  17. case class PrefixedMapping extends TypeMapping with Product with Serializable
    Definition Classes
    Mapping
  18. case class PrimitiveMapping extends TypeMapping with Product with Serializable
    Definition Classes
    Mapping
  19. trait RootMapping extends FieldMapping
    Definition Classes
    Mapping
  20. 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

  21. 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. TODO: support SQL-native discriminators.

  22. 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
  23. sealed trait SqlFieldMapping extends FieldMapping
  24. sealed trait SqlInterfaceMapping extends ObjectMapping with SqlDiscriminatedType
  25. case class SqlJson(fieldName: String, columnRef: ColumnRef)(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
  26. case class SqlObject(fieldName: String, joins: List[Join])(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
  27. sealed trait SqlQuery extends AnyRef

    Representation of a SQL query in a context

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

    Representation of a table expression

  31. trait TypeMapping extends Product with Serializable
    Definition Classes
    Mapping
  32. 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[Table]
    Definition Classes
    SqlModule
  5. abstract def intEncoder: Encoder
    Definition Classes
    SqlModule
  6. abstract def monitor: SqlMonitor[F, Fragment]
    Definition Classes
    SqlModule
  7. abstract val schema: Schema
    Definition Classes
    Mapping
  8. abstract def stringEncoder: Encoder
    Definition Classes
    SqlModule
  9. abstract def toEncoder(c: Codec): Encoder

    Extract an encoder from a codec.

    Extract an encoder from a codec.

    Definition Classes
    SqlModule
  10. 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() @HotSpotIntrinsicCandidate()
  7. def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
    Definition Classes
    QueryExecutor
  8. def compileAndRunAll(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env): Stream[F, Json]
    Definition Classes
    Mapping → QueryExecutor
  9. 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
  10. lazy val compiler: QueryCompiler
    Definition Classes
    Mapping
  11. def compilerPhases: List[Phase]
    Definition Classes
    Mapping
  12. lazy val componentElaborator: ComponentElaborator[[_]F[_]]
    Definition Classes
    Mapping
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]
    Definition Classes
    Mapping
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. val interpreter: QueryInterpreter[F]
    Definition Classes
    Mapping
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def leafMapping[T](tpe: Type): Option[LeafMapping[T]]
    Definition Classes
    Mapping
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def objectMapping(context: Context): Option[ObjectMapping]
    Definition Classes
    Mapping
  25. def rootCursor(context: Context, fieldName: String, resultName: Option[String], child: Query, env: Env): Stream[F, Result[(Query, Cursor)]]
    Definition Classes
    Mapping
  26. def rootMapping(context: Context, fieldName: String): Option[RootMapping]
    Definition Classes
    Mapping
  27. def run(op: Operation, env: Env): Stream[F, Json]
    Definition Classes
    Mapping
  28. def run(query: Query, rootTpe: Type, env: Env): Stream[F, Json]
    Definition Classes
    Mapping → QueryExecutor
  29. val selectElaborator: SelectElaborator
    Definition Classes
    Mapping
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. def typeMapping(tpe: Type): Option[TypeMapping]
    Definition Classes
    Mapping
  33. val validator: SqlMappingValidator
    Definition Classes
    SqlMapping → Mapping
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. object AliasedMappings extends Serializable
  38. object ColumnRef extends Serializable
  39. object CursorField extends Serializable
    Definition Classes
    Mapping
  40. object MappedQuery
  41. object Mutation extends Serializable
    Definition Classes
    Mapping
  42. object SqlInterfaceMapping extends Serializable
  43. object SqlObject extends Serializable
  44. object SqlQuery
  45. object SqlUnionMapping extends Serializable
  46. object TableExpr

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from SqlModule[F]

Inherited from CirceMapping[F]

Inherited from Mapping[F]

Inherited from QueryExecutor[F, Json]

Inherited from AnyRef

Inherited from Any

Ungrouped