rename to un/compressed_size

This commit is contained in:
Dylan Knutson
2024-04-23 15:16:59 -07:00
parent d91e3c8105
commit 3f4615e42a

View File

@@ -92,15 +92,19 @@ impl Shard {
) -> AxumJsonResultOf<StoreResponse> {
let sha256 = store_request.sha256.clone();
// let data = &store_request.data;
self.sqlite.call(move |conn| {
let created_at = chrono::Utc::now().to_rfc3339();
let maybe_error = conn.execute(
"INSERT INTO entries (sha256, content_type, size, data, created_at) VALUES (?, ?, ?, ?, ?)",
"INSERT INTO entries (sha256, content_type, compression, uncompressed_size, compressed_size, data, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)",
params![
store_request.sha256,
store_request.content_type,
0,
store_request.data.len() as i64,
store_request.data.to_vec(),
store_request.data.len() as i64,
&store_request.data[..],
created_at,
],
);
@@ -170,8 +174,6 @@ impl Shard {
);
if *version == 1 {
migrate_to_version_2(conn)?;
} else if *version == 2 {
// no-op
} else {
return Err(tokio_rusqlite::Error::Other(Box::new(ShardError::new(
@@ -181,7 +183,6 @@ impl Shard {
} else {
debug!("shard {}: no schema version found, initializing", shard_id);
migrate_to_version_1(conn)?;
migrate_to_version_2(conn)?;
}
Ok(())
})
@@ -241,7 +242,9 @@ fn migrate_to_version_1(conn: &rusqlite::Connection) -> Result<(), rusqlite::Err
"CREATE TABLE IF NOT EXISTS entries (
sha256 BLOB PRIMARY KEY,
content_type TEXT NOT NULL,
size INTEGER NOT NULL,
compression INTEGER NOT NULL,
uncompressed_size INTEGER NOT NULL,
compressed_size INTEGER NOT NULL,
data BLOB NOT NULL,
created_at TEXT NOT NULL
)",
@@ -256,22 +259,6 @@ fn migrate_to_version_1(conn: &rusqlite::Connection) -> Result<(), rusqlite::Err
Ok(())
}
fn migrate_to_version_2(conn: &rusqlite::Connection) -> Result<(), rusqlite::Error> {
debug!("migrating to version 2");
conn.execute(
"INSERT INTO schema_version (version, created_at) VALUES (2, ?)",
[chrono::Utc::now().to_rfc3339()],
)?;
// add `compression` column to entries table
conn.execute(
"ALTER TABLE entries ADD COLUMN compression INTEGER NOT NULL DEFAULT 0",
[],
)?;
Ok(())
}
async fn get_num_entries(conn: &Connection) -> Result<usize, tokio_rusqlite::Error> {
conn.call(|conn| {
let count: usize = conn.query_row("SELECT COUNT(*) FROM entries", [], |row| row.get(0))?;