NAME
Catmandu::Transactional - Optional role for transactional stores
SYNOPSIS
# bag will be untouched
my $store->transaction(sub {
$store->bag('books')->add({title => 'Time must have a stop'});
die;
});
METHODS
transaction($sub)
transaction
takes a coderef that will be executed in the context of a transaction. If an error is thrown, the transaction will rollback. If the code executes successfully, the transaction will be committed. There is no support for nested transactions, nested calls to transaction
will simply be subsumed by their parent transaction.