DoobieMapping

abstract class DoobieMapping[F[_]](val transactor: Transactor[F], val monitor: DoobieMonitor[F])(implicit evidence$1: Sync[F]) extends SqlMapping[F]
trait SqlMapping[F]
trait SqlModule[F]
class CirceMapping[F]
class Mapping[F]
class Object
trait Matchable
class Any

Type members

Classlikes

class TableDef(name: String)

Inherited classlikes

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])

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.

Inherited from:
SqlMapping
object AliasState
Inherited from:
SqlMapping
object Aliased
Inherited from:
SqlMapping
case class CirceCursor(context: Context, focus: Json, parent: Option[Cursor], env: Env) extends Cursor
Inherited from:
CirceMapping
case class CirceRoot(otpe: Option[Type], fieldName: String, root: Json, mutation: Mutation)(implicit pos: SourcePos) extends RootMapping
Inherited from:
CirceMapping
object CirceRoot
Inherited from:
CirceMapping
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)

Inherited from:
SqlMapping
case class ColumnRef(table: String, column: String, codec: Codec, scalaTypeName: String, pos: SourcePos)

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.

Inherited from:
SqlMapping
case class CursorField[T](fieldName: String, f: Cursor => Result[T], encoder: Encoder[T], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping
Inherited from:
Mapping
Inherited from:
Mapping
case class CursorFieldJson(fieldName: String, f: Cursor => Result[Json], encoder: Encoder[Json], required: List[String], hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping
Inherited from:
Mapping
Inherited from:
Mapping
case class Delegate(fieldName: String, interpreter: Mapping[F], join: (Cursor, Query) => Result[Query])(implicit pos: SourcePos) extends FieldMapping
Inherited from:
Mapping
trait FieldMapping extends Product with Serializable
Inherited from:
Mapping
Inherited from:
SqlMapping
sealed trait FieldMappingType

Enumeration representing a kind of field mapping

Enumeration representing a kind of field mapping

Inherited from:
SqlMapping
case class Join(parent: ColumnRef, child: ColumnRef)

A pair of ColumnRefs, representing a SQL join.

A pair of ColumnRefs, representing a SQL join.

Inherited from:
SqlMapping
case class LeafCursor(context: Context, focus: Any, mapped: MappedQuery, parent: Option[Cursor], env: Env) extends Cursor

Cursor positioned at a GraphQL result leaf

Cursor positioned at a GraphQL result leaf

Inherited from:
SqlMapping
Inherited from:
Mapping
trait LeafMapping[T] extends TypeMapping
Inherited from:
Mapping
final class MappedQuery(query: SqlQuery)

Represents the mapping of a GraphQL query to an SQL query

Represents the mapping of a GraphQL query to an SQL query

Inherited from:
SqlMapping
Inherited from:
SqlMapping
case class Mutation(run: (Query, Env) => Stream[F, Result[(Query, Env)]])

Root mappings can perform a mutation prior to constructing the result Cursor. A Mutation may perform a Unit effect and simply return the passed arguments; or it may refine the passed Query and/or Env that will be used to interpret the resulting Cursor.

Root mappings can perform a mutation prior to constructing the result Cursor. A Mutation may perform a Unit effect and simply return the passed arguments; or it may refine the passed Query and/or Env that will be used to interpret the resulting Cursor.

Inherited from:
Mapping
object Mutation
Inherited from:
Mapping
abstract class ObjectMapping extends TypeMapping
Inherited from:
Mapping
Inherited from:
Mapping
case class PrefixedMapping(tpe: Type, mappings: List[(List[String], ObjectMapping)])(implicit pos: SourcePos) extends TypeMapping
Inherited from:
Mapping
case class PrimitiveField(fieldName: String, hidden: Boolean)(implicit pos: SourcePos) extends FieldMapping
Inherited from:
Mapping
case class PrimitiveMapping(tpe: Type)(implicit pos: SourcePos) extends TypeMapping
Inherited from:
Mapping
Inherited from:
Mapping
object SqlColumn
Inherited from:
SqlMapping
trait SqlColumn

Trait representing an SQL column

Trait representing an SQL column

Inherited from:
SqlMapping
case class SqlColumnTerm(col: SqlColumn) extends Term[Option[Unit]]

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

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

Inherited from:
SqlMapping
case class SqlCursor(context: Context, focus: Any, mapped: MappedQuery, parent: Option[Cursor], env: Env) extends Cursor

Cursor positioned at a GraphQL result non-leaf

Cursor positioned at a GraphQL result non-leaf

Inherited from:
SqlMapping

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

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

Inherited from:
SqlMapping

Discriminator for the branches of an interface/union

Discriminator for the branches of an interface/union

Inherited from:
SqlMapping
case class SqlField(fieldName: String, columnRef: ColumnRef, key: Boolean, discriminator: Boolean, hidden: Boolean, associative: Boolean)(implicit pos: SourcePos) extends SqlFieldMapping
Inherited from:
SqlMapping
sealed trait SqlFieldMapping extends FieldMapping
Inherited from:
SqlMapping
trait SqlFragment[T] extends Monoid[T]

Typeclass for SQL fragments.

Typeclass for SQL fragments.

Inherited from:
SqlModule
Inherited from:
SqlMapping
Inherited from:
SqlMapping
case class SqlJson(fieldName: String, columnRef: ColumnRef)(implicit pos: SourcePos) extends SqlFieldMapping
Inherited from:
SqlMapping
case class SqlObject(fieldName: String, joins: List[Join])(implicit pos: SourcePos) extends SqlFieldMapping
Inherited from:
SqlMapping
object SqlObject
Inherited from:
SqlMapping
object SqlQuery
Inherited from:
SqlMapping
sealed trait SqlQuery extends ColumnOwner

Representation of a SQL query in a context

Representation of a SQL query in a context

Inherited from:
SqlMapping
case class SqlRoot(fieldName: String, orootTpe: Option[Type], mutation: Mutation)(implicit pos: SourcePos) extends RootMapping
Inherited from:
SqlMapping
Inherited from:
SqlMapping
Inherited from:
SqlMapping
object Table
Inherited from:
SqlMapping
sealed trait Table

Representation of an SQL query result

Representation of an SQL query result

Inherited from:
SqlMapping
object TableExpr
Inherited from:
SqlMapping
sealed trait TableExpr extends ColumnOwner

Representation of a table expression

Representation of a table expression

Inherited from:
SqlMapping
trait TypeMapping extends Product with Serializable
Inherited from:
Mapping

Types

type Codec = (Meta[_], Boolean)
type Encoder = (Put[_], Boolean)
type Fragment = Fragment

Inherited types

Inherited from:
SqlMapping

Value members

Inherited methods

def columnForAtomicField(context: Context, fieldName: String): Option[SqlColumn]

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

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

Inherited from:
SqlMapping
def columnForSqlTerm[T](context: Context, term: Term[T]): Option[SqlColumn]

Returns the aliased columns corresponding to term in context

Returns the aliased columns corresponding to term in context

Inherited from:
SqlMapping
def columnsForLeaf(context: Context, fieldName: String): List[SqlColumn]

Returns the columns for leaf field fieldName in context

def compileAndRun(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env)(implicit sc: Compiler[F, F]): F[Json]
Inherited from:
QueryExecutor
def compileAndRunAll(text: String, name: Option[String], untypedVars: Option[Json], introspectionLevel: IntrospectionLevel, env: Env): Stream[F, Json]
Inherited from:
Mapping
Inherited from:
Mapping

Returns the discriminator columns for the context type

Returns the discriminator columns for the context type

Inherited from:
SqlMapping

Returns the discriminator for the type at context

Returns the discriminator for the type at context

Inherited from:
SqlMapping

Returns the Encoder for the given type

Returns the Encoder for the given type

Inherited from:
SqlMapping
def encoderForTerm(context: Context, term: Term[_]): Option[Encoder]

Returns the Encoder for the given term in context

Returns the Encoder for the given term in context

Inherited from:
SqlMapping
def fieldMapping(context: Context, fieldName: String): Option[FieldMapping]
Inherited from:
Mapping

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

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

Inherited from:
SqlMapping

Is the context type mapped to an associative table?

Is the context type mapped to an associative table?

Inherited from:
SqlMapping
def isComputedField(context: Context, fieldName: String): Boolean

Is fieldName in context computed?

Is fieldName in context computed?

Inherited from:
SqlMapping
def isJsonb(context: Context, fieldName: String): Boolean

Is fieldName in context Jsonb?

Is fieldName in context Jsonb?

Inherited from:
SqlMapping
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?

Inherited from:
SqlMapping
def isSqlTerm(context: Context, term: Term[_]): Boolean

Is term in contextexpressible in SQL?

Is term in contextexpressible in SQL?

Inherited from:
SqlMapping

Returns the key columns for the context type

Returns the key columns for the context type

Inherited from:
SqlMapping
Inherited from:
Mapping
def nonLeafList(context: Context, fieldName: String): Boolean

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

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

Inherited from:
SqlMapping
Inherited from:
Mapping

Returns the table for the type at context

Returns the table for the type at context

Inherited from:
SqlMapping
def rootCursor(context: Context, fieldName: String, resultName: Option[String], child: Query, env: Env): Stream[F, Result[(Query, Cursor)]]
def rootMapping(context: Context, fieldName: String): Option[RootMapping]
Inherited from:
Mapping
def run(op: Operation, env: Env): Stream[F, Json]
Inherited from:
Mapping
def run(query: Query, rootTpe: Type, env: Env): Stream[F, Json]
Inherited from:
Mapping
Inherited from:
Mapping

Concrete fields

val transactor: Transactor[F]

Inherited fields

Inherited from:
Mapping
Inherited from:
Mapping
Inherited from:
Mapping
Inherited from:
Mapping
Inherited from:
SqlMapping

Implicits

Implicits

Inherited implicits

implicit val M: Monad[F]
Inherited from:
Mapping