Packages

t

slick.basic.BasicBackend

BasicDatabaseDef

trait BasicDatabaseDef extends Closeable

A database instance to which connections can be created.

Self Type
Database
Source
BasicBackend.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BasicDatabaseDef
  2. Closeable
  3. AutoCloseable
  4. AnyRef
  5. Any
Implicitly
  1. by StringFormat
  2. by Ensuring
  3. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def close(): Unit

    Free all resources allocated by Slick for this Database, blocking the current thread until everything has been shut down.

    Free all resources allocated by Slick for this Database, blocking the current thread until everything has been shut down.

    Backend implementations which are based on a naturally blocking shutdown procedure can simply implement this method and get shutdown as an asynchronous wrapper for free. If the underlying shutdown procedure is asynchronous, you should implement shutdown instead and wrap it with Await.result in this method.

    Definition Classes
    BasicDatabaseDef → Closeable → AutoCloseable
  2. abstract def createSession(): Session

    Create a new session.

    Create a new session. The session needs to be closed explicitly by calling its close() method.

Concrete Value Members

  1. final def run[R](a: DBIOAction[R, NoStream, Nothing]): Future[R]

    Run an Action asynchronously and return the result as a Future.

  2. def shutdown: Future[Unit]

    Free all resources allocated by Slick for this Database.

    Free all resources allocated by Slick for this Database. This is done asynchronously, so you need to wait for the returned Future to complete in order to ensure that everything has been shut down.

  3. final def stream[T](a: DBIOAction[_, Streaming[T], Nothing]): DatabasePublisher[T]

    Create a Publisher for Reactive Streams which, when subscribed to, will run the specified DBIOAction and return the result directly as a stream without buffering everything first.

    Create a Publisher for Reactive Streams which, when subscribed to, will run the specified DBIOAction and return the result directly as a stream without buffering everything first. This method is only supported for streaming actions.

    The Publisher itself is just a stub that holds a reference to the action and this Database. The action does not actually start to run until the call to onSubscribe returns, after which the Subscriber is responsible for reading the full response or cancelling the Subscription. The created Publisher can be reused to serve a multiple Subscribers, each time triggering a new execution of the action.

    For the purpose of combinators such as cleanup which can run after a stream has been produced, cancellation of a stream by the Subscriber is not considered an error. For example, there is no way for the Subscriber to cause a rollback when streaming the results of someQuery.result.transactionally.

    When using a JDBC back-end, all onNext calls are done synchronously and the ResultSet row is not advanced before onNext returns. This allows the Subscriber to access LOB pointers from within onNext. If streaming is interrupted due to back-pressure signaling, the next row will be prefetched (in order to buffer the next result page from the server when a page boundary has been reached).