JdbcContext

abstract class JdbcContext[+Dialect <: SqlIdiom, +Naming <: NamingStrategy] extends JdbcContextBase[Dialect, Naming] with ProtoContextSecundus[Dialect, Naming] with ContextVerbTranslate[Dialect, Naming]
trait ContextVerbTranslate[Dialect, Naming]
trait ContextTranslateMacro[Dialect, Naming]
trait ContextTranslateProto[Dialect, Naming]
trait JdbcContextBase[Dialect, Naming]
trait ContextVerbPrepareLambda[Dialect, Naming]
trait JdbcContextVerbPrepare[Dialect, Naming]
trait ContextVerbPrepare[Dialect, Naming]
trait JdbcContextVerbExecute[Dialect, Naming]
trait JdbcContextTypes[Dialect, Naming]
trait Decoders
trait Encoders
trait SqlContext[Dialect, Naming]
trait Context[Dialect, Naming]
trait Closeable
trait AutoCloseable
trait EncodingDsl
trait LowPriorityImplicits
trait ProtoContextSecundus[Dialect, Naming]
trait RowContext
class Object
trait Matchable
class Any

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
Inherited from:
Context
case class JdbcDecoder[T](decoder: () => T) extends BaseDecoder[T]
Inherited from:
Decoders
case class JdbcEncoder[T](sqlType: Int, encoder: () => T) extends BaseEncoder[T]
Inherited from:
Encoders
class JdbcNullChecker extends BaseNullChecker
Inherited from:
JdbcContextTypes

Types

override type Result[T] = T
override type RunActionResult = Long
override type RunActionReturningResult[T] = T
override type RunBatchActionResult = List[Long]
override type RunBatchActionReturningResult[T] = List[T]
override type RunQueryResult[T] = List[T]
override type RunQuerySingleResult[T] = T
override type Runner = Unit
override type TranslateRunner = Unit

Inherited types

type BaseDecoder[T] = GenericDecoder[ResultRow, Session, T, Specific]
Inherited from:
EncodingDsl
type BaseEncoder[T] = GenericEncoder[T, PrepareRow, Session]
Inherited from:
EncodingDsl
type BaseNullChecker = GenericNullChecker[ResultRow, Session]
Inherited from:
EncodingDsl
type ColumnResolver = GenericColumnResolver[ResultRow]
Inherited from:
EncodingDsl
type Decoder[T] = JdbcDecoder[T]
Inherited from:
Decoders
type DecoderMethod[T] = (Int, ResultRow, Session) => T
Inherited from:
EncodingDsl
type Encoder[T] = JdbcEncoder[T]
Inherited from:
Encoders
type EncoderMethod[T] = (Int, T, PrepareRow, Session) => PrepareRow
Inherited from:
EncodingDsl
type Extractor[T] = (ResultRow, Session) => T
Inherited from:
RowContext
type Index = Int
Inherited from:
JdbcContextTypes
Inherited from:
JdbcContextTypes
type Prepare = (PrepareRow, Session) => (List[Any], PrepareRow)
Inherited from:
RowContext
override type PrepareActionResult = Connection => Result[PreparedStatement]
Inherited from:
JdbcContextBase
override type PrepareBatchActionResult = Connection => Result[List[PreparedStatement]]
Inherited from:
JdbcContextBase
override type PrepareQueryResult = Connection => Result[PreparedStatement]
Inherited from:
JdbcContextBase
type PrepareRow = PreparedStatement
Inherited from:
JdbcContextTypes
type ResultRow = ResultSet
Inherited from:
JdbcContextTypes
type RowTyper[T] = GenericRowTyper[ResultRow, T]
Inherited from:
EncodingDsl
type RunnerBehavior <: RunnerSummoningBehavior
Inherited from:
ContextTranslateMacro
type Session = Connection
Inherited from:
JdbcContextTypes
override type TranslateResult[T] = T
Inherited from:
ContextVerbTranslate

Value members

Concrete methods

