ProtoContext

io.getquill.context.ProtoContext
trait ProtoContext[+Dialect <: Idiom, +Naming <: NamingStrategy] extends RowContext

A common context used between Quill and ProtoQuill. This is more like a pre-context because the actual run methods cannot be contained here since they use macros. Right now not all Scala2-Quill context extend this context but hopefully they will all in the future. This will establish a common general-api that Quill contexts can use. In ProtoQuill, this context is used for the base of all other context and allows the Scala 3 macros to call the execute___ methods. In Scala2-Quill wherein macros are less strict about signatures, this cannot be used for Context (in Context.scala) but various higher-level context extend it as a guard-rail against API drift i.e. so that the Scala2-Quill and ProtoQuill internal-context APIs remain largely the same.

Attributes

Graph
Supertypes
trait RowContext
class Object
trait Matchable
class Any

Members list

Type members

Inherited classlikes

case class BatchGroup(string: String, prepare: List[Prepare])

Attributes

Inherited from:
RowContext
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class BatchGroupReturning(string: String, returningBehavior: ReturnAction, prepare: List[Prepare])

Attributes

Inherited from:
RowContext
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

type PrepareRow
type Result[T]
type ResultRow
type RunQueryResult[T]
type Runner

Future class to hold things like ExecutionContext for Cassandra etc...

Future class to hold things like ExecutionContext for Cassandra etc...

Attributes

type Session

Inherited types

type Extractor[T] = (ResultRow, Session) => T

Attributes

Inherited from:
RowContext
type Prepare = (PrepareRow, Session) => (List[Any], PrepareRow)

Attributes

Inherited from:
RowContext

Value members

Abstract methods

def executeAction(sql: String, prepare: Prepare)(executionInfo: ExecutionInfo, rn: Runner): Result[RunActionResult]
def executeActionReturning[T](sql: String, prepare: Prepare, extractor: () => T, returningBehavior: ReturnAction)(executionInfo: ExecutionInfo, rn: Runner): Result[RunActionReturningResult[T]]
def executeBatchActionReturning[T](groups: List[BatchGroupReturning], extractor: () => T)(executionInfo: ExecutionInfo, rn: Runner): Result[RunBatchActionReturningResult[T]]
def executeQuery[T](sql: String, prepare: Prepare, extractor: () => T)(executionInfo: ExecutionInfo, rn: Runner): Result[RunQueryResult[T]]
def executeQuerySingle[T](string: String, prepare: Prepare, extractor: () => T)(executionInfo: ExecutionInfo, rn: Runner): Result[RunQuerySingleResult[T]]
def idiom: Dialect
def naming: Naming

Inherited fields

Attributes

Inherited from:
RowContext
protected val identityPrepare: Prepare

Attributes

Inherited from:
RowContext