From e37cc9403df06bd527e402081d028585735badc1 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Mon, 8 Sep 2025 07:25:57 +0200 Subject: [PATCH] admin/render_og_images: Simplify query construction There is no need for the duplicate prefix filter. We can just reuse the `build_query()` fn by moving the `.offset()` call out of it. --- src/bin/crates-admin/render_og_images.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/bin/crates-admin/render_og_images.rs b/src/bin/crates-admin/render_og_images.rs index bd1eae107d3..0123f48736e 100644 --- a/src/bin/crates-admin/render_og_images.rs +++ b/src/bin/crates-admin/render_og_images.rs @@ -36,7 +36,7 @@ pub async fn run(opts: Opts) -> Result<()> { info!("Starting OG image rendering with options: {opts:?}"); // Helper function to build query - let build_query = |offset: i64| { + let build_query = || { let mut query = crates::table .select(crates::name) .order(crates::name) @@ -46,16 +46,11 @@ pub async fn run(opts: Opts) -> Result<()> { query = query.filter(crates::name.like(format!("{prefix}%"))); } - query.offset(offset) + query }; // Count total crates to process - let mut count_query = crates::table.into_boxed(); - if let Some(prefix) = &opts.prefix { - count_query = count_query.filter(crates::name.like(format!("{prefix}%"))); - } - let total_crates: i64 = count_query.count().get_result(&mut conn).await?; - + let total_crates: i64 = build_query().count().get_result(&mut conn).await?; info!("Total crates to enqueue: {total_crates}"); let mut offset = opts.offset.unwrap_or(0); @@ -64,7 +59,8 @@ pub async fn run(opts: Opts) -> Result<()> { loop { // Fetch batch of crate names - let crate_names: Vec = build_query(offset) + let crate_names: Vec = build_query() + .offset(offset) .limit(opts.batch_size as i64) .load(&mut conn) .await?;