override def close(): Unit
Definition Classes
Context -> Closeable -> AutoCloseable
override protected def context: Runner
Definition Classes
Context
def probe(sql: String): Try[Result[Boolean]]
override def push[A, B](result: A)(f: A => B): B
Definition Classes
ContextVerbTranslate -> ContextTranslateProto -> JdbcContextVerbPrepare -> JdbcContextVerbExecute
@targetName("runQueryDefault")
inline def run[T](inline quoted: Quoted[Query[T]]): List[T]
@targetName("runQuery")
inline def run[T](inline quoted: Quoted[Query[T]], inline wrap: OuterSelectWrap): List[T]
@targetName("runQuerySingle")
inline def run[T](inline quoted: Quoted[T]): T
@targetName("runAction")
inline def run[E](inline quoted: Quoted[Action[E]]): Long
@targetName("runActionReturning")
inline def run[E, T](inline quoted: Quoted[ActionReturning[E, T]]): T
@targetName("runActionReturningMany")
inline def run[E, T](inline quoted: Quoted[ActionReturning[E, List[T]]]): List[T]
@targetName("runBatchAction")
inline def run[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]], rowsPerBatch: Int): List[Long]
@targetName("runBatchActionDefault")
inline def run[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]]): List[Long]
@targetName("runBatchActionReturning")
inline def run[I, T, A <: Action[I] & QAC[I, T]](inline quoted: Quoted[BatchAction[A]], rowsPerBatch: Int): List[T]
@targetName("runBatchActionReturningDefault")
inline def run[I, T, A <: Action[I] & QAC[I, T]](inline quoted: Quoted[BatchAction[A]]): List[T]
override def seq[A](list: List[A]): List[A]
Definition Classes
ContextVerbTranslate -> ContextTranslateProto -> JdbcContextVerbPrepare -> JdbcContextVerbExecute
def transaction[T](f: => T): Result[T]
protected def withConnection[T](f: Connection => Result[T]): Result[T]
override def wrap[T](t: => T): T
Definition Classes
ContextVerbTranslate -> ContextTranslateProto -> JdbcContextVerbPrepare -> JdbcContextVerbExecute

Inherited methods

Inherited from:
ContextVerbPrepare

Internal API that cannot be made private due to how inline functions

Internal API that cannot be made private due to how inline functions

