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.
Generally speaking you should rely on your Database object to manage the creation of a TansactionManager for you; unless you are building new database connectors this should be treated as an internal API.
Methods
Start a prepared transaction
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 and should be used with caution.