A thin wrapper around a source of database connections, an interpreter, and a strategy for running programs, parameterized over a target monad M
and an arbitrary wrapped value A
. Given a stream or program in ConnectionIO
or a program in Kleisli
, a Transactor
can discharge the doobie machinery and yield an effectful stream or program in M
.
Type parameters
- M
-
a target effect type; typically
IO
Attributes
- Companion
- object
- Source
- transactor.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Transactor[M]
Members list
Grouped members
Natural Transformations
Natural transformation that provides a connection and binds through a Kleisli
program using the given Strategy
, yielding an independent program in M
.
Natural transformation that provides a connection and binds through a Kleisli
program using the given Strategy
, yielding an independent program in M
.
Attributes
- Source
- transactor.scala
Natural transformation equivalent to exec
that does not use the provided Strategy
and instead directly binds the Connection
provided by connect
. This can be useful in cases where transactional handling is unsupported or undesired.
Natural transformation equivalent to exec
that does not use the provided Strategy
and instead directly binds the Connection
provided by connect
. This can be useful in cases where transactional handling is unsupported or undesired.
Attributes
- Source
- transactor.scala
Natural transformation equivalent to trans
that does not use the provided Strategy
and instead directly binds the Connection
provided by connect
. This can be useful in cases where transactional handling is unsupported or undesired.
Natural transformation equivalent to trans
that does not use the provided Strategy
and instead directly binds the Connection
provided by connect
. This can be useful in cases where transactional handling is unsupported or undesired.
Attributes
- Source
- transactor.scala
Natural transformation that provides a connection and binds through a ConnectionIO
program interpreted via the given interpreter, using the given Strategy
, yielding an independent program in M
. This is the most common way to run a doobie program.
Natural transformation that provides a connection and binds through a ConnectionIO
program interpreted via the given interpreter, using the given Strategy
, yielding an independent program in M
. This is the most common way to run a doobie program.
Attributes
- Source
- transactor.scala
Configuration
Construct a program to perform arbitrary configuration on the kernel value (changing the timeout on a connection pool, for example). This can be the basis for constructing a configuration language for a specific kernel type A
, whose operations can be added to compatible Transactor
s via implicit conversion.
Construct a program to perform arbitrary configuration on the kernel value (changing the timeout on a connection pool, for example). This can be the basis for constructing a configuration language for a specific kernel type A
, whose operations can be added to compatible Transactor
s via implicit conversion.
Attributes
- Source
- transactor.scala
Type members
Types
An arbitrary value that will be handed back to connect
*
Value members
Abstract methods
A program in M
that can provide a database connection, given the kernel *
A program in M
that can provide a database connection, given the kernel *
Attributes
- Source
- transactor.scala
A natural transformation for interpreting ConnectionIO
*
An arbitrary value, meaningful to the instance *
A Strategy
for running a program on a connection *
Concrete methods
Attributes
- Source
- transactor.scala
Create a program expressed as ConnectionIO
effect using a provided natural transformation M ~> ConnectionIO
and translate it to back M
effect.
Create a program expressed as ConnectionIO
effect using a provided natural transformation M ~> ConnectionIO
and translate it to back M
effect.
Attributes
- Source
- transactor.scala
Embed a Pipe
with ConnectionIO
effects inside a Pipe
with M
effects by lifting incoming stream to ConnectionIO
effects and lowering outgoing stream to M
effects.
Embed a Pipe
with ConnectionIO
effects inside a Pipe
with M
effects by lifting incoming stream to ConnectionIO
effects and lowering outgoing stream to M
effects.
Attributes
- Source
- transactor.scala
Crate a program expressed as Stream
with ConnectionIO
effects using a provided natural transformation M ~> ConnectionIO
and translate it back to a Stream
with M
effects.
Crate a program expressed as Stream
with ConnectionIO
effects using a provided natural transformation M ~> ConnectionIO
and translate it back to a Stream
with M
effects.
Attributes
- Source
- transactor.scala
Attributes
- Source
- transactor.scala
Attributes
- Source
- transactor.scala
Attributes
- Source
- transactor.scala
Attributes
- Source
- transactor.scala
Attributes
- Source
- transactor.scala
Construct a Yolo for REPL experimentation.