ZioJdbcUnderlyingContext

abstract
class ZioJdbcUnderlyingContext[Dialect <: SqlIdiom, Naming <: NamingStrategy] extends ZioContext[Dialect, Naming] with JdbcRunContext[Dialect, Naming] with StreamingContext[Dialect, Naming] with ZioPrepareContext[Dialect, Naming]
trait ZioPrepareContext[Dialect, Naming]
trait PrepareContext[Dialect, Naming]
trait JdbcRunContext[Dialect, Naming]
trait JdbcComposition[Dialect, Naming]
trait Decoders
trait Encoders
trait SqlContext[Dialect, Naming]
trait ZioContext[Dialect, Naming]
trait StreamingContext[Dialect, Naming]
trait ProtoStreamContext[Dialect, Naming]
trait Context[Dialect, Naming]
trait Closeable
trait AutoCloseable
trait EncodingDsl
trait LowPriorityImplicits
trait ProtoContext[Dialect, Naming]
trait RowContext
class Object
trait Matchable
class Any
class Underlying[N]
class Underlying[N]
class Underlying[N]
class Underlying[N]
class Underlying[N]
class Underlying[N]
trait WithProbing[D, N]
trait WithProbingPrefix[D, N]

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

Types

override
override
type Error = SQLException
override
type PrepareRow = PreparedStatement
override
type ResultRow = ResultSet
override
type RunActionResult = Long
override
override
type RunBatchActionResult = List[Long]
override
override
type Runner = 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 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
JdbcComposition
type Prepare = (PrepareRow, Session) => (List[Any], PrepareRow)
Inherited from
RowContext
Inherited from
ZioPrepareContext
Inherited from
ZioPrepareContext
override
type Result[T] = ZIO[Environment, Error, T]
Inherited from
ZioContext
type RowTyper[T] = GenericRowTyper[ResultRow, T]
Inherited from
EncodingDsl
override
type RunQueryResult[T] = List[T]
Inherited from
JdbcRunContext
override
Inherited from
JdbcRunContext
type RunnerBehavior <: RunnerSummoningBehavior
Inherited from
Context
override
type Session = Connection
Inherited from
ZioPrepareContext
override
type StreamResult[T] = ZStream[Environment, Error, T]
Inherited from
ZioContext

Value members

Concrete methods

override
def close(): Unit

ZIO Contexts do not managed DB connections so this is a no-op

ZIO Contexts do not managed DB connections so this is a no-op

Definition Classes
Context -> Closeable -> AutoCloseable
override protected
Definition Classes
Context
override
def executeAction(sql: String, prepare: Prepare)(info: ExecutionInfo, dc: Runner): QCIO[Long]
Definition Classes
JdbcRunContext -> ProtoContext
override
def executeActionReturning[O](sql: String, prepare: Prepare, extractor: () => O, returningBehavior: ReturnAction)(info: ExecutionInfo, dc: Runner): QCIO[O]
Definition Classes
JdbcRunContext -> ProtoContext
override
def executeBatchAction(groups: List[BatchGroup])(info: ExecutionInfo, dc: Runner): QCIO[List[Long]]
Definition Classes
JdbcRunContext -> ProtoContext
override
def executeBatchActionReturning[T](groups: List[BatchGroupReturning], extractor: () => T)(info: ExecutionInfo, dc: Runner): QCIO[List[T]]
Definition Classes
JdbcRunContext -> ProtoContext
override
def executeQuery[T](sql: String, prepare: Prepare, extractor: () => T)(info: ExecutionInfo, dc: Runner): QCIO[List[T]]
Definition Classes
JdbcRunContext -> ZioContext -> ProtoContext
override
def executeQuerySingle[T](sql: String, prepare: Prepare, extractor: () => T)(info: ExecutionInfo, dc: Runner): QCIO[T]
Definition Classes
JdbcRunContext -> ZioContext -> ProtoContext
override
def prepareAction(sql: String, prepare: Prepare)(info: ExecutionInfo, dc: Runner): QCIO[PreparedStatement]
Definition Classes
ZioPrepareContext -> PrepareContext
override
def prepareBatchAction(groups: List[BatchGroup])(info: ExecutionInfo, dc: Runner): QCIO[List[PreparedStatement]]
Definition Classes
ZioPrepareContext -> PrepareContext
override
def prepareQuery(sql: String, prepare: Prepare)(info: ExecutionInfo, dc: Runner): QCIO[PreparedStatement]
Definition Classes
ZioPrepareContext -> PrepareContext
protected
def prepareStatementForStreaming(sql: String, conn: Connection, fetchSize: Option[Int]): PreparedStatement

Override to enable specific vendor options needed for streaming

Override to enable specific vendor options needed for streaming

