データの整合性を確保するために、 DBIドライバークラスが現在トランザクションに含まれている場合にのみ実行する必要のあるメソッドがいくつかあります。私はこのようなものを書きたいと思っています:
sub m{
my ($self , $dbh ) = @_ ;
unless( $dbh->isInTransaction()){
die "Use this only within a transaction\n" ;
}
etc ...
}
begin_workのドキュメントから、 begin_workAutoCommit
はトランザクション中にオフに設定され、コミットまたはロールバック時に「オン」に戻されることを理解していますが、AutoCommit
属性値のテストが安全な実装方法であるかどうか疑問に思いますisInTransaction
。
ご協力いただきありがとうございます。
J。