Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 96670fe8

Von Moritz Bunkus vor mehr als 7 Jahren hinzugefügt

  • ID 96670fe82a38116ac10592a6ccbd34800f8ad9f8
  • Vorgänger e5a76ed1
  • Nachfolger 0b84f51f

»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.

Unterschiede anzeigen:

SL/BackgroundJob/CreatePeriodicInvoices.pm
205 205

  
206 206
  my $order   = $config->order;
207 207
  my $invoice;
208
  if (!$self->{db_obj}->db->do_transaction(sub {
208
  if (!$self->{db_obj}->db->with_transaction(sub {
209 209
    1;                          # make Emacs happy
210 210

  
211 211
    $invoice = SL::DB::Invoice->new_from($order);
......
254 254
    _log_msg("_create_invoice created for period start date $period_start_date id " . $invoice->id . " number " . $invoice->invnumber . " netamount " . $invoice->netamount . " amount " . $invoice->amount);
255 255

  
256 256
    # die $invoice->transaction_description;
257

  
258
    1;
257 259
  })) {
258 260
    $::lxdebug->message(LXDebug->WARN(), "_create_invoice failed: " . join("\n", (split(/\n/, $self->{db_obj}->db->error))[0..2]));
259 261
    return undef;

Auch abrufbar als: Unified diff