TransactionManager
interface TransactionManager (View source)
Represents an object that is capable of controlling transactions.
The TransactionManager might be the database connection itself, calling queries to orchestrate transactions, or a connector such as the PDOConnector.
Generally speaking you should rely on your Database object to manage the creation of a TransactionManager for you; unless you are building new database connectors this should be treated as an internal API.
Methods
Start a prepared transaction
Complete a transaction
Roll-back a transaction
Create a new savepoint
Return the depth of the transaction For unnested transactions returns 1 while in a transaction, 0 otherwise
Return true if savepoints are supported by this transaction manager.
Details
bool
transactionStart(string|bool $transactionMode = false, string|bool $sessionCharacteristics = false)
Start a prepared transaction
bool
transactionEnd()
Complete a transaction
bool
transactionRollback(string $savepoint = null)
Roll-back a transaction
transactionSavepoint(string $savepoint)
Create a new savepoint
int
transactionDepth()
Return the depth of the transaction For unnested transactions returns 1 while in a transaction, 0 otherwise
bool
supportsSavepoints()
Return true if savepoints are supported by this transaction manager.
Savepoints aren't supported by all database connectors (notably PDO doesn't support them) and should be used with caution.