galchemy/session/transaction
Types
pub type TransactionError(exec_error) {
TrackError(runtime.TrackError)
ExecutionError(runtime.SessionExecutionError(exec_error))
}
Constructors
-
TrackError(runtime.TrackError) -
ExecutionError(runtime.SessionExecutionError(exec_error))
pub type TransactionSession(connection) {
TransactionSession(
connection: connection,
session: runtime.Session,
)
}
Constructors
-
TransactionSession( connection: connection, session: runtime.Session, )
Values
pub fn begin(
connection: connection,
session: runtime.Session,
) -> TransactionSession(connection)
pub fn commit(
transaction: TransactionSession(connection),
executor: fn(query.Query, connection) -> Result(
result,
exec_error,
),
) -> Result(
#(execution.FlushExecution(result), runtime.Session),
TransactionError(exec_error),
)
pub fn connection(
transaction: TransactionSession(connection),
) -> connection
pub fn flush(
transaction: TransactionSession(connection),
executor: fn(query.Query, connection) -> Result(
result,
exec_error,
),
) -> Result(
#(
execution.FlushExecution(result),
TransactionSession(connection),
),
TransactionError(exec_error),
)
pub fn rollback(
transaction: TransactionSession(connection),
) -> TransactionSession(connection)
pub fn session(
transaction: TransactionSession(connection),
) -> runtime.Session
pub fn stage(
transaction: TransactionSession(connection),
next_entity: entity.Entity,
) -> Result(
TransactionSession(connection),
TransactionError(exec_error),
)
pub fn track(
transaction: TransactionSession(connection),
next_entity: entity.Entity,
) -> Result(
TransactionSession(connection),
TransactionError(exec_error),
)