refactor: remove digest fields from db and item struct

This commit is contained in:
Andrew Phillips
2025-05-21 20:24:17 -03:00
committed by Andrew Phillips (aider)
parent 894a893536
commit a8c363333c
3 changed files with 31 additions and 53 deletions

View File

@@ -32,8 +32,6 @@ lazy_static! {
FOREIGN KEY(id) REFERENCES items(id) ON DELETE CASCADE,
PRIMARY KEY(id, name));"
),
M::up("ALTER TABLE items ADD COLUMN digest_type TEXT NOT NULL DEFAULT 'none';"),
M::up("ALTER TABLE items ADD COLUMN digest_value TEXT NULL;"),
]);
}
@@ -43,8 +41,6 @@ pub struct Item {
pub ts: DateTime<Utc>,
pub size: Option<i64>,
pub compression: String,
pub digest_type: String,
pub digest_value: Option<String>,
}
#[derive(Debug, Clone)]
@@ -83,8 +79,8 @@ pub fn open(path: PathBuf) -> Result<Connection, Error> {
pub fn insert_item(conn: &Connection, item: Item) -> Result<i64> {
debug!("DB: Inserting item: {:?}", item);
conn.execute(
"INSERT INTO items (ts, size, compression, digest_type, digest_value) VALUES (?1, ?2, ?3, ?4, ?5)",
params![item.ts, item.size, item.compression, item.digest_type, item.digest_value],
"INSERT INTO items (ts, size, compression) VALUES (?1, ?2, ?3)",
params![item.ts, item.size, item.compression],
)?;
Ok(conn.last_insert_rowid())
}
@@ -92,13 +88,11 @@ pub fn insert_item(conn: &Connection, item: Item) -> Result<i64> {
pub fn update_item(conn: &Connection, item: Item) -> Result<()> {
debug!("DB: Updating item: {:?}", item);
conn.execute(
"UPDATE items SET size=?2, compression=?3, digest_type=?4, digest_value=?5 WHERE id=?1",
"UPDATE items SET size=?2, compression=?3 WHERE id=?1",
params![
item.id,
item.size,
item.compression,
item.digest_type,
item.digest_value
],
)?;
Ok(())
@@ -174,7 +168,7 @@ pub fn set_item_tags(conn: &Connection, item: Item, tags: &Vec<String>) -> Resul
pub fn query_all_items(conn: &Connection) -> Result<Vec<Item>> {
debug!("DB: Querying all items");
let mut statement = conn
.prepare("SELECT id, ts, size, compression, digest_type, digest_value FROM items ORDER BY id ASC")
.prepare("SELECT id, ts, size, compression FROM items ORDER BY id ASC")
.context("Problem preparing SQL statement")?;
let mut rows = statement.query(params![])?;
let mut items = Vec::new();
@@ -185,8 +179,6 @@ pub fn query_all_items(conn: &Connection) -> Result<Vec<Item>> {
ts: row.get(1)?,
size: row.get(2)?,
compression: row.get(3)?,
digest_type: row.get(4)?,
digest_value: row.get(5)?,
};
items.push(item);
}
@@ -203,8 +195,6 @@ pub fn query_tagged_items<'a>(conn: &'a Connection, tags: &'a Vec<String>) -> Re
items.ts,
items.size,
items.compression,
items.digest_type,
items.digest_value,
count(tags_match.id) as tags_score
FROM items,
(SELECT tags.id FROM tags WHERE tags.name IN rarray(?1)) as tags_match
@@ -231,8 +221,6 @@ pub fn query_tagged_items<'a>(conn: &'a Connection, tags: &'a Vec<String>) -> Re
ts: row.get(1)?,
size: row.get(2)?,
compression: row.get(3)?,
digest_type: row.get(4)?,
digest_value: row.get(5)?,
};
items.push(item);
}
@@ -307,8 +295,6 @@ pub fn get_item_matching(
items.ts,
items.size,
items.compression,
items.digest_type,
items.digest_value,
count(sel.id) as score
FROM items,
(SELECT tags.id FROM tags WHERE tags.name IN rarray(?1)) as sel
@@ -335,8 +321,6 @@ pub fn get_item_matching(
ts: row.get(1)?,
size: row.get(2)?,
compression: row.get(3)?,
digest_type: row.get(4)?,
digest_value: row.get(5)?,
})),
None => Ok(None),
}
@@ -347,7 +331,7 @@ pub fn get_item(conn: &Connection, item_id: i64) -> Result<Option<Item>> {
let mut statement = conn
.prepare_cached(
"
SELECT id, ts, size, compression, digest_type, digest_value
SELECT id, ts, size, compression
FROM items
WHERE items.id = ?1",
)
@@ -361,8 +345,6 @@ pub fn get_item(conn: &Connection, item_id: i64) -> Result<Option<Item>> {
ts: row.get(1)?,
size: row.get(2)?,
compression: row.get(3)?,
digest_type: row.get(4)?,
digest_value: row.get(5)?,
})),
None => Ok(None),
}
@@ -373,7 +355,7 @@ pub fn get_item_last(conn: &Connection) -> Result<Option<Item>> {
let mut statement = conn
.prepare_cached(
"
SELECT id, ts, size, compression, digest_type, digest_value
SELECT id, ts, size, compression
FROM items
ORDER BY id DESC
LIMIT 1",
@@ -388,8 +370,6 @@ pub fn get_item_last(conn: &Connection) -> Result<Option<Item>> {
ts: row.get(1)?,
size: row.get(2)?,
compression: row.get(3)?,
digest_type: row.get(4)?,
digest_value: row.get(5)?,
})),
None => Ok(None),
}