Scroll to navigation

KiokuDB::Backend::Role::TXN(3pm) User Contributed Perl Documentation KiokuDB::Backend::Role::TXN(3pm)

NAME

KiokuDB::Backend::Role::TXN - Backend level transaction support.

SYNOPSIS

    package MyBackend;
    use Moose;
    with qw(
        KiokuDB::Backend
        KiokuDB::Backend::Role::TXN
    );
    sub txn_begin { ... }
    sub txn_commit { ... }
    sub txn_rollback { ... }

DESCRIPTION

This API is inspired by standard database transactions much like you get with DBI.
This is the low level interface required by "txn_do" in KiokuDB.

OPTIONAL METHODS

txn_do $code, %callbacks
This method should evaluate the code reference in the context of a transaction, inside an "eval". If any errors are caught the transaction should be aborted, otherwise it should be committed. This is much like "txn_do" in DBIx::Class::Schema.
 
The "rollback" callback should be fired when the transaction will be aborted.

REQUIRED METHODS

txn_begin [ $parent_txn ]
Begin a new transaction.
 
This method can return a transaction handle that will later be passed to "txn_commit" or "txn_rollback" as necessary.
 
The current handle will be passed to nested calls to "txn_begin".
txn_commit $txn
Commit the transaction.
txn_rollback $txn
Rollback the transaction.
2010-10-11 perl v5.12.4