# The C++ Transaction Class

The Transaction class provides the capability of interacting directly with a transaction performing a number of database operations.

### For an overview see page C++ Classes

As explained in the Managing eXtremeSQL Transactions in C++ page, it is possible to manage a block of database transactions by calling the McoSqlEngine method `beginTransaction()` to create a Transaction object. The Transaction class provides the following methods:

commit(int phase) | Commit the block of database operations performed in this transaction
checkpoint() | Checkpoint this transaction which updates indexes and makes newly inserted objects visible to queries while the transaction is still open
rollback() | Roll back the database changes performed in this transaction
release() | Release the memory objects associated with this transaction