r4944 bugfix: inefficient SQL query fixed, so [object][default] tab was speeded up...
authorAlexey Andriyanov <alan@al-an.info>
Tue, 31 Jan 2012 15:53:52 +0000 (15:53 +0000)
committerAlexey Andriyanov <alan@al-an.info>
Tue, 31 Jan 2012 15:53:52 +0000 (15:53 +0000)
getResidentRacksData: first SQL query was made using index

wwwroot/inc/database.php

index 1a09ca66dfdcd4d72d130ada5707fee3e1734a2e..f028a7176398813dc9de8f9eba3baf94668b954d 100644 (file)
@@ -1282,11 +1282,11 @@ function getResidentRacksData ($object_id = 0, $fetch_rackdata = TRUE)
        // and racks that it is 'Zero-U' mounted in
        $result = usePreparedSelectBlade
        (
-               'SELECT DISTINCT RS.rack_id FROM RackSpace RS LEFT JOIN EntityLink EL ON RS.object_id = EL.parent_entity_id ' .
+               'SELECT DISTINCT RS.rack_id FROM RackSpace RS LEFT JOIN EntityLink EL ON RS.object_id = EL.parent_entity_id AND EL.parent_entity_type = ? ' .
                'WHERE RS.object_id = ? or EL.child_entity_id = ? ' .
                'UNION ' .
                "SELECT parent_entity_id AS rack_id FROM EntityLink where parent_entity_type = 'rack' AND child_entity_type = 'object' AND child_entity_id = ? " .
-               'ORDER BY rack_id', array ($object_id, $object_id, $object_id)
+               'ORDER BY rack_id', array ('rack', $object_id, $object_id, $object_id)
        );
        $rows = $result->fetchAll (PDO::FETCH_NUM);
        unset ($result);