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/git?a=commitdiff_plain;h=77c9e01057c863eef7f8647ba91c715a7b6b4dd1;p=kivitendo-erp.git 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;