radicle: Don't use transactions in cache

The `transaction` method was being used for single queries. This
was unnecessary.
This commit is contained in:
cloudhead 2024-08-09 10:54:04 +02:00
parent 9db69a40a6
commit 1d1b9c3d49
No known key found for this signature in database
2 changed files with 36 additions and 46 deletions

View File

@ -11,7 +11,6 @@ use crate::cob::store;
use crate::cob::{Embed, Label, ObjectId, TypeName}; use crate::cob::{Embed, Label, ObjectId, TypeName};
use crate::crypto::Signer; use crate::crypto::Signer;
use crate::prelude::{Did, RepoId}; use crate::prelude::{Did, RepoId};
use crate::sql::transaction;
use crate::storage::{HasRepoId, ReadRepository, RepositoryError, SignRepository, WriteRepository}; use crate::storage::{HasRepoId, ReadRepository, RepositoryError, SignRepository, WriteRepository};
use super::{Issue, IssueCounts, IssueId, IssueMut, State}; use super::{Issue, IssueCounts, IssueId, IssueMut, State};
@ -295,8 +294,7 @@ impl Update<Issue> for StoreWriter {
id: &ObjectId, id: &ObjectId,
object: &Issue, object: &Issue,
) -> Result<Self::Out, Self::UpdateError> { ) -> Result<Self::Out, Self::UpdateError> {
transaction::<_, UpdateError>(&self.db, move |db| { let mut stmt = self.db.prepare(
let mut stmt = db.prepare(
"INSERT INTO issues (id, repo, issue) "INSERT INTO issues (id, repo, issue)
VALUES (?1, ?2, ?3) VALUES (?1, ?2, ?3)
ON CONFLICT DO UPDATE ON CONFLICT DO UPDATE
@ -308,8 +306,7 @@ impl Update<Issue> for StoreWriter {
stmt.bind((3, sql::Value::String(serde_json::to_string(&object)?)))?; stmt.bind((3, sql::Value::String(serde_json::to_string(&object)?)))?;
stmt.next()?; stmt.next()?;
Ok(db.change_count() > 0) Ok(self.db.change_count() > 0)
})
} }
} }
@ -318,8 +315,7 @@ impl Remove<Issue> for StoreWriter {
type RemoveError = sql::Error; type RemoveError = sql::Error;
fn remove(&mut self, id: &ObjectId) -> Result<Self::Out, Self::RemoveError> { fn remove(&mut self, id: &ObjectId) -> Result<Self::Out, Self::RemoveError> {
transaction::<_, sql::Error>(&self.db, move |db| { let mut stmt = self.db.prepare(
let mut stmt = db.prepare(
"DELETE FROM issues "DELETE FROM issues
WHERE id = ?1", WHERE id = ?1",
)?; )?;
@ -327,8 +323,7 @@ impl Remove<Issue> for StoreWriter {
stmt.bind((1, sql::Value::String(id.to_string())))?; stmt.bind((1, sql::Value::String(id.to_string())))?;
stmt.next()?; stmt.next()?;
Ok(db.change_count() > 0) Ok(self.db.change_count() > 0)
})
} }
fn remove_all(&mut self, rid: &RepoId) -> Result<Self::Out, Self::RemoveError> { fn remove_all(&mut self, rid: &RepoId) -> Result<Self::Out, Self::RemoveError> {

View File

@ -12,7 +12,6 @@ use crate::cob::{Label, ObjectId, TypeName};
use crate::crypto::Signer; use crate::crypto::Signer;
use crate::git; use crate::git;
use crate::prelude::RepoId; use crate::prelude::RepoId;
use crate::sql::transaction;
use crate::storage::{HasRepoId, ReadRepository, RepositoryError, SignRepository, WriteRepository}; use crate::storage::{HasRepoId, ReadRepository, RepositoryError, SignRepository, WriteRepository};
use super::{ use super::{
@ -362,8 +361,7 @@ impl Update<Patch> for StoreWriter {
id: &ObjectId, id: &ObjectId,
object: &Patch, object: &Patch,
) -> Result<Self::Out, Self::UpdateError> { ) -> Result<Self::Out, Self::UpdateError> {
transaction::<_, UpdateError>(&self.db, move |db| { let mut stmt = self.db.prepare(
let mut stmt = db.prepare(
"INSERT INTO patches (id, repo, patch) "INSERT INTO patches (id, repo, patch)
VALUES (?1, ?2, ?3) VALUES (?1, ?2, ?3)
ON CONFLICT DO UPDATE ON CONFLICT DO UPDATE
@ -375,8 +373,7 @@ impl Update<Patch> for StoreWriter {
stmt.bind((3, sql::Value::String(serde_json::to_string(&object)?)))?; stmt.bind((3, sql::Value::String(serde_json::to_string(&object)?)))?;
stmt.next()?; stmt.next()?;
Ok(db.change_count() > 0) Ok(self.db.change_count() > 0)
})
} }
} }
@ -385,8 +382,7 @@ impl Remove<Patch> for StoreWriter {
type RemoveError = sql::Error; type RemoveError = sql::Error;
fn remove(&mut self, id: &ObjectId) -> Result<Self::Out, Self::RemoveError> { fn remove(&mut self, id: &ObjectId) -> Result<Self::Out, Self::RemoveError> {
transaction::<_, sql::Error>(&self.db, move |db| { let mut stmt = self.db.prepare(
let mut stmt = db.prepare(
"DELETE FROM patches "DELETE FROM patches
WHERE id = ?1", WHERE id = ?1",
)?; )?;
@ -394,8 +390,7 @@ impl Remove<Patch> for StoreWriter {
stmt.bind((1, sql::Value::String(id.to_string())))?; stmt.bind((1, sql::Value::String(id.to_string())))?;
stmt.next()?; stmt.next()?;
Ok(db.change_count() > 0) Ok(self.db.change_count() > 0)
})
} }
fn remove_all(&mut self, rid: &RepoId) -> Result<Self::Out, Self::RemoveError> { fn remove_all(&mut self, rid: &RepoId) -> Result<Self::Out, Self::RemoveError> {