From: Moritz Bunkus Date: Mon, 4 Jul 2011 08:04:30 +0000 (+0200) Subject: Bei Locking dasselbe DB-Handle verwenden X-Git-Tag: release-2.7.0beta1~355 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=af281b3c71e26f85e07e44f5fe1b8b52bceb4b4e;p=kivitendo-erp.git 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. --- diff --git a/SL/CT.pm b/SL/CT.pm index 6d801d488..b16948232 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -236,7 +236,7 @@ sub save_customer { $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_${_}"} @@ -445,7 +445,6 @@ sub save_customer { 'always_valid' => 1); my $rc = $dbh->commit(); - $dbh->disconnect(); $main::lxdebug->leave_sub(); return $rc; diff --git a/SL/IC.pm b/SL/IC.pm index 31993641c..ee9227811 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -288,7 +288,7 @@ sub save { 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 @@ -593,7 +593,6 @@ sub save { # commit my $rc = $dbh->commit; - $dbh->disconnect; $main::lxdebug->leave_sub();