abstract class SqlMapping[F[_]] extends Mapping[F] with SqlMappingLike[F]
- Source
- SqlMapping.scala
- Alphabetic
- By Inheritance
- SqlMapping
- SqlMappingLike
- SqlModule
- CirceMappingLike
- Mapping
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SqlMapping()(implicit M: MonadThrow[F])
Type Members
- type Aliased[T] = IndexedStateT[Result, AliasState, AliasState, T]
- Definition Classes
- SqlMappingLike
- case class CirceCursor extends Cursor with Product with Serializable
- Definition Classes
- CirceMappingLike
- case class CirceField extends CirceFieldMapping with Product with Serializable
- Definition Classes
- CirceMappingLike
- sealed trait CirceFieldMapping extends circe.CirceMappingLike.FieldMapping
- Definition Classes
- CirceMappingLike
- implicit class CirceMappingRootEffectSyntax extends AnyRef
- Definition Classes
- CirceMappingLike
- implicit class CirceMappingRootStreamSyntax extends AnyRef
- Definition Classes
- CirceMappingLike
- 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
- case class CursorField[T] extends FieldMapping with Product with Serializable
- Definition Classes
- Mapping
- case class CursorFieldJson extends CirceFieldMapping with Product with Serializable
- Definition Classes
- CirceMappingLike
- case class Delegate extends FieldMapping with Product with Serializable
- Definition Classes
- Mapping
- case class EffectField extends EffectMapping with Product with Serializable
- Definition Classes
- Mapping
- trait EffectMapping extends FieldMapping
- Definition Classes
- Mapping
- 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
- trait FieldMapping extends Product with Serializable
- Definition Classes
- Mapping
- case class FieldTransformCursor[T] extends ProxyCursor with Product with Serializable
- Definition Classes
- Mapping
- 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
- case class LeafCursor extends Cursor with Product with Serializable
- Definition Classes
- Mapping
- trait LeafMapping[T] extends TypeMapping
- Definition Classes
- Mapping
- abstract class ObjectMapping extends TypeMapping
- Definition Classes
- Mapping
- case class PrefixedMapping extends TypeMapping with Product with Serializable
- Definition Classes
- Mapping
- case class PrimitiveField extends FieldMapping with Product with Serializable
- Definition Classes
- Mapping
- case class PrimitiveMapping extends TypeMapping with Product with Serializable
- Definition Classes
- Mapping
- case class RootCursor extends AbstractCursor with Product with Serializable
- Definition Classes
- Mapping
- case class RootEffect extends EffectMapping with Product with Serializable
- Definition Classes
- Mapping
- case class RootStream extends EffectMapping with Product with Serializable
- Definition Classes
- Mapping
- trait TypeMapping extends Product with Serializable
- Definition Classes
- Mapping
- 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 aFragment
. Table aliases are assigned as needed for recursive queries. Column aliases are assigned to disambiguate collections of columns generated by subqueries and unions.- Definition Classes
- SqlMappingLike
- 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)
- Definition Classes
- SqlMappingLike
- case class ColumnRef(table: String, column: String, codec: SqlMappingLike.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
.Column
s 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 constructSqlColumns
.- Definition Classes
- SqlMappingLike
- case class Join(conditions: List[(ColumnRef, ColumnRef)]) extends Product with Serializable
A pair of
ColumnRef
s, representing a SQL join.A pair of
ColumnRef
s, representing a SQL join.- Definition Classes
- SqlMappingLike
- sealed trait MappedQuery extends AnyRef
Represents the mapping of a GraphQL query to an SQL query
Represents the mapping of a GraphQL query to an SQL query
- Definition Classes
- SqlMappingLike
- case class MultiRootCursor(roots: List[SqlCursor]) extends AbstractCursor with Product with Serializable
- Definition Classes
- SqlMappingLike
- class RootDef extends AnyRef
- Definition Classes
- SqlMappingLike
- trait SqlColumn extends AnyRef
Trait representing an SQL column
Trait representing an SQL column
- Definition Classes
- SqlMappingLike
- case class SqlColumnTerm(col: SqlColumn) extends Term[Option[Unit]] with Product with Serializable
Wraps an
SqlColumn
as aTerm
which can appear in aPredicate
Wraps an
SqlColumn
as aTerm
which can appear in aPredicate
- Definition Classes
- SqlMappingLike
- 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
Cursor positioned at a GraphQL result non-leaf
- Definition Classes
- SqlMappingLike
- 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.
- Definition Classes
- SqlMappingLike
- trait SqlDiscriminator extends AnyRef
Discriminator for the branches of an interface/union
Discriminator for the branches of an interface/union
- Definition Classes
- SqlMappingLike
- 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
- Definition Classes
- SqlMappingLike
- sealed trait SqlFieldMapping extends FieldMapping
- Definition Classes
- SqlMappingLike
- sealed trait SqlInterfaceMapping extends ObjectMapping with SqlDiscriminatedType
- Definition Classes
- SqlMappingLike
- case class SqlJson(fieldName: String, columnRef: ColumnRef)(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
- Definition Classes
- SqlMappingLike
- class SqlMappingException extends RuntimeException
- Definition Classes
- SqlMappingLike
- case class SqlObject(fieldName: String, joins: List[Join])(implicit pos: SourcePos) extends SqlFieldMapping with Product with Serializable
- Definition Classes
- SqlMappingLike
- sealed trait SqlQuery extends ColumnOwner
Representation of a SQL query in a context
Representation of a SQL query in a context
- Definition Classes
- SqlMappingLike
- sealed trait SqlUnionMapping extends ObjectMapping with SqlDiscriminatedType
- Definition Classes
- SqlMappingLike
- sealed trait Table extends AnyRef
Representation of an SQL query result
Representation of an SQL query result
- Definition Classes
- SqlMappingLike
- class TableDef extends AnyRef
- Definition Classes
- SqlMappingLike
- sealed trait TableExpr extends ColumnOwner
Representation of a table expression
Representation of a table expression
- Definition Classes
- SqlMappingLike
- case class TableName(name: String) extends Product with Serializable
- Definition Classes
- SqlMappingLike
- trait SqlFragment[T] extends Monoid[T]
Typeclass for SQL fragments.
Typeclass for SQL fragments.
- Definition Classes
- SqlModule
Abstract Value Members
- implicit abstract def Fragments: SqlFragment[Fragment]
- Definition Classes
- SqlModule
- abstract def booleanEncoder: Encoder
- Definition Classes
- SqlModule
- abstract def doubleEncoder: Encoder
- Definition Classes
- SqlModule
- abstract def fetch(fragment: Fragment, codecs: List[(Boolean, Codec)]): F[Vector[Array[Any]]]
- Definition Classes
- SqlModule
- abstract def intCodec: Codec
- Definition Classes
- SqlModule
- abstract def intEncoder: Encoder
- Definition Classes
- SqlModule
- abstract def monitor: SqlMonitor[F, Fragment]
- Definition Classes
- SqlModule
- abstract val schema: Schema
- Definition Classes
- Mapping
- abstract def stringEncoder: Encoder
- Definition Classes
- SqlModule
- abstract def toEncoder(c: Codec): Encoder
Extract an encoder from a codec.
Extract an encoder from a codec.
- Definition Classes
- SqlModule
- abstract val typeMappings: List[TypeMapping]
- Definition Classes
- Mapping
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit val M: MonadThrow[F]
- Definition Classes
- SqlMapping → Mapping
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def circeCursor(path: Path, env: Env, value: Json): Cursor
- Definition Classes
- CirceMappingLike
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def columnForAtomicField(context: Context, fieldName: String): Result[SqlColumn]
Returns the aliased column corresponding to the atomic field
fieldName
incontext
Returns the aliased column corresponding to the atomic field
fieldName
incontext
- Definition Classes
- SqlMappingLike
- def columnForSqlTerm[T](context: Context, term: Term[T]): Result[SqlColumn]
Returns the aliased columns corresponding to
term
incontext
Returns the aliased columns corresponding to
term
incontext
- Definition Classes
- SqlMappingLike
- def columnsForLeaf(context: Context, fieldName: String): Result[List[SqlColumn]]
Returns the columns for leaf field
fieldName
incontext
Returns the columns for leaf field
fieldName
incontext
- Definition Classes
- SqlMappingLike
- def combineAndRun(queries: List[(Query, Cursor)]): F[Result[List[ProtoJson]]]
- Definition Classes
- Mapping
- def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
- Definition Classes
- Mapping
- def compileAndRunSubscription(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env): Stream[F, Json]
- Definition Classes
- Mapping
- lazy val compiler: QueryCompiler
- Definition Classes
- Mapping
- def compilerPhases: List[Phase]
- Definition Classes
- Mapping
- lazy val componentElaborator: ComponentElaborator[[_]F[_]]
- Definition Classes
- Mapping
- def defaultRootCursor(query: Query, tpe: Type, parentCursor: Option[Cursor]): F[Result[(Query, Cursor)]]
- Definition Classes
- SqlMappingLike → Mapping
- def discriminatorColumnsForType(context: Context): List[SqlColumn]
Returns the discriminator columns for the context type
Returns the discriminator columns for the context type
- Definition Classes
- SqlMappingLike
- def discriminatorForType(context: Context): Option[SqlDiscriminatedType]
Returns the discriminator for the type at
context
Returns the discriminator for the type at
context
- Definition Classes
- SqlMappingLike
- lazy val effectElaborator: EffectElaborator[[_]F[_]]
- Definition Classes
- Mapping
- def encoderForLeaf(tpe: Type): Option[io.circe.Encoder[Any]]
- Definition Classes
- Mapping
- def encoderForTerm(context: Context, term: Term[_]): Result[Encoder]
Returns the
Encoder
for the given term incontext
Returns the
Encoder
for the given term incontext
- Definition Classes
- SqlMappingLike
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]
- Definition Classes
- Mapping
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val interpreter: QueryInterpreter[F]
- Definition Classes
- Mapping
- def isAssociative(context: Context): Boolean
Is the context type mapped to an associative table?
Is the context type mapped to an associative table?
- Definition Classes
- SqlMappingLike
- def isComputedField(context: Context, fieldName: String): Boolean
Is
fieldName
incontext
computed?Is
fieldName
incontext
computed?- Definition Classes
- SqlMappingLike
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isJsonb(context: Context, fieldName: String): Boolean
Is
fieldName
incontext
Jsonb?Is
fieldName
incontext
Jsonb?- Definition Classes
- SqlMappingLike
- def isLeaf(tpe: Type): Boolean
- Definition Classes
- Mapping
- def isLocallyMapped(context: Context, query: Query): Boolean
- Definition Classes
- SqlMappingLike
- def isSingular(context: Context, fieldName: String, query: Query): Boolean
Does the supplied field correspond to a single, possibly structured, value?
Does the supplied field correspond to a single, possibly structured, value?
- Definition Classes
- SqlMappingLike
- def isSqlTerm(context: Context, term: Term[_]): Result[Boolean]
Is
term
incontext
expressible in SQL?Is
term
incontext
expressible in SQL?- Definition Classes
- SqlMappingLike
- def keyColumnsForType(context: Context): List[SqlColumn]
Returns the key columns for the context type
Returns the key columns for the context type
- Definition Classes
- SqlMappingLike
- def leafMapping[T](tpe: Type): Option[LeafMapping[T]]
- Definition Classes
- Mapping
- def mkCursorForField(parent: Cursor, fieldName: String, resultName: Option[String]): Result[Cursor]
- Definition Classes
- SqlMappingLike → CirceMappingLike → Mapping
- def mkResponse(result: Result[Json]): F[Json]
- Definition Classes
- Mapping
- def mkResponse(data: Option[Json], errors: Chain[Problem]): Json
- Definition Classes
- Mapping
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def nonLeafList(context: Context, fieldName: String): Boolean
Does the type of
fieldName
incontext
represent a list of subobjects?Does the type of
fieldName
incontext
represent a list of subobjects?- Definition Classes
- SqlMappingLike
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def objectMapping(context: Context): Option[ObjectMapping]
- Definition Classes
- Mapping
- def parentTableForType(context: Context): Result[TableRef]
Returns the table for the type at
context
Returns the table for the type at
context
- Definition Classes
- SqlMappingLike
- def rootEffect(context: Context, fieldName: String): Option[RootEffect]
- Definition Classes
- Mapping
- def rootFieldMapping(context: Context, query: Query): Option[FieldMapping]
- Definition Classes
- SqlMappingLike
- def rootStream(context: Context, fieldName: String): Option[RootStream]
- Definition Classes
- Mapping
- val selectElaborator: SelectElaborator
- Definition Classes
- Mapping
- def sqlCursor(query: Query, env: Env): F[Result[Cursor]]
- Definition Classes
- SqlMappingLike
- def stripCompiled(query: Query, context: Context): Result[Query]
Operators which can be compiled to SQL are eliminated here, partly to avoid duplicating work programmatically, but also because the operation isn't necessarily idempotent and the result set doesn't necessarily contain the fields required for the filter predicates.
Operators which can be compiled to SQL are eliminated here, partly to avoid duplicating work programmatically, but also because the operation isn't necessarily idempotent and the result set doesn't necessarily contain the fields required for the filter predicates.
- Definition Classes
- SqlMappingLike
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def typeMapping(tpe: NamedType): Option[TypeMapping]
- Definition Classes
- Mapping
- val validator: SqlMappingValidator
- Definition Classes
- SqlMappingLike → Mapping
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object CursorField extends Serializable
- Definition Classes
- Mapping
- object AliasState extends Serializable
- Definition Classes
- SqlMappingLike
- object Aliased
- Definition Classes
- SqlMappingLike
- object Join extends Serializable
- Definition Classes
- SqlMappingLike
- object MappedQuery
- Definition Classes
- SqlMappingLike
- object SqlColumn
- Definition Classes
- SqlMappingLike
- object SqlInterfaceMapping extends Serializable
- Definition Classes
- SqlMappingLike
- object SqlObject extends Serializable
- Definition Classes
- SqlMappingLike
- object SqlQuery extends Serializable
- Definition Classes
- SqlMappingLike
- object SqlUnionMapping extends Serializable
- Definition Classes
- SqlMappingLike
- object Table
- Definition Classes
- SqlMappingLike
- object TableExpr extends Serializable
- Definition Classes
- SqlMappingLike
- object TableName extends Serializable
- Definition Classes
- SqlMappingLike