X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage.pm;h=604ad5b7e8ed936799f5caaf2c35914dfd826fb4;hb=92bc2a19d5feb14139e092d697c103472f2ac6ed;hp=dd61ba0deec4c3ae51f93a83d4bf441347444ba3;hpb=2f0790c43209011e3524dd6edc2aa3fc9913ef76;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage.pm b/lib/DBIx/Class/Storage.pm index dd61ba0..604ad5b 100644 --- a/lib/DBIx/Class/Storage.pm +++ b/lib/DBIx/Class/Storage.pm @@ -299,9 +299,21 @@ sub svp_rollback { die "Virtual method!" } =for comment -=head2 txn_scope_guard +=head2 txn_scope_guard (EXPERIMENTAL) -Return an object that does stuff. +An alternative way of using transactions to C: + + my $txn = $storage->txn_scope_guard; + + $row->col1("val1"); + $row->update; + + $txn->commit; + +If a exception occurs, the transaction will be rolled back. This is still very +experiemental, and we are not 100% sure it is working right when nested. The +onus is on you as the user to make sure you dont forget to call +$C<$txn->commit>. =cut