logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Yuval Kogman <nothingmuch@woobling.org>

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.

Name

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

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.

Synopsis

           package MyBackend;
           use Moose;

           with qw(
               KiokuDB::Backend
               KiokuDB::Backend::Role::TXN
           );

           sub txn_begin { ... }
           sub txn_commit { ... }
           sub txn_rollback { ... }

Version

       version 0.57

See Also