From 77c9e01057c863eef7f8647ba91c715a7b6b4dd1 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 3 Jun 2015 11:33:47 +0200 Subject: [PATCH] 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. --- SL/TransNumber.pm | 1 + 1 file changed, 1 insertion(+) 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; -- 2.20.1