appdb/include maintainer.php sidebar_admin.php
ChangeSet ID: 30954 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner(a)winehq.org 2007/03/11 15:39:02 Modified files: include : maintainer.php sidebar_admin.php Log message: Alexander Nicolaysen Sørnes <alex(a)thehandofagony.com>, Chris Morgan <cmorgan(a)alum.wpi.edu> Fix queued maintainer sql with missing join causing millions of rows to be generated by a relatively simple sql statement Patch: http://cvs.winehq.org/patch.py?id=30954 Old revision New revision Changes Path 1.27 1.28 +23 -9 appdb/include/maintainer.php 1.29 1.30 +1 -1 appdb/include/sidebar_admin.php Index: appdb/include/maintainer.php diff -u -p appdb/include/maintainer.php:1.27 appdb/include/maintainer.php:1.28 --- appdb/include/maintainer.php:1.27 11 Mar 2007 20:39: 2 -0000 +++ appdb/include/maintainer.php 11 Mar 2007 20:39: 2 -0000 @@ -270,19 +270,33 @@ class maintainer return $aAppsMaintained; } - function getQueuedMaintainerCount() + function objectGetEntriesCount($bQueued) { /* Excluding requests for queued apps and versions, as these are handled automatically. One SELECT for super maintainers, one for maintainers. */ - $sQuery = "SELECT COUNT(DISTINCT maintainerId) as queued_maintainers FROM - appMaintainers, appFamily, appVersion - WHERE appMaintainers.queued='true' AND ((appFamily.appId = - appMaintainers.appId AND appFamily.queued = 'false' AND - appMaintainers.versionId = '') OR ( - appVersion.versionId = appMaintainers.versionId - AND appVersion.queued = 'false'))"; + $sQuery = "SELECT COUNT(DISTINCT maintainerId) as queued_maintainers FROM + appMaintainers, appFamily, appVersion WHERE + appMaintainers.queued = '?' + AND + appFamily.appId = appVersion.appId + AND + ( + ( + appFamily.appId = appMaintainers.appId + AND + appFamily.queued = 'false' + AND + appMaintainers.versionId = '' + ) + OR + ( + appVersion.versionId = appMaintainers.versionId + AND + appVersion.queued = 'false' + ) + )"; - if(!($hResult = query_parameters($sQuery))) + if(!($hResult = query_parameters($sQuery, $bQueued ? "true" : "false"))) return FALSE; $oRow = mysql_fetch_object($hResult); Index: appdb/include/sidebar_admin.php diff -u -p appdb/include/sidebar_admin.php:1.29 appdb/include/sidebar_admin.php:1.30 --- appdb/include/sidebar_admin.php:1.29 11 Mar 2007 20:39: 2 -0000 +++ appdb/include/sidebar_admin.php 11 Mar 2007 20:39: 2 -0000 @@ -21,7 +21,7 @@ function global_admin_menu() { "screenshot").")", BASE."objectManager.php?sClass=screenshot&bIsQueue=true&sTitle=". "Screenshot%20Queue"); - $g->add("View Maintainer Queue (".Maintainer::getQueuedMaintainerCount().")", + $g->add("View Maintainer Queue (".Maintainer::objectGetEntriesCount(true).")", BASE."objectManager.php?sClass=maintainer&bIsQueue=true&sTitle=". "Maintainer%20Queue"); $g->add("View Maintainer Entries (".Maintainer::getMaintainerCount().")",
participants (1)
-
WineHQ