StormByte-Database 2.0.0
C++26 database module of the StormByte suite
 
Loading...
Searching...
No Matches
StormByte::Database::Transaction Class Reference

RAII transaction. More...

#include <StormByte/database/transaction.hxx>

Public Member Functions

 Transaction (Database &db)
 Bind to a database connection.
 
 Transaction (const Transaction &)=delete
 Copy constructor (deleted).
 
Transaction & operator= (const Transaction &)=delete
 Copy assignment (deleted).
 
 Transaction (Transaction &&other) noexcept
 Move constructor.
 
Transaction & operator= (Transaction &&other) noexcept
 Move assignment.
 
 ~Transaction () noexcept
 Destructor.
 
void Commit ()
 Commit.
 
void Rollback ()
 Rollback.
 
bool IsActive () const noexcept
 Whether neither Commit nor Rollback has been called.
 

Detailed Description

RAII transaction.

Rolls back if neither Commit() nor Rollback() ran before destruction.

Note
Holds exclusive access to its connection and must remain on its creating thread.

Constructor & Destructor Documentation

◆ Transaction() [1/3]

StormByte::Database::Transaction::Transaction ( Database &  db)
explicit

Bind to a database connection.

Parameters
dbOwning database.

◆ Transaction() [2/3]

StormByte::Database::Transaction::Transaction ( const Transaction &  )
delete

Copy constructor (deleted).

◆ Transaction() [3/3]

StormByte::Database::Transaction::Transaction ( Transaction &&  other)
noexcept

Move constructor.

Parameters
otherSource transaction.

◆ ~Transaction()

StormByte::Database::Transaction::~Transaction ( )
noexcept

Destructor.

Rolls back if still active.

Member Function Documentation

◆ Commit()

void StormByte::Database::Transaction::Commit ( )

Commit.

◆ IsActive()

bool StormByte::Database::Transaction::IsActive ( ) const
inlinenoexcept

Whether neither Commit nor Rollback has been called.

Returns
true if still active.

◆ operator=() [1/2]

Transaction & StormByte::Database::Transaction::operator= ( const Transaction &  )
delete

Copy assignment (deleted).

◆ operator=() [2/2]

Transaction & StormByte::Database::Transaction::operator= ( Transaction &&  other)
noexcept

Move assignment.

Parameters
otherSource transaction.
Returns
*this.

◆ Rollback()

void StormByte::Database::Transaction::Rollback ( )

Rollback.


The documentation for this class was generated from the following file: