Revision 85d9159e
Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt
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
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.