Trait/Object

slick.dbio

DBIOAction

Related Docs: object DBIOAction | package dbio

Permalink

sealed trait DBIOAction[+R, +S <: NoStream, -E <: Effect] extends Dumpable

A Database I/O Action that can be executed on a database. The DBIOAction type allows a separation of execution logic and resource usage management logic from composition logic. DBIOActions can be composed with methods such as andThen, andFinally and flatMap. Individual parts of a composite DBIOAction are always executed serially on a single database, but possibly in different database sessions, unless the session is pinned either explicitly (using withPinnedSession) or implicitly (e.g. through a transaction).

The actual implementation base type for all Actions is DBIOAction. StreamingDBIO and DBIO are type aliases which discard the effect type (and the streaming result type in the latter case) to make DBIOAction types easier to write when these features are not needed. All primitive DBIOActions and all DBIOActions produced by the standard combinators in Slick have correct Effect types and are streaming (if possible).

R

The result type when executing the DBIOAction and fully materializing the result.

S

An encoding of the result type for streaming results. If this action is capable of streaming, it is Streaming[T] for an element type T. For non-streaming DBIOActions it is NoStream.

E

The DBIOAction's effect type, e.g. Effect.Read with Effect.Write. When composing actions, the correct combined effect type will be inferred. Effects can be used in user code, e.g. to automatically direct all read-only Actions to a slave database and write Actions to the master copy.

