Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-01-18 13:04:37 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-01-18 13:04:37 (GMT)
commit7eb98d60baf6992bbb385e0b9685837e9e1dff4e (patch)
tree3671dc7c7fa6b430027cf049d5dd1493e298cbef
parent49542de5bab5780e429d54e0c0579b675f43fbcd (diff)
Fix odd SQL statements
-rw-r--r--site/app/models/file.php3
-rw-r--r--site/app/models/version.php10
2 files changed, 9 insertions, 4 deletions
diff --git a/site/app/models/file.php b/site/app/models/file.php
index dc02aaa..bb5ceed 100644
--- a/site/app/models/file.php
+++ b/site/app/models/file.php
@@ -102,9 +102,10 @@ class File extends AppModel
appversions as C ON C.id = A.max
WHERE
File.status = ".STATUS_PUBLIC."
+ {$sp} >= CAST(B.version AS DECIMAL(3,3)) AND {$sp} <= CAST(C.version AS DECIMAL(3,3))
{$platform}
ORDER BY
- IF({$sp} AND ({$sp} < CAST(B.version AS DECIMAL(3,3)) OR {$sp} > CAST(C.version AS DECIMAL(3,3))), 1, 1000000) + CAST(Version.version AS DECIMAL) DESC
+ Version.version DESC
LIMIT 1
";
diff --git a/site/app/models/version.php b/site/app/models/version.php
index f15ba00..2138b93 100644
--- a/site/app/models/version.php
+++ b/site/app/models/version.php
@@ -155,8 +155,9 @@ class Version extends AppModel
appversions as C ON C.id = A.max
WHERE
Version.addon_id = {$id}
+ AND {$app_ver} >= CAST(B.version AS DECIMAL(3,3)) AND {$app_ver} <= CAST(C.version AS DECIMAL(3,3))
ORDER BY
- IF({$app_ver} AND ({$app_ver} < CAST(B.version AS DECIMAL(3,3)) OR {$app_ver} > CAST(C.version AS DECIMAL(3,3))), 1, 1000000) + CAST(Version.version AS DECIMAL) DESC
+ Version.id DESC
LIMIT 1
";
@@ -175,6 +176,8 @@ class Version extends AppModel
if (!isset($app_ver) || $app_ver == 'any')
$app_ver = parse_sp();
+ if (!isset($version) || $version == '')
+ $version = '0';
$sql = "
SELECT
@@ -190,9 +193,10 @@ class Version extends AppModel
INNER JOIN
appversions as C ON C.id = A.max
WHERE
- Version.addon_id = {$id} AND Version.version = {$version}
+ Version.addon_id = {$id} AND ({$version} = 0 OR Version.version = {$version})
+ AND {$app_ver} >= CAST(B.version AS DECIMAL(3,3)) AND {$app_ver} <= CAST(C.version AS DECIMAL(3,3))
ORDER BY
- IF({$app_ver} AND ({$app_ver} < CAST(B.version AS DECIMAL(3,3)) OR {$app_ver} > CAST(C.version AS DECIMAL(3,3))), 1, 1000000) + CAST(Version.version AS DECIMAL) DESC
+ Version.id DESC
LIMIT 1
";