From af281b3c71e26f85e07e44f5fe1b8b52bceb4b4e Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 4 Jul 2011 10:04:30 +0200 Subject: [PATCH] Bei Locking dasselbe DB-Handle verwenden MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. --- SL/CT.pm | 3 +-- SL/IC.pm | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) 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(); -- 2.20.1