def probingDataSource: Option[DataSource]
override
def push[A, B](result: ZIO[Connection, SQLException, A])(f: A => B): ZIO[Connection, SQLException, B]
Definition Classes
JdbcRunContext
override
def seq[A](f: List[ZIO[Connection, SQLException, A]]): ZIO[Connection, SQLException, List[A]]
Definition Classes
JdbcRunContext
def streamQuery[T](fetchSize: Option[Int], sql: String, prepare: Prepare, extractor: () => T)(info: ExecutionInfo, dc: Runner): QCStream[T]
def transaction[R <: Connection, A](f: ZIO[R, Throwable, A]): ZIO[R, Throwable, A]
protected
def withConnection[T](f: Connection => Result[T]): Result[T]
override protected
def withConnectionWrapped[T](f: Connection => T): QCIO[T]
Definition Classes
JdbcRunContext
override
def wrap[T](t: => T): ZIO[Connection, SQLException, T]
Definition Classes
JdbcRunContext

Inherited methods

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
protected
def handleSingleResult[T](list: List[T]): T
Inherited from
Context
protected
def handleSingleWrappedResult[T](list: Result[List[T]]): Result[T]
Inherited from
JdbcRunContext
def idiom: Dialect
Inherited from
ProtoContext
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
ProtoContext
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 Params
intType

one of java.sql.Types

Returns

JDBC type in string form

Inherited from
JdbcComposition
@targetName("runPrepareBatchAction")
inline
def prepare[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]]): PrepareBatchActionResult
Inherited from
PrepareContext
@targetName("runPrepareAction")
inline
def prepare[E](inline quoted: Quoted[Action[E]]): PrepareActionResult
Inherited from
PrepareContext
@targetName("runPrepareQuerySingle")
inline
def prepare[T](inline quoted: Quoted[T]): PrepareQueryResult
Inherited from
PrepareContext
@targetName("runPrepareQuery")
inline
def prepare[T](inline quoted: Quoted[Query[T]]): PrepareQueryResult
Inherited from
PrepareContext
def prepareSingle(sql: String, prepare: Prepare)(info: ExecutionInfo, dc: Runner): QCIO[PreparedStatement]

Execute SQL on connection and return prepared statement. Closes the statement in a bracket.

Execute SQL on connection and return prepared statement. Closes the statement in a bracket.

Inherited from
ZioPrepareContext
protected
def prepareWithReturning(sql: String, conn: Connection, returningBehavior: ReturnAction): PreparedStatement
Inherited from
JdbcRunContext
@targetName("runBatchActionReturning")
inline
def run[I, T, A <: Action[I] & QAC[I, T]](inline quoted: Quoted[BatchAction[A]]): Result[List[T]]
Inherited from
Context
@targetName("runBatchAction")
inline
def run[I, A <: Action[I] & QAC[I, Nothing]](inline quoted: Quoted[BatchAction[A]]): Result[RunBatchActionResult]
Inherited from
Context
@targetName("runActionReturning")
inline
def run[E, T](inline quoted: Quoted[ActionReturning[E, T]]): Result[RunActionReturningResult[T]]
Inherited from
Context
@targetName("runAction")
inline
def run[E](inline quoted: Quoted[Action[E]]): Result[RunActionResult]
Inherited from
Context
@targetName("runQuerySingle")
inline
def run[T](inline quoted: Quoted[T]): Result[RunQuerySingleResult[T]]
Inherited from
Context
@targetName("runQuery")
inline
def run[T](inline quoted: Quoted[Query[T]], inline wrap: OuterSelectWrap): Result[List[T]]
Inherited from
Context
@targetName("runQueryDefault")
inline
def run[T](inline quoted: Quoted[Query[T]]): Result[List[T]]
Inherited from
Context
@targetName("streamQueryWithFetchSize")
inline
def stream[T](inline quoted: Quoted[Query[T]], fetchSize: Int): StreamResult[T]
Inherited from
StreamingContext
@targetName("streamQuery")
inline
def stream[T](inline quoted: Quoted[Query[T]]): StreamResult[T]
Inherited from
StreamingContext

Inherited fields

protected
val dateTimeZone: TimeZone
Inherited from
JdbcComposition
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
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
SqlContext
implicit
Inherited from
SqlContext
implicit
val byteArrayDecoder: JdbcDecoder[Array[Byte]]
Inherited from
Decoders
implicit
val byteArrayEncoder: JdbcEncoder[Array[Byte]]
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit inline
def dec[T]: GenericDecoder[ResultRow, Session, T, Generic]
Inherited from
Context
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
val localDateTimeDecoder: JdbcDecoder[LocalDateTime]
Inherited from
Decoders
implicit
val localDateTimeEncoder: JdbcEncoder[LocalDateTime]
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
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
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
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
Decoders
implicit
Inherited from
Encoders
implicit
Inherited from
SqlContext
implicit
Inherited from
SqlContext