From: Moritz Bunkus Date: Mon, 26 Aug 2013 13:57:39 +0000 (+0200) Subject: AM.pm::get_warehouse: keinen teuren Cross Join X-Git-Tag: release-3.1.0beta1~76 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=af6756b86c0d800e5e95638c455525eddf44d22c;hp=fac049a07ca0a2e5dacf31f297766e3517893a40;p=kivitendo-erp.git AM.pm::get_warehouse: keinen teuren Cross Join Ein Cross Join wird nicht benötigt, weil nur die Existenz einer Zeile in mind. einer der beiden relevanten Tabellen interessant ist. Das auch entsprechend coden. Fixt #2359. --- diff --git a/SL/AM.pm b/SL/AM.pm index 5764c6a3e..adb240d28 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -1900,15 +1900,14 @@ sub get_warehouse { map { $form->{$_} = $ref->{$_} } keys %{ $ref }; - $query = qq|SELECT b.*, EXISTS - (SELECT i.warehouse_id, p.warehouse_id - FROM inventory i, parts p - WHERE i.bin_id = b.id - OR p.bin_id = b.id - LIMIT 1) - AS in_use - FROM bin b - WHERE b.warehouse_id = ?|; + $query = <{BINS} = selectall_hashref_query($form, $dbh, $query, conv_i($form->{id}));