Skip to content

Commit d994f0a

Browse files
authored
fix(labrinth): reduce rows returned by project query (#7901)
feat(labrinth): reduce rows returned by project query
1 parent 82a7b56 commit d994f0a

2 files changed

Lines changed: 9 additions & 8 deletions

File tree

apps/labrinth/.sqlx/query-7fa5098b1083af58b86083b659cb647498fcc20e38265b9d316ca8c0a2cbc02a.json renamed to apps/labrinth/.sqlx/query-dde28342216bc4f81887ce7f75d049676aa23656464363293664c5066f164a07.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎apps/labrinth/src/database/models/project_item.rs‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -680,12 +680,13 @@ impl DBProject {
680680

681681
let loader_field_enum_value_ids = DashSet::new();
682682
let version_fields: DashMap<DBProjectId, Vec<QueryVersionField>> = sqlx::query!(
683-
"
684-
SELECT DISTINCT mod_id, version_id, field_id, int_value, enum_value, string_value
683+
r#"
684+
SELECT v.mod_id, MIN(vf.version_id) AS "version_id!", vf.field_id, vf.int_value, vf.enum_value, vf.string_value
685685
FROM versions v
686686
INNER JOIN version_fields vf ON v.id = vf.version_id
687-
WHERE v.id = ANY($1)
688-
",
687+
WHERE v.id = ANY($1) AND vf.version_id = ANY($1)
688+
GROUP BY v.mod_id, vf.field_id, vf.int_value, vf.enum_value, vf.string_value
689+
"#,
689690
&all_version_ids.iter().map(|x| x.0).collect::<Vec<_>>()
690691
)
691692
.fetch(&mut exec)

0 commit comments

Comments
 (0)