GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DBIx::Class::Storage::TxnEndHook(3) User Contributed Perl Documentation DBIx::Class::Storage::TxnEndHook(3)

DBIx::Class::Storage::TxnEndHook - transaction hook provider for DBIx::Class

    package MyApp::Schema;
    use parent 'DBIx::Schema';
    __PACKAGE__->ensure_class_loaded('DBIx::Class::Storage::TxnEndHook');
    __PACKAGE__->ensure_class_loaded('DBIx::Class::Storage::DBI');
    __PACKAGE__->inject_base('DBIx::Class::Storage::DBI', 'DBIx::Class::Storage::TxnEndHook');

    package main

    my $schema = MyApp::Schema->connect(...)
    $schema->storage->txn_begin;
    $schema->storage->add_txn_end_hook(sub { ... });
    $schema->storage->txn_commit;

DBIx::Class::Storage::TxnEndHook is transaction hook provider for DBIx::Class. This module is porting from DBIx::TransactionManager::EndHook.

$schema->storage->add_txn_end_hook(sub{ ... })
Add transaction hook. You can add multiple subroutine and transaction is not started, cant call this method. These subroutines are executed after all transactions are commited. If any transaction is failed, these subroutines are cleard.

If died in subroutine, warn deid message and clear remain all subroutines. It is different from DBIx::Class::Storage::TxnEndHook. In DBIx::TransactionManager::EndHook, when died in subroutine, other subroutines are canceld and died.

Why ? It's caused by DBIx::Class::Storage::TxnScopeGuard. Guard object marked inactivated after "$self->{storage}->txn_commit" in "DBIx::Class::Storage::TxnScopeGuard::commit". So if died in here, can't mark guard as inactivated.

DBIx::Class

DBIx::Class::Storage

DBIx::TransactionManager::EndHook

Copyright (C) soh335.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

soh335 <sugarbabe335@gmail.com>
2022-04-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.