summaryrefslogtreecommitdiffstats
path: root/crate_db/src/lib_crate_db.rs
diff options
context:
space:
mode:
authorKornel <kornel@geekhood.net>2019-08-11 18:57:03 +0100
committerKornel <kornel@geekhood.net>2019-08-11 18:57:03 +0100
commit7cbfdf4b93324ffbcd14375d3cd5d3f7d64b1bbf (patch)
tree6bbaa82da4264a88d0f29667418102a80a539e89 /crate_db/src/lib_crate_db.rs
parentfa7daaa77da2e08590e5209b88f5b8bb091cbb90 (diff)
Reuse versions from DB
Diffstat (limited to 'crate_db/src/lib_crate_db.rs')
-rw-r--r--crate_db/src/lib_crate_db.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/crate_db/src/lib_crate_db.rs b/crate_db/src/lib_crate_db.rs
index d53ad00..34b2830 100644
--- a/crate_db/src/lib_crate_db.rs
+++ b/crate_db/src/lib_crate_db.rs
@@ -206,6 +206,16 @@ impl CrateDb {
})
}
+ pub fn crate_versions(&self, origin: &Origin) -> FResult<Vec<(String, u32)>> {
+ self.with_connection("crate_versions", |conn| {
+ let mut q = conn.prepare("SELECT v.version, v.created FROM crates c JOIN crate_versions v ON v.crate_id = c.id WHERE c.origin = ?1")?;
+ let res = q.query_map(&[&origin.to_str()][..], |row| {
+ Ok((row.get(0)?, row.get(1)?))
+ })?;
+ Ok(res.collect::<Result<Vec<(String, u32)>>>()?)
+ })
+ }
+
/// Add data of the latest version of a crate to the index
/// Score is a ranking of a crate (0 = bad, 1 = great)
pub fn index_latest(&self, c: CrateVersionData) -> FResult<()> {