Source
DBIOAction.scala
Linear Supertypes
Dumpable, AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DBIOAction
  2. Dumpable
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getDumpInfo: DumpInfo

    Permalink

    Return the name, main info, attribute info and named children

    Return the name, main info, attribute info and named children

    Definition Classes
    Dumpable

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to any2stringadd[DBIOAction[R, S, E]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (DBIOAction[R, S, E], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to ArrowAssoc[DBIOAction[R, S, E]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def >>[R2, S2 <: NoStream, E2 <: Effect](a: DBIOAction[R2, S2, E2]): DBIOAction[R2, S2, E with E2]

    Permalink

    A shortcut for andThen.

  7. def andFinally[E2 <: Effect](a: DBIOAction[_, NoStream, E2]): DBIOAction[R, S, E with E2]

    Permalink

    Run another action after this action, whether it succeeds or fails, and then return the result of the first action.

    Run another action after this action, whether it succeeds or fails, and then return the result of the first action. If the first action fails, its failure is propagated, whether the second action fails or succeeds. If the first action succeeds, a failure of the second action is propagated.

  8. def andThen[R2, S2 <: NoStream, E2 <: Effect](a: DBIOAction[R2, S2, E2]): DBIOAction[R2, S2, E with E2]

    Permalink

    Run another action after this action, if it completed successfully, and return the result of the second action.

    Run another action after this action, if it completed successfully, and return the result of the second action. If either of the two actions fails, the resulting action also fails.

  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def asTry: DBIOAction[Try[R], NoStream, E]

    Permalink

    Convert a successful result v of this action into a successful result Success(v) and a failure t into a successful result Failure(t).

    Convert a successful result v of this action into a successful result Success(v) and a failure t into a successful result Failure(t). This is the most generic combinator that can be used for error recovery. If possible, use andFinally or cleanUp instead, because those combinators, unlike asTry, support streaming.

  11. def cleanUp[E2 <: Effect](f: (Option[Throwable]) ⇒ DBIOAction[_, NoStream, E2], keepFailure: Boolean = true)(implicit executor: ExecutionContext): DBIOAction[R, S, E with E2]

    Permalink

    Run another action after this action, whether it succeeds or fails, in order to clean up or transform an error produced by this action.

    Run another action after this action, whether it succeeds or fails, in order to clean up or transform an error produced by this action. The clean-up action is computed from the failure of this action, wrapped in Some, or None if this action succeeded.

    keepFailure

    If this action returns successfully, the resulting action also returns successfully unless the clean-up action fails. If this action fails and keepFailure is set to true (the default), the resulting action fails with the same error, no matter whether the clean-up action succeeds or fails. If keepFailure is set to false, an error from the clean-up action will override the error from this action.

  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def collect[R2](pf: PartialFunction[R, R2])(implicit executor: ExecutionContext): DBIOAction[R2, NoStream, E]

    Permalink

    Transform the result of a successful execution of this action, if the given partial function is defined at that value, otherwise, the result DBIOAction will fail with a NoSuchElementException.

    Transform the result of a successful execution of this action, if the given partial function is defined at that value, otherwise, the result DBIOAction will fail with a NoSuchElementException.

    If this action fails, the resulting action also fails.

  14. def ensuring(cond: (DBIOAction[R, S, E]) ⇒ Boolean, msg: ⇒ Any): DBIOAction[R, S, E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to Ensuring[DBIOAction[R, S, E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: (DBIOAction[R, S, E]) ⇒ Boolean): DBIOAction[R, S, E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to Ensuring[DBIOAction[R, S, E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean, msg: ⇒ Any): DBIOAction[R, S, E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to Ensuring[DBIOAction[R, S, E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean): DBIOAction[R, S, E]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to Ensuring[DBIOAction[R, S, E]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. def failed: DBIOAction[Throwable, NoStream, E]

    Permalink

    Return an action which contains the Throwable with which this action failed as its result.

    Return an action which contains the Throwable with which this action failed as its result. If this action succeeded, the resulting action fails with a NoSuchElementException.

  21. final def filter(p: (R) ⇒ Boolean)(implicit executor: ExecutionContext): DBIOAction[R, NoStream, E]

    Permalink

    Filter the result of this action with the given predicate.

    Filter the result of this action with the given predicate. If the predicate matches, the original result is returned, otherwise the resulting action fails with a NoSuchElementException.

  22. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def flatMap[R2, S2 <: NoStream, E2 <: Effect](f: (R) ⇒ DBIOAction[R2, S2, E2])(implicit executor: ExecutionContext): DBIOAction[R2, S2, E with E2]

    Permalink

    Use the result produced by the successful execution of this action to compute and then run the next action in sequence.

    Use the result produced by the successful execution of this action to compute and then run the next action in sequence. The resulting action fails if either this action, the computation, or the computed action fails.

  24. def flatten[R2, S2 <: NoStream, E2 <: Effect](implicit ev: <:<[R, DBIOAction[R2, S2, E2]]): DBIOAction[R2, S2, E with E2]

    Permalink

    Creates a new DBIOAction with one level of nesting flattened, this method is equivalent to flatMap(identity).

  25. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to StringFormat[DBIOAction[R, S, E]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  26. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  29. def isLogged: Boolean

    Permalink

    Whether or not this action should be included in log output by default.

  30. def map[R2](f: (R) ⇒ R2)(implicit executor: ExecutionContext): DBIOAction[R2, NoStream, E]

    Permalink

    Transform the result of a successful execution of this action.

    Transform the result of a successful execution of this action. If this action fails, the resulting action also fails.

  31. def named(name: String): DBIOAction[R, S, E]

    Permalink

    Get a wrapping action which has a name that will be included in log output.

  32. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. def nonFusedEquivalentAction: DBIOAction[R, S, E]

    Permalink

    Get the equivalent non-fused action if this action has been fused, otherwise this action is returned.

  34. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  36. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. def withFilter(p: (R) ⇒ Boolean)(implicit executor: ExecutionContext): DBIOAction[R, NoStream, E]

    Permalink
  42. def withPinnedSession: DBIOAction[R, S, E]

    Permalink

    Use a pinned database session when running this action.

    Use a pinned database session when running this action. If it is composed of multiple database actions, they will all use the same session, even when sequenced with non-database actions. For non-composite or non-database actions, this has no effect.

  43. def zip[R2, E2 <: Effect](a: DBIOAction[R2, NoStream, E2]): DBIOAction[(R, R2), NoStream, E with E2]

    Permalink

    Run another action after this action, if it completed successfully, and return the result of both actions.

    Run another action after this action, if it completed successfully, and return the result of both actions. If either of the two actions fails, the resulting action also fails.

  44. def zipWith[R2, E2 <: Effect, R3](a: DBIOAction[R2, NoStream, E2])(f: (R, R2) ⇒ R3)(implicit executor: ExecutionContext): DBIOAction[R3, NoStream, E with E2]

    Permalink

    Run another action after this action, if it completed successfully, and zip the result of both actions with a function f, then create a new DBIOAction holding this result, If either of the two actions fails, the resulting action also fails.

  45. def [B](y: B): (DBIOAction[R, S, E], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from DBIOAction[R, S, E] to ArrowAssoc[DBIOAction[R, S, E]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Dumpable

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from DBIOAction[R, S, E] to any2stringadd[DBIOAction[R, S, E]]

Inherited by implicit conversion StringFormat from DBIOAction[R, S, E] to StringFormat[DBIOAction[R, S, E]]

Inherited by implicit conversion Ensuring from DBIOAction[R, S, E] to Ensuring[DBIOAction[R, S, E]]

Inherited by implicit conversion ArrowAssoc from DBIOAction[R, S, E] to ArrowAssoc[DBIOAction[R, S, E]]

Ungrouped