trait DatabaseDef extends Closeable
A database instance to which connections can be created.
- Self Type
- Database
- Source
- BasicBackend.scala
- Alphabetic
- By Inheritance
- DatabaseDef
- Closeable
- AutoCloseable
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
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 implementshutdown
instead and wrap it withAwait.result
in this method.- Definition Classes
- DatabaseDef → Closeable → AutoCloseable
-
abstract
def
createDatabaseActionContext[T](_useSameThread: Boolean): Context
Create the default DatabaseActionContext for this backend.
Create the default DatabaseActionContext for this backend.
- Attributes
- protected[this]
-
abstract
def
createSession(): Session
Create a new session.
Create a new session. The session needs to be closed explicitly by calling its close() method.
-
abstract
def
createStreamingDatabaseActionContext[T](s: Subscriber[_ >: T], useSameThread: Boolean): StreamingContext
Create the default StreamingDatabaseActionContext for this backend.
Create the default StreamingDatabaseActionContext for this backend.
- Attributes
- protected[this]
-
abstract
def
synchronousExecutionContext: ExecutionContext
Return the default ExecutionContet for this Database which should be used for running SynchronousDatabaseActions for asynchronous execution.
Return the default ExecutionContet for this Database which should be used for running SynchronousDatabaseActions for asynchronous execution.
- Attributes
- protected[this]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from DatabaseDef to any2stringadd[DatabaseDef] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (DatabaseDef, B)
- Implicit
- This member is added by an implicit conversion from DatabaseDef to ArrowAssoc[DatabaseDef] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
acquireSession(ctx: Context): Unit
Within a synchronous execution, ensure that a Session is available.
Within a synchronous execution, ensure that a Session is available.
- Attributes
- protected[this]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
createPublisher[T](a: DBIOAction[_, Streaming[T], Nothing], createCtx: (Subscriber[_ >: T]) ⇒ StreamingContext): DatabasePublisher[T]
Create a Reactive Streams
Publisher
using the given context factory.Create a Reactive Streams
Publisher
using the given context factory.- Attributes
- protected[this]
-
def
ensuring(cond: (DatabaseDef) ⇒ Boolean, msg: ⇒ Any): DatabaseDef
- Implicit
- This member is added by an implicit conversion from DatabaseDef to Ensuring[DatabaseDef] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (DatabaseDef) ⇒ Boolean): DatabaseDef
- Implicit
- This member is added by an implicit conversion from DatabaseDef to Ensuring[DatabaseDef] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): DatabaseDef
- Implicit
- This member is added by an implicit conversion from DatabaseDef to Ensuring[DatabaseDef] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): DatabaseDef
- Implicit
- This member is added by an implicit conversion from DatabaseDef to Ensuring[DatabaseDef] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DatabaseDef to StringFormat[DatabaseDef] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
logAction(a: DBIOAction[_, NoStream, Nothing], ctx: Context): Unit
- Attributes
- protected[this]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
releaseSession(ctx: Context, discardErrors: Boolean): Unit
Within a synchronous execution, close the current Session unless it is pinned.
Within a synchronous execution, close the current Session unless it is pinned.
- discardErrors
If set to true, swallow all non-fatal errors that arise while closing the Session.
- Attributes
- protected[this]
-
final
def
run[R](a: DBIOAction[R, NoStream, Nothing]): Future[R]
Run an Action asynchronously and return the result as a Future.
-
def
runInContext[R](a: DBIOAction[R, NoStream, Nothing], ctx: Context, streaming: Boolean, topLevel: Boolean): Future[R]
Run an Action in an existing DatabaseActionContext.
Run an Action in an existing DatabaseActionContext. This method can be overridden in subclasses to support new DatabaseActions which cannot be expressed through SynchronousDatabaseAction.
- streaming
Whether to return the result as a stream. In this case, the context must be a
StreamingDatabaseActionContext
and the Future result should be completed withnull
or failed after streaming has finished. This method should not call anySubscriber
method other thanonNext
.
- Attributes
- protected[this]
-
def
runSynchronousDatabaseAction[R](a: SynchronousDatabaseAction[R, NoStream, This, _], ctx: Context, continuation: Boolean): Future[R]
Run a
SynchronousDatabaseAction
on this database.Run a
SynchronousDatabaseAction
on this database.- Attributes
- protected[this]
-
def
scheduleSynchronousStreaming(a: SynchronousDatabaseAction[_, _ <: NoStream, This, _ <: Effect], ctx: StreamingContext, continuation: Boolean)(initialState: StreamState): Unit
Stream a part of the results of a
SynchronousDatabaseAction
on this database.Stream a part of the results of a
SynchronousDatabaseAction
on this database.- Attributes
- protected[slick.basic.BasicBackend]
-
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. -
final
def
stream[T](a: DBIOAction[_, Streaming[T], Nothing]): DatabasePublisher[T]
Create a
Publisher
for Reactive Streams which, when subscribed to, will run the specifiedDBIOAction
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 specifiedDBIOAction
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 ofsomeQuery.result.transactionally
.When using a JDBC back-end, all
onNext
calls are done synchronously and the ResultSet row is not advanced beforeonNext
returns. This allows the Subscriber to access LOB pointers from withinonNext
. 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). -
def
streamSynchronousDatabaseAction(a: SynchronousDatabaseAction[_, _ <: NoStream, This, _ <: Effect], ctx: StreamingContext, continuation: Boolean): Future[Null]
Stream a
SynchronousDatabaseAction
on this database.Stream a
SynchronousDatabaseAction
on this database.- Attributes
- protected[this]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
→[B](y: B): (DatabaseDef, B)
- Implicit
- This member is added by an implicit conversion from DatabaseDef to ArrowAssoc[DatabaseDef] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
edit this text on github
Scala Language-Integrated Connection Kit
This is the API documentation for the Slick database library. It should be used as an additional resource to the user manual.
Further documentation for Slick can be found on the documentation pages.
To the slick package list...