From: Pronichev A. <dy...@ag...> - 2005-07-05 13:31:19
|
Hello everybody. Does anybody know anything about subject? How can I use transactions in SPOPS (may be somebody already wrote such module)? I would like to write something like this in my SPOPS object package: package My::SPOPS::Foo; .... sub pre_save_action { my $c = shift; my $tr = SPOPS::Transaction->new( $c->global_datasource_handle ); my $object2 = My::SPOPS::Bar->new(...); $tr->add_dbh( $object2->global_datasource_handle ); ... $obj->save or $tr->rollback('error message'); ... 1; } sub post_save_action { my $c = shift; if $c->transaction { my $tr = $c->transaction; # This will commit ALL dbh, added by add_dbh $tr->commit or $tr->rollback('error message'); } 1; } package main; .... my $foo = My::SPOPS::Foo->new(); ... $foo->save or My::Exception->throw(...); Thanks in advice. -- WBR dyker Agava Software |