X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FTxnScopeGuard.pm;h=392e354b3353b745da43f9f994d6aa21eadda1da;hb=0bec44d5d7;hp=edf72057f280688edf67765def5f9e0f9393ab67;hpb=a2c77c97735124a7bf4073cf5cef5480bec752a8;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/TxnScopeGuard.pm b/lib/DBIx/Class/Storage/TxnScopeGuard.pm index edf7205..392e354 100644 --- a/lib/DBIx/Class/Storage/TxnScopeGuard.pm +++ b/lib/DBIx/Class/Storage/TxnScopeGuard.pm @@ -45,8 +45,13 @@ sub commit { $self->{storage}->throw_exception("Refusing to execute multiple commits on scope guard $self") if $self->{inactivated}; - $self->{storage}->txn_commit; + # FIXME - this assumption may be premature: a commit may fail and a rollback + # *still* be necessary. Currently I am not aware of such scenarious, but I + # also know the deferred constraint handling is *severely* undertested. + # Making the change of "fire txn and never come back to this" in order to + # address RT#107159, but this *MUST* be reevaluated later. $self->{inactivated} = 1; + $self->{storage}->txn_commit; } sub DESTROY {