appdb/include appData.php
WineHQ
wineowner at wine.codeweavers.com
Mon May 28 16:44:14 CDT 2007
ChangeSet ID: 31145
CVSROOT: /opt/cvs-commit
Module name: appdb
Changes by: wineowner at winehq.org 2007/05/28 16:44:14
Modified files:
include : appData.php
Log message:
Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Speedup appData::objectGetEntries()
Patch: http://cvs.winehq.org/patch.py?id=31145
Old revision New revision Changes Path
1.19 1.20 +26 -7 appdb/include/appData.php
Index: appdb/include/appData.php
diff -u -p appdb/include/appData.php:1.19 appdb/include/appData.php:1.20
--- appdb/include/appData.php:1.19 28 May 2007 21:44:14 -0000
+++ appdb/include/appData.php 28 May 2007 21:44:14 -0000
@@ -332,13 +332,30 @@ class appData
}
} else
{
- $sQuery = "SELECT DISTINCT appData.* FROM appData, appFamily, appVersion
- WHERE
- appVersion.appId = appFamily.appId
+ if($iStart || $iRows)
+ $sLimit = " LIMIT ?,?";
+
+ $sQuery = "(SELECT DISTINCT appData.* FROM appData,
+ appFamily, appVersion WHERE
+ appFamily.appId = appVersion.appId
AND
(
appData.appId = appFamily.appId
- OR
+ )
+ AND
+ appVersion.queued = 'false'
+ AND
+ appFamily.queued = 'false'
+ AND
+ appData.queued = '?'
+ AND
+ appData.type = '?'$sLimit) UNION
+ (
+ SELECT DISTINCT appData.* FROM appData,
+ appFamily, appVersion WHERE
+ appFamily.appId = appVersion.appId
+ AND
+ (
appData.versionId = appVersion.versionId
)
AND
@@ -348,17 +365,19 @@ class appData
AND
appData.queued = '?'
AND
- appData.type = '?'";
+ appData.type = '?'$sLimit)";
if(!$iRows && !$iStart)
{
- $hResult = query_parameters($sQuery, $bQueued ? "true" : "false", $sType);
+ $hResult = query_parameters($sQuery, $bQueued ? "true" : "false", $sType,
+ $bQueued ? "true" : "false", $sType);
} else
{
if(!$iRows)
$iRows = appData::objectGetEntriesCount($bQueued ? "true" : "false",
$bRejected, $sType);
- $sQuery .= " LIMIT ?,?";
$hResult = query_parameters($sQuery, $bQueued ? "true" : "false", $sType,
+ $iStart, $iRows,
+ $bQueued ? "true" : "false", $sType,
$iStart, $iRows);
}
}
More information about the wine-cvs
mailing list