Changeset 1814


Ignore:
Timestamp:
2/11/2010 1:48:14 PM (2 years ago)
Author:
lowjoel
Message:

The nested query can't be referenced in the UPDATE statement.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/website/scripts/downloads.php

    r1766 r1814  
    289289        $ignoredBuilds = implode(', ', $builds); 
    290290         
     291        //Find the builds which need resetting. 
     292        $query = mysql_query(sprintf('SELECT downloads.DownloadID FROM builds 
     293            INNER JOIN downloads ON downloads.DownloadID=builds.DownloadID 
     294            WHERE Branch=\'%s\' AND 
     295            Superseded=0 AND 
     296            downloads.DownloadID NOT IN (%s)', 
     297            mysql_real_escape_string($branch), $ignoredBuilds)); 
     298        $builds = array(); 
     299        while (($row == mysql_fetch_array($query)) !== false) 
     300            $builds[] = intval($row['DownloadID']); 
     301        $ignoredBuilds = implode(', ', $builds); 
     302         
    291303        //Set the builds which aren't yet superseded and not in the latest 3 builds 
    292304        //as superseded. 
    293305        mysql_query(sprintf('UPDATE downloads SET Superseded=1 
    294             WHERE DownloadID IN ( 
    295                 SELECT downloads.DownloadID FROM downloads 
    296                     INNER JOIN builds ON downloads.DownloadID=builds.DownloadID 
    297                     WHERE Branch=\'%s\' AND 
    298                     Superseded=0 AND 
    299                     downloads.DownloadID NOT IN (%s) 
    300             )', 
    301             mysql_real_escape_string($branch), $ignoredBuilds)); 
     306            WHERE DownloadID IN (%s)', $ignoredBuilds)); 
    302307        mysql_query('COMMIT'); 
    303308        return $buildId; 
Note: See TracChangeset for help on using the changeset viewer.