Get the last item when using --get with no ids/tags/meta.

This commit is contained in:
Andrew Phillips
2023-09-08 17:17:01 +00:00
parent 4fad903c94
commit b50c75f007
2 changed files with 24 additions and 4 deletions

View File

@@ -330,6 +330,28 @@ pub fn get_item(conn: &Connection, item_id: i64) -> Result<Option<Item>> {
}
}
pub fn get_item_last(conn: &Connection) -> Result<Option<Item>> {
debug!("DB: Getting last item");
let mut statement = conn
.prepare_cached("
SELECT id, ts, size, compression
FROM items
ORDER BY id DESC
LIMIT 1")
.context("Problem preparing SQL statement")?;
let mut rows = statement.query([])?;
match rows.next()? {
Some(row) => Ok(Some(Item {
id: row.get(0)?,
ts: row.get(1)?,
size: row.get(2)?,
compression: row.get(3)?
})),
None => Ok(None)
}
}
pub fn get_item_tags(conn: &Connection, item: &Item) -> Result<Vec<Tag>> {
debug!("DB: Getting tags for item: {:?}", item);