Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision af281b3c

Von Moritz Bunkus vor mehr als 13 Jahren hinzugefügt

Bei Locking dasselbe DB-Handle verwenden

Seit der neuen Klasse für den Zugriff auf 'defaults' ist durch das
"SELECT ..." die 'defaults' in der DB-Verbindung gelockt, die über
get_standard_dbh zurückgegeben wird. Versucht nun SL/TransNumber, mit
"LOCK defaults" die Tabelle ebenfalls zu locken, so klappt das nur,
wenn das aus derselben Verbindung heraus passiert. Also darf da keine
zweite mit $form->dbconnect_noauto geöffnet werden.

Fix für Bug 1687.

Unterschiede anzeigen:

SL/CT.pm
$form->{klass} = 0 unless ($form->{klass});
# connect to database
my $dbh = $form->dbconnect_noauto($myconfig);
my $dbh = $form->get_standard_dbh;
map( {
$form->{"cp_${_}"} = $form->{"selected_cp_${_}"}
......
'always_valid' => 1);
my $rc = $dbh->commit();
$dbh->disconnect();
$main::lxdebug->leave_sub();
return $rc;
SL/IC.pm
my ($self, $myconfig, $form) = @_;
my @values;
# connect to database, turn off AutoCommit
my $dbh = $form->dbconnect_noauto($myconfig);
my $dbh = $form->get_standard_dbh;
# save the part
# make up a unique handle and store in partnumber field
......
# commit
my $rc = $dbh->commit;
$dbh->disconnect;
$main::lxdebug->leave_sub();

Auch abrufbar als: Unified diff