Class/Object

doobie.util.transactor

Transactor

Related Docs: object Transactor | package transactor

Permalink

sealed abstract class Transactor[M[_]] extends AnyRef

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.

M

a target effect type; typically IO or Task

Self Type
Transactor[M]
Source
transactor.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Transactor
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type A

    Permalink

    An arbitrary value that will be handed back to connect *

Abstract Value Members

  1. abstract def connect: (A) ⇒ M[Connection]

    Permalink

    A program in M that can provide a database connection, given the kernel *

  2. abstract def interpret: Interpreter[M]

    Permalink

    A natural transformation for interpreting ConnectionIO *

  3. abstract def kernel: A

    Permalink

    An arbitrary value, meaningful to the instance *

  4. abstract def strategy: Strategy

    Permalink

    A Strategy for running a program on a connection *

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def configure[B](f: (A) ⇒ B)(implicit ev: Suspendable[M]): M[B]

    Permalink

    Construct a program to peform arbitrary configuration on the kernel value (changing the timeout on a connection pool, for example).

    Construct a program to peform 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 Transactors via implicit conversion.

  7. def copy(kernel0: A = self.kernel, connect0: (A) ⇒ M[Connection] = self.connect, interpret0: Interpreter[M] = self.interpret, strategy0: Strategy = self.strategy): Aux[M, A]

    Permalink
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def exec(implicit ev: Monad[M], ev2: Catchable[M]): ~>[[γ$11$]Kleisli[M, Connection, γ$11$], M]

    Permalink

    Natural transformation that provides a connection and binds through a Kleisli program using the given Strategy, yielding an independent program in M.

  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. def rawExec(implicit ev: Monad[M]): ~>[[γ$8$]Kleisli[M, Connection, γ$8$], M]

    Permalink

    Natural transformation equivalent to exec that does not use the provided Strategy and instead directly binds the Connection provided by connect.

    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.

  19. def rawTrans(implicit ev: Monad[M]): ~>[ConnectionIO, M]

    Permalink

    Natural transformation equivalent to trans that does not use the provided Strategy and instead directly binds the Connection provided by connect.

    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.

  20. def rawTransP(implicit ev: Monad[M]): ~>[[β$13$]Stream[[A]Free[ConnectionOp, A], β$13$], [β$14$]Stream[M, β$14$]]

    Permalink
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. def trans(implicit ev: Monad[M]): ~>[ConnectionIO, M]

    Permalink

    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.

    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.

  24. def transP(implicit ev: Monad[M]): ~>[[β$20$]Stream[[A]Free[ConnectionOp, A], β$20$], [β$21$]Stream[M, β$21$]]

    Permalink
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def yolo(implicit ev: Monad[M], ev1: Catchable[M], ev2: Suspendable[M]): Yolo[M]

    Permalink

    Construct a Yolo for REPL experimentation.

Inherited from AnyRef

Inherited from Any

Configuration

Natural Transformations

Ungrouped