Return the specified ExecutionContext unless running in same-thread mode, in which case
Action.sameThreadExecutionContext is returned instead.
Check if the session is pinned.
Check if the session is pinned. May only be called from a synchronous action context.
Pin the current session.
Pin the current session. Multiple calls to pin may be nested. The same number of calls
to unpin is required in order to mark the session as not pinned anymore. A pinned
session will not be released at the end of a primitive database action. Instead, the same
pinned session is passed to all subsequent actions until it is unpinned. Note that pinning
does not force an actual database connection to be opened. This still happens on demand.
May only be called from a synchronous action context.
Get the current database session for this context.
Get the current database session for this context. Inside a single action this value will never change. If the session has not been pinned, a subsequent action will see a different session (unless the actions have been fused). May only be called from a synchronous action context.
Unpin this session once.
Unpin this session once. May only be called from a synchronous action context.
Whether to run all operations on the current thread or schedule them normally on the appropriate ExecutionContext.
Whether to run all operations on the current thread or schedule them normally on the appropriate ExecutionContext. This is used by the blocking API.
(databaseActionContext: StringAdd).self
(databaseActionContext: StringFormat).self
(databaseActionContext: ArrowAssoc[DatabaseActionContext]).x
(Since version 2.10.0) Use leftOfArrow instead
(databaseActionContext: Ensuring[DatabaseActionContext]).x
(Since version 2.10.0) Use resultOfEnsuring instead
The context object passed to database actions by the execution engine.