Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::Storage::UsernContributed PerlDBIx::Class::Storage::TxnEndHook(3)

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

SYNOPSIS
	   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;

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

METHODS
       $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.

SEE ALSO
       DBIx::Class

       DBIx::Class::Storage

       DBIx::TransactionManager::EndHook

LICENSE
       Copyright (C) soh335.

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

AUTHOR
       soh335 <sugarbabe335@gmail.com>

perl v5.32.0			  2020-08-2DBIx::Class::Storage::TxnEndHook(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | LICENSE | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::Class::Storage::TxnEndHook&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help