Skip to content

Commit 6b9b884

Browse files
committed
database: Remove obsolete transaction from NewVersion::save() fn
Now that we only perform a single database query in this function we don't need this transaction anymore. The only caller in production code is already using an outer transaction anyway.
1 parent 7e2da7d commit 6b9b884

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

crates/crates_io_database/src/models/version.rs

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ use bon::Builder;
44
use chrono::{DateTime, Utc};
55
use crates_io_index::features::FeaturesMap;
66
use diesel::prelude::*;
7-
use diesel_async::scoped_futures::ScopedFutureExt;
8-
use diesel_async::{AsyncConnection, AsyncPgConnection, RunQueryDsl};
7+
use diesel_async::{AsyncPgConnection, RunQueryDsl};
98
use serde::Deserialize;
109

1110
use crate::models::{Crate, User};
@@ -108,21 +107,11 @@ pub struct NewVersion<'a> {
108107

109108
impl NewVersion<'_> {
110109
pub async fn save(&self, conn: &mut AsyncPgConnection) -> QueryResult<Version> {
111-
use diesel::insert_into;
112-
113-
conn.transaction(|conn| {
114-
async move {
115-
let version: Version = insert_into(versions::table)
116-
.values(self)
117-
.returning(Version::as_returning())
118-
.get_result(conn)
119-
.await?;
120-
121-
Ok(version)
122-
}
123-
.scope_boxed()
124-
})
125-
.await
110+
diesel::insert_into(versions::table)
111+
.values(self)
112+
.returning(Version::as_returning())
113+
.get_result(conn)
114+
.await
126115
}
127116
}
128117

0 commit comments

Comments
 (0)