Skip to content

Commit 97de37d

Browse files
committed
Back to SQL
1 parent 8faad3d commit 97de37d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/krate.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -435,22 +435,22 @@ impl Crate {
435435
WHERE dependencies.crate_id = $1
436436
AND versions.num = crates.max_version
437437
";
438-
let fetch_sql = format!("SELECT DISTINCT ON (crate_name)
438+
let fetch_sql = format!("SELECT DISTINCT ON (crate_downloads, crate_name)
439439
dependencies.*,
440440
crates.downloads AS crate_downloads,
441441
crates.name AS crate_name
442442
{}
443+
ORDER BY crate_downloads DESC
443444
OFFSET $2
444445
LIMIT $3",
445446
select_sql);
446447
let count_sql = format!("SELECT COUNT(DISTINCT(crates.id)) {}", select_sql);
447448

448449
let stmt = try!(conn.prepare(&fetch_sql));
449-
let mut vec: Vec<_> = try!(stmt.query(&[&self.id, &offset, &limit]))
450+
let vec: Vec<_> = try!(stmt.query(&[&self.id, &offset, &limit]))
450451
.iter()
451452
.map(|r| (Model::from_row(&r), r.get("crate_name"), r.get("crate_downloads")))
452453
.collect();
453-
vec.sort_by(|a: &(_, _, i32), b: &(_, _, i32)| b.2.cmp(&a.2));
454454
let stmt = try!(conn.prepare(&count_sql));
455455
let cnt: i64 = try!(stmt.query(&[&self.id])).iter().next().unwrap().get(0);
456456

0 commit comments

Comments
 (0)