Skip to content

Commit cf4b176

Browse files
authored
Merge pull request rust-lang#10076 from Turbo87/optional-version-fields
Use `Version::as_select()` to allow skipping columns
2 parents 154e004 + d6d13d4 commit cf4b176

File tree

8 files changed

+13
-2
lines changed

8 files changed

+13
-2
lines changed

src/bin/crates-admin/yank_version.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ async fn yank(opts: Opts, conn: &mut AsyncPgConnection) -> anyhow::Result<()> {
4242

4343
let v: Version = Version::belonging_to(&krate)
4444
.filter(versions::num.eq(&version))
45+
.select(Version::as_select())
4546
.first(conn)
4647
.await?;
4748

src/controllers/krate/downloads.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ pub async fn downloads(state: AppState, Path(crate_name): Path<String>) -> AppRe
3232

3333
let mut versions: Vec<Version> = versions::table
3434
.filter(versions::crate_id.eq(crate_id))
35+
.select(Version::as_select())
3536
.load(&mut conn)
3637
.await?;
3738

src/controllers/krate/search.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ pub async fn search(app: AppState, req: Parts) -> AppResult<ErasedJson> {
216216
let span = info_span!("db.query", message = "SELECT ... FROM versions");
217217
let versions: Vec<Version> = Version::belonging_to(&crates)
218218
.filter(versions::yanked.eq(false))
219+
.select(Version::as_select())
219220
.load(&mut conn)
220221
.instrument(span)
221222
.await?;

src/controllers/summary.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ pub async fn summary(state: AppState) -> AppResult<ErasedJson> {
4040
let krates = data.iter().map(|(c, ..)| c).collect::<Vec<_>>();
4141
let versions: Vec<Version> = Version::belonging_to(&krates)
4242
.filter(versions::yanked.eq(false))
43+
.select(Version::as_select())
4344
.load(conn)
4445
.await?;
4546

src/index.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ pub async fn index_metadata(
5959
krate: &Crate,
6060
conn: &mut AsyncPgConnection,
6161
) -> QueryResult<Vec<crates_io_index::Crate>> {
62-
let mut versions: Vec<Version> = Version::belonging_to(krate).load(conn).await?;
62+
let mut versions: Vec<Version> = Version::belonging_to(krate)
63+
.select(Version::as_select())
64+
.load(conn)
65+
.await?;
6366

6467
// We sort by `created_at` by default, but since tests run within a
6568
// single database transaction the versions will all have the same

src/models/krate.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ impl Crate {
207207
) -> AppResult<Version> {
208208
Version::belonging_to(self)
209209
.filter(versions::num.eq(version))
210+
.select(Version::as_select())
210211
.first(conn)
211212
.await
212213
.optional()?

src/models/version.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ pub struct Version {
3232
pub has_lib: Option<bool>,
3333
pub bin_names: Option<Vec<Option<String>>>,
3434
pub yank_message: Option<String>,
35-
pub num_no_build: String,
3635
pub edition: Option<String>,
3736
pub description: Option<String>,
3837
pub homepage: Option<String>,
@@ -117,6 +116,7 @@ impl NewVersion<'_> {
117116
async move {
118117
let version: Version = insert_into(versions::table)
119118
.values(self)
119+
.returning(Version::as_returning())
120120
.get_result(conn)
121121
.await?;
122122

src/worker/jobs/downloads/update_metadata.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ mod tests {
286286

287287
let version_before: Version = versions::table
288288
.find(version.id)
289+
.select(Version::as_select())
289290
.first(&mut conn)
290291
.await
291292
.unwrap();
@@ -299,6 +300,7 @@ mod tests {
299300

300301
let version2: Version = versions::table
301302
.find(version.id)
303+
.select(Version::as_select())
302304
.first(&mut conn)
303305
.await
304306
.unwrap();
@@ -324,6 +326,7 @@ mod tests {
324326

325327
let version3: Version = versions::table
326328
.find(version.id)
329+
.select(Version::as_select())
327330
.first(&mut conn)
328331
.await
329332
.unwrap();

0 commit comments

Comments
 (0)