Inherited from:
ContextTranslateMacro
def constructPrepareAction(f: Connection => Result[PreparedStatement]): Connection => Result[PreparedStatement]
Inherited from:
JdbcContextBase
def constructPrepareBatchAction(f: Connection => Result[List[PreparedStatement]]): Connection => Result[List[PreparedStatement]]
Inherited from:
JdbcContextBase
def constructPrepareQuery(f: Connection => Result[PreparedStatement]): Connection => Result[PreparedStatement]
Inherited from:
JdbcContextBase
def decoder[T](f: ResultRow => Index => T): JdbcDecoder[T]
Inherited from:
Decoders
def decoder[T](d: (Int, ResultRow, Session) => T): JdbcDecoder[T]
Inherited from:
Decoders
def encoder[T](sqlType: Int, f: PrepareRow => (Index, T) => Unit): JdbcEncoder[T]
Inherited from:
Encoders
def encoder[T](sqlType: Int, f: (Index, T, PrepareRow) => Unit): JdbcEncoder[T]
Inherited from:
Encoders
override def executeAction(sql: String, prepare: Prepare)(info: ExecutionInfo, dc: Runner): Result[Long]
Definition Classes
JdbcContextVerbExecute -> ProtoContextSecundus
Inherited from:
JdbcContextVerbExecute
override def executeActionReturning[O](sql: String, prepare: Prepare, extractor: () => O, returningBehavior: ReturnAction)(info: ExecutionInfo, dc: Runner): Result[O]
Definition Classes
JdbcContextVerbExecute -> ProtoContextSecundus
Inherited from:
JdbcContextVerbExecute
override def executeActionReturningMany[O](sql: String, prepare: Prepare, extractor: () => O, returningBehavior: ReturnAction)(info: ExecutionInfo, dc: Runner): Result[List[O]]
Definition Classes
JdbcContextVerbExecute -> ProtoContextSecundus
Inherited from:
JdbcContextVerbExecute
def executeBatchAction(groups: List[BatchGroup])(info: ExecutionInfo, dc: Runner): Result[List[Long]]
Inherited from:
JdbcContextVerbExecute
def executeBatchActionReturning[T](groups: List[BatchGroupReturning], extractor: () => T)(info: ExecutionInfo, dc: Runner): Result[List[T]]
Inherited from:
JdbcContextVerbExecute
override def executeQuery[T](sql: String, prepare: Prepare, extractor: () => T)(info: ExecutionInfo, dc: Runner): Result[List[T]]
Definition Classes
JdbcContextVerbExecute -> ProtoContextSecundus
Inherited from:
JdbcContextVerbExecute
override def executeQuerySingle[T](sql: String, prepare: Prepare, extractor: () => T)(info: ExecutionInfo, dc: Runner): Result[T]
Definition Classes
JdbcContextVerbExecute -> ProtoContextSecundus
Inherited from:
JdbcContextVerbExecute
protected def handleSingleResult[T](sql: String, list: List[T]): T
Inherited from:
Context
protected def handleSingleWrappedResult[T](sql: String, list: Result[List[T]]): Result[T]
Inherited from:
JdbcContextVerbExecute
def idiom: Dialect
Inherited from:
ProtoContextSecundus
inline def lift[T](inline runtimeValue: T): T
Inherited from:
Context
inline def liftQuery[U <: (Iterable), T](inline runtimeValue: U[T]): Query[T]
Inherited from:
Context
protected def mappedBaseDecoder[Base, Mapped](mapped: MappedEncoding[Base, Mapped], decoder: () => Base): () => Mapped
Inherited from:
EncodingDsl
protected def mappedBaseEncoder[Mapped, Base](mapped: MappedEncoding[Mapped, Base], encoder: () => Base): () => Mapped
Inherited from:
EncodingDsl
def naming: Naming
Inherited from:
ProtoContextSecundus
def parseJdbcType(intType: Int): String

Parses instances of java.sql.Types to string form so it can be used in creation of sql arrays. Some databases does not support each of generic types, hence it's welcome to override this method and provide alternatives to non-existent types.

Parses instances of java.sql.Types to string form so it can be used in creation of sql arrays. Some databases does not support each of generic types, hence it's welcome to override this method and provide alternatives to non-existent types.

Value parameters:
intType

one of java.sql.Types

Returns:

JDBC type in string form

