NAME¶
KiokuDB::Backend::Role::TXN - Backend level transaction support.
VERSION¶
version 0.57
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.
AUTHOR¶
Yuval Kogman <nothingmuch@woobling.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.