X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage.pm;h=604ad5b7e8ed936799f5caaf2c35914dfd826fb4;hb=00c937a24ecd01b75997dd3e0211f2377fcd84ff;hp=df4434ece19c888cf6829df56cbee95af655998d;hpb=ed213e857791d1cfb0f1a0e32674e81358e19564;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage.pm b/lib/DBIx/Class/Storage.pm index df4434e..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 @@ -438,15 +450,6 @@ only. sub select_single { die "Virtual method!" } -=head2 reload_row ($row) - -given a L object, 'reloads' it from the storage. This will -destroy any existing changes you have not yet saved. - -=cut - -sub reload_row { die "Virtual method!" } - =head2 columns_info_for Returns metadata for the given source's columns. This