Inherited from:
JdbcContextTypes
@targetName("runPrepareBatchAction")
inline def prepare[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]]): PrepareBatchActionResult
Inherited from:
ContextVerbPrepare
@targetName("runPrepareAction")
inline def prepare[E](inline quoted: Quoted[Action[E]]): PrepareActionResult
Inherited from:
ContextVerbPrepare
@targetName("runPrepareQuerySingle")
inline def prepare[T](inline quoted: Quoted[T]): PrepareQueryResult
Inherited from:
ContextVerbPrepare
@targetName("runPrepareQuery")
inline def prepare[T](inline quoted: Quoted[Query[T]]): PrepareQueryResult
Inherited from:
ContextVerbPrepare
def prepareAction(sql: String, prepare: Prepare)(executionInfo: ExecutionInfo, dc: Runner): PrepareActionResult
Inherited from:
JdbcContextVerbPrepare
def prepareBatchAction(groups: List[BatchGroup])(executionInfo: ExecutionInfo, dc: Runner): PrepareBatchActionResult
Inherited from:
JdbcContextVerbPrepare
@tailrec
final protected def prepareParam(param: Any): String
Inherited from:
ContextTranslateProto
def prepareQuery(sql: String, prepare: Prepare)(executionInfo: ExecutionInfo, dc: Runner): PrepareQueryResult
Inherited from:
JdbcContextVerbPrepare
def prepareSingle(sql: String, prepare: Prepare)(executionInfo: ExecutionInfo, dc: Runner): Connection => Result[PreparedStatement]
Inherited from:
JdbcContextVerbPrepare
protected def prepareWithReturning(sql: String, conn: Connection, returningBehavior: ReturnAction): PreparedStatement
Inherited from:
JdbcContextVerbExecute
@targetName("translateBatchActionReturning")
inline def translate[I, T, A <: Action[I] & QAC[I, T]](inline quoted: Quoted[BatchAction[A]], inline prettyPrint: Boolean): TranslateResult[List[String]]
Inherited from:
ContextTranslateMacro
@targetName("translateBatchActionReturning")
inline def translate[I, T, A <: Action[I] & QAC[I, T]](inline quoted: Quoted[BatchAction[A]]): TranslateResult[List[String]]
Inherited from:
ContextTranslateMacro
@targetName("translateBatchAction")
inline def translate[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]], inline prettyPrint: Boolean): TranslateResult[List[String]]
Inherited from:
ContextTranslateMacro
@targetName("translateBatchAction")
inline def translate[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]]): TranslateResult[List[String]]
Inherited from:
ContextTranslateMacro
@targetName("translateActionReturning")
inline def translate[E, T](inline quoted: Quoted[ActionReturning[E, T]], inline prettyPrint: Boolean): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateActionReturning")
inline def translate[E, T](inline quoted: Quoted[ActionReturning[E, T]]): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateAction")
inline def translate[E](inline quoted: Quoted[Action[E]], inline prettyPrint: Boolean): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateAction")
inline def translate[E](inline quoted: Quoted[Action[E]]): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateQuerySingle")
inline def translate[T](inline quoted: Quoted[T], inline prettyPrint: Boolean): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateQuerySingle")
inline def translate[T](inline quoted: Quoted[T]): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateQuery")
inline def translate[T](inline quoted: Quoted[Query[T]], inline prettyPrint: Boolean): TranslateResult[String]
Inherited from:
ContextTranslateMacro
@targetName("translateQuery")
inline def translate[T](inline quoted: Quoted[Query[T]]): TranslateResult[String]
Inherited from:
ContextTranslateMacro
def translateBatchQueryEndpoint(groups: List[BatchGroup], prettyPrint: Boolean)(executionInfo: ExecutionInfo, dc: TranslateRunner): TranslateResult[List[String]]
Inherited from:
ContextTranslateProto
def translateBatchQueryReturningEndpoint(groups: List[BatchGroupReturning], prettyPrint: Boolean)(executionInfo: ExecutionInfo, dc: TranslateRunner): TranslateResult[List[String]]
Inherited from:
ContextTranslateProto
def translateQueryEndpoint[T](statement: String, prepare: Prepare, extractor: () => T, prettyPrint: Boolean)(executionInfo: ExecutionInfo, dc: TranslateRunner): TranslateResult[String]
Inherited from:
ContextTranslateProto
protected def withConnectionWrapped[T](f: Connection => T): Result[T]
Inherited from:
JdbcContextVerbExecute

Abstract fields

val dataSource: DataSource & Closeable

Concrete fields

protected val currentConnection: DynamicVariable[Option[Connection]]

Inherited fields

protected val dateTimeZone: TimeZone
Inherited from:
JdbcContextTypes
Inherited from:
RowContext
protected val identityPrepare: Prepare
Inherited from:
RowContext

Extensions

Inherited extensions

extension [T](q: Query[T])
inline def filterByKeys(inline map: Map[String, String]): Query[T]

When using this with FilterColumns make sure it comes FIRST. Otherwise the columns are you filtering may have been nullified in the SQL before the filteration has actually happened.

When using this with FilterColumns make sure it comes FIRST. Otherwise the columns are you filtering may have been nullified in the SQL before the filteration has actually happened.

