From: Moritz Bunkus Date: Wed, 3 Jun 2015 09:33:47 +0000 (+0200) Subject: SL::TransNumber: Belegtabelle vor Auslesen locken X-Git-Tag: release-3.3.0beta~55 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/commitdiff_plain/77c9e01057c863eef7f8647ba91c715a7b6b4dd1 SL::TransNumber: Belegtabelle vor Auslesen locken Die Tabelle, aus der die Liste der bereits benutzten Belegnummern ausgelesen wird, muss exklusiv gelockt werden, um zu verhindern, dass danach zwischen dem Auslesen und der Vergabe der neuen Belegnummer eine andere DB-Verbindung dasselbe macht und dieselbe Nummer verwendet. Dieses Locking muss daher vor dem Auslesen der Daten geschehen. --- diff --git a/SL/TransNumber.pm b/SL/TransNumber.pm index 8be5bcd38..1e62cfb07 100644 --- a/SL/TransNumber.pm +++ b/SL/TransNumber.pm @@ -125,6 +125,7 @@ sub create_unique { $where SQL + do_query($form, $self->dbh, "LOCK TABLE " . $filters{table}) || die $self->dbh->errstr; my %numbers_in_use = selectall_as_map($form, $self->dbh, $query, $filters{trans_number}, 'in_use'); my $business_number;