Packages

c

slick.memory.HeapBackend

HeapDatabaseDef

class HeapDatabaseDef extends BasicDatabaseDef

Source
HeapBackend.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HeapDatabaseDef
  2. BasicDatabaseDef
  3. Closeable
  4. AutoCloseable
  5. AnyRef
  6. Any
Implicitly
  1. by StringFormat
  2. by Ensuring
  3. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new HeapDatabaseDef(synchronousExecutionContext: ExecutionContext)

Value Members

  1. 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
    HeapDatabaseDefBasicDatabaseDef → Closeable → AutoCloseable
  2. def createSession(): Session

    Create a new session.

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

    Definition Classes
    HeapDatabaseDefBasicDatabaseDef
  3. def createTable(name: String, columns: IndexedSeq[Column], indexes: IndexedSeq[Index], constraints: IndexedSeq[Constraint]): HeapTable
  4. def createTableIfNotExists(name: String, columns: IndexedSeq[Column], indexes: IndexedSeq[Index], constraints: IndexedSeq[Constraint]): HeapTable
  5. def dropTable(name: String): Unit
  6. def dropTableIfExists(name: String): Unit
  7. def getTable(name: String): HeapTable
  8. def getTables: IndexedSeq[HeapTable]
  9. final def run[R](a: DBIOAction[R, NoStream, Nothing]): Future[R]

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

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

    Definition Classes
    BasicDatabaseDef
  10. 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.

    Definition Classes
    HeapDatabaseDefBasicDatabaseDef
  11. 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).

    Definition Classes
    BasicDatabaseDef
  12. def truncateTable(name: String): Unit