Revision 96670fe8
Von Moritz Bunkus vor mehr als 8 Jahren hinzugefügt
SL/DB/RequirementSpec.pm | ||
---|---|---|
return $self->_create_copy(%params) if $self->db->in_transaction;
|
||
|
||
my $copy;
|
||
if (!$self->db->do_transaction(sub { $copy = $self->_create_copy(%params) })) {
|
||
if (!$self->db->with_transaction(sub { $copy = $self->_create_copy(%params) })) {
|
||
$::lxdebug->message(LXDebug->WARN(), "create_copy failed: " . join("\n", (split(/\n/, $self->db->error))[0..2]));
|
||
return undef;
|
||
}
|
Auch abrufbar als: Unified diff
»with_transaction« anstelle von »do_transaction« verwenden
Es sollte so selten wie möglich »do_transaction« verwndet werden, damit
man sich immer angewöhnt, »with_transaction« zu nutzen.
Hintergründe und Unterschiede zwischen den beiden Funktionen sind in der
Dokumentation von SL/DB.pm beschrieben.