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.