Man pages sections > man3 > Catmandu::Transactional

Catmandu::Transactional - Optional role for transactional stores

Catmandu::Transactional(3pm) User Contributed Perl Documentation Catmandu::Transactional(3pm)

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.
2017-10-01 perl v5.26.0