Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 85d9159e

Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt

  • ID 85d9159e944df2ea79b5a32f19fa61531053afda
  • Vorgänger ea25e624
  • Nachfolger f775b88a

Offene Transaktionen vor DB-Upgrades comitten

Hintergrund ist, dass Locks potenziell vorhanden sein können. Einfaches
Beispiel: $::instance_conf wird geladen (dadurch implizites
ACCESS-SHARE-Lock auf »defaults«), Upgrade will Schema von »defaults«
verändern, was dann hängt, weil dafür ACCESS-EXCLUSIVE benötigt wird –
das mit ACCESS-SHARE kollidiert.

Unterschiede anzeigen:

SL/User.pm
384 384

  
385 385
  &dbconnect_vars($form, $db);
386 386

  
387
  # Flush potentially held database locks.
388
  $form->get_standard_dbh->commit;
389

  
387 390
  my $dbh = SL::DBConnect->connect($form->{dbconnect}, $form->{dbuser}, $form->{dbpasswd}, SL::DBConnect->get_options) or $form->dberror;
388 391

  
389 392
  $dbh->do($form->{dboptions}) if ($form->{dboptions});

Auch abrufbar als: Unified diff