Inherited from:
Context
inline def filterColumns(inline columns: List[String]): Query[T]
Inherited from:
Context

Implicits

Inherited implicits

implicit inline def anyValDecoder[Cls <: AnyVal]: JdbcDecoder[Cls]
Inherited from:
LowPriorityImplicits
implicit inline def anyValEncoder[Cls <: AnyVal]: JdbcEncoder[Cls]
Inherited from:
LowPriorityImplicits
implicit val bigDecimalDecoder: JdbcDecoder[BigDecimal]
Inherited from:
Decoders
implicit val bigDecimalEncoder: JdbcEncoder[BigDecimal]
Inherited from:
Encoders
implicit val booleanDecoder: JdbcDecoder[Boolean]
Inherited from:
SqlContext
implicit val booleanEncoder: JdbcEncoder[Boolean]
Inherited from:
SqlContext
implicit val byteArrayDecoder: JdbcDecoder[Array[Byte]]
Inherited from:
Decoders
implicit val byteArrayEncoder: JdbcEncoder[Array[Byte]]
Inherited from:
Encoders
implicit val byteDecoder: JdbcDecoder[Byte]
Inherited from:
Decoders
implicit val byteEncoder: JdbcEncoder[Byte]
Inherited from:
Encoders
implicit val dateDecoder: JdbcDecoder[Date]
Inherited from:
Decoders
implicit val dateEncoder: JdbcEncoder[Date]
Inherited from:
Encoders
implicit inline def dec[T]: GenericDecoder[ResultRow, Session, T, Generic]
Inherited from:
Context
implicit val doubleDecoder: JdbcDecoder[Double]
Inherited from:
Decoders
implicit val doubleEncoder: JdbcEncoder[Double]
Inherited from:
Encoders
implicit val floatDecoder: JdbcDecoder[Float]
Inherited from:
Decoders
implicit val floatEncoder: JdbcEncoder[Float]
Inherited from:
Encoders
implicit val intDecoder: JdbcDecoder[Int]
Inherited from:
Decoders
implicit val intEncoder: JdbcEncoder[Int]
Inherited from:
Encoders
implicit val localDateDecoder: JdbcDecoder[LocalDate]
Inherited from:
Decoders
implicit val localDateEncoder: JdbcEncoder[LocalDate]
Inherited from:
Encoders
implicit val localDateTimeDecoder: JdbcDecoder[LocalDateTime]
Inherited from:
Decoders
implicit val localDateTimeEncoder: JdbcEncoder[LocalDateTime]
Inherited from:
Encoders
implicit val longDecoder: JdbcDecoder[Long]
Inherited from:
Decoders
implicit val longEncoder: JdbcEncoder[Long]
Inherited from:
Encoders
implicit def mappedDecoder[I, O](implicit mapped: MappedEncoding[I, O], d: JdbcDecoder[I]): JdbcDecoder[O]
Inherited from:
Decoders
implicit override def mappedEncoder[I, O](implicit mapped: MappedEncoding[I, O], e: JdbcEncoder[O]): JdbcEncoder[I]
Definition Classes
Encoders -> EncodingDsl
Inherited from:
Encoders
Inherited from:
JdbcContextTypes
implicit def optionDecoder[T](implicit d: JdbcDecoder[T]): JdbcDecoder[Option[T]]
Inherited from:
Decoders
implicit def optionEncoder[T](implicit d: JdbcEncoder[T]): JdbcEncoder[Option[T]]
Inherited from:
Encoders
implicit val shortDecoder: JdbcDecoder[Short]
Inherited from:
Decoders
implicit val shortEncoder: JdbcEncoder[Short]
Inherited from:
Encoders
implicit val stringDecoder: JdbcDecoder[String]
Inherited from:
Decoders
implicit val stringEncoder: JdbcEncoder[String]
Inherited from:
Encoders
implicit val uuidDecoder: JdbcDecoder[UUID]
Inherited from:
SqlContext
implicit val uuidEncoder: JdbcEncoder[UUID]
Inherited from:
SqlContext