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/mfinanz.git/commitdiff_plain/77c9e01057c863eef7f8647ba91c715a7b6b4dd1?hp=428bfc18faf4e37bf8f5203aab4402945dba3327 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;