galchemy/session/transaction

Types

pub type TransactionError(exec_error) {
  TrackError(runtime.TrackError)
  ExecutionError(runtime.SessionExecutionError(exec_error))
}

Constructors

pub type TransactionSession(connection) {
  TransactionSession(
    connection: connection,
    session: runtime.Session,
  )
}

Constructors

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),
)
Search Document