From f1af191fcc06b53d1c7818a3629ff25a59def617 Mon Sep 17 00:00:00 2001 From: Antonio Carlos Ribeiro Date: Wed, 28 Aug 2024 11:11:20 +0200 Subject: [PATCH] Fix invalidation query --- src/Services/Tags.php | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Services/Tags.php b/src/Services/Tags.php index 8b915fd..a1def95 100644 --- a/src/Services/Tags.php +++ b/src/Services/Tags.php @@ -326,20 +326,21 @@ protected function invalidateObsoleteTags(): void $maxUrls = EdgeFlush::cdn()->maxUrls(); - $query = " - from edge_flush_urls - where edge_flush_urls.was_purged_at is null - and edge_flush_urls.obsolete = true - and edge_flush_urls.is_valid = true - order by edge_flush_urls.hits desc - "; - /** * Get a count */ $total = DB::select(" - select count(distinct edge_flush_urls.id, edge_flush_urls.hits, edge_flush_urls.url, edge_flush_urls.url_hash) as total - {$query} + select count(*) as total + from ( + select distinct edge_flush_urls.id, + edge_flush_urls.hits, + edge_flush_urls.url, + edge_flush_urls.url_hash + from edge_flush_urls + where edge_flush_urls.was_purged_at is null + and edge_flush_urls.obsolete = true + and edge_flush_urls.is_valid = true + ) as distinct_values; "); $total = blank($total[0] ?? null) ? 0 : $total[0]->total; @@ -355,7 +356,11 @@ protected function invalidateObsoleteTags(): void $rows = Helpers::collect( DB::select(" select distinct edge_flush_urls.id, edge_flush_urls.hits, edge_flush_urls.url, edge_flush_urls.url_hash - {$query} + from edge_flush_urls + where edge_flush_urls.was_purged_at is null + and edge_flush_urls.obsolete = true + and edge_flush_urls.is_valid = true + order by edge_flush_urls.hits desc limit {$maxUrls} "), )->map(fn($row) => new Url((array) $row));