Skip to content

Commit c5ab3a5

Browse files
committed
Get versions from versions column
1 parent 21dc451 commit c5ab3a5

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

src/web/mod.rs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,20 +144,17 @@ fn match_version(conn: &Connection, name: &str, version: Option<&str>) -> Option
144144
}).unwrap_or("*".to_string());
145145

146146
let versions = {
147-
148147
let mut versions = Vec::new();
149-
// get every version of a crate
150-
for row in &conn.query("SELECT version \
151-
FROM releases \
152-
INNER JOIN crates ON crates.id = releases.crate_id \
153-
WHERE crates.name = $1",
154-
&[&name])
155-
.unwrap() {
156-
let version: String = row.get(0);
157-
versions.push(version);
158-
}
159-
160-
// FIXME: Need to sort versions with semver, database is not keeping them sorted
148+
let rows = conn.query("SELECT versions FROM crates WHERE name = $1", &[&name]).unwrap();
149+
if rows.len() == 0 {
150+
return None;
151+
}
152+
let versions_json: Json = rows.get(0).get(0);
153+
for version in versions_json.as_array().unwrap() {
154+
let version: String = version.as_string().unwrap().to_owned();
155+
versions.push(version);
156+
}
157+
161158
versions
162159
};
163160

0 commit comments

Comments
 (0)