diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-01-18 13:04:37 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-01-18 13:04:37 (GMT) |
commit | 7eb98d60baf6992bbb385e0b9685837e9e1dff4e (patch) | |
tree | 3671dc7c7fa6b430027cf049d5dd1493e298cbef | |
parent | 49542de5bab5780e429d54e0c0579b675f43fbcd (diff) |
Fix odd SQL statements
-rw-r--r-- | site/app/models/file.php | 3 | ||||
-rw-r--r-- | site/app/models/version.php | 10 |
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 "; |