ProtoContextSecundus

trait ProtoContextSecundus[+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.

trait RowContext
class Object
trait Matchable
class Any
trait Context[Dialect, Naming]
trait MirrorContextBase[Dialect, Naming]
class MirrorContext[Dialect, Naming]
class SqlMirrorContext[Idiom, Naming]
trait ContextStandard[Idiom, Naming]
trait SqlContext[Idiom, Naming]

Type members

Inherited classlikes

case class BatchGroup(string: String, prepare: List[Prepare])
Inherited from:
RowContext
case class BatchGroupReturning(string: String, returningBehavior: ReturnAction, prepare: List[Prepare])
Inherited from:
RowContext

Types

type Result[T]
type Runner

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

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

type Session

Inherited types

type Extractor[T] = (ResultRow, Session) => T
Inherited from:
RowContext
type Prepare = (PrepareRow, Session) => (List[Any], PrepareRow)
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 executeActionReturningMany[T](sql: String, prepare: Prepare, extractor: () => T, returningBehavior: ReturnAction)(executionInfo: ExecutionInfo, rn: Runner): Result[RunActionReturningResult[List[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

Inherited from:
RowContext
protected val identityPrepare: Prepare
Inherited from:
RowContext