mirror of
https://github.com/modrinth/code.git
synced 2026-08-27 18:14:49 +00:00
fix: global traces QA notes (#6977)
* updated at cols + search by path * speed up scanning * migration does not auto-set updated_at * merge migrations
This commit is contained in:
@@ -88,36 +88,42 @@ pub async fn sync_project_tech_review_state(
|
||||
r#"
|
||||
WITH project_ids AS (
|
||||
SELECT unnest($1::bigint[]) AS project_id
|
||||
),
|
||||
detail_states AS (
|
||||
SELECT
|
||||
p.project_id,
|
||||
COALESCE(
|
||||
BOOL_OR(
|
||||
didws.status = 'pending'
|
||||
AND dri.issue_type != $3
|
||||
),
|
||||
FALSE
|
||||
) AS has_pending_detail,
|
||||
COALESCE(
|
||||
BOOL_OR(
|
||||
didws.status = 'unsafe'
|
||||
AND dri.issue_type != $3
|
||||
),
|
||||
FALSE
|
||||
) AS has_unsafe_detail,
|
||||
COALESCE(
|
||||
BOOL_OR(
|
||||
didws.status = 'pending'
|
||||
AND dri.issue_type = $3
|
||||
),
|
||||
FALSE
|
||||
) AS has_dummy
|
||||
FROM project_ids p
|
||||
LEFT JOIN delphi_issue_details_with_statuses didws
|
||||
ON didws.project_id = p.project_id
|
||||
LEFT JOIN delphi_report_issues dri ON dri.id = didws.issue_id
|
||||
GROUP BY p.project_id
|
||||
)
|
||||
SELECT
|
||||
p.project_id AS "project_id!: DBProjectId",
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM delphi_issue_details_with_statuses didws
|
||||
INNER JOIN delphi_report_issues dri ON dri.id = didws.issue_id
|
||||
WHERE
|
||||
didws.project_id = p.project_id
|
||||
AND didws.status = 'pending'
|
||||
AND dri.issue_type != $3
|
||||
) AS "has_pending_detail!",
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM delphi_issue_details_with_statuses didws
|
||||
INNER JOIN delphi_report_issues dri ON dri.id = didws.issue_id
|
||||
WHERE
|
||||
didws.project_id = p.project_id
|
||||
AND didws.status = 'unsafe'
|
||||
AND dri.issue_type != $3
|
||||
) AS "has_unsafe_detail!",
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM delphi_issue_details_with_statuses didws
|
||||
INNER JOIN delphi_report_issues dri ON dri.id = didws.issue_id
|
||||
WHERE
|
||||
didws.project_id = p.project_id
|
||||
AND didws.status = 'pending'
|
||||
AND dri.issue_type = $3
|
||||
) AS "has_dummy!",
|
||||
p.has_pending_detail AS "has_pending_detail!",
|
||||
p.has_unsafe_detail AS "has_unsafe_detail!",
|
||||
p.has_dummy AS "has_dummy!",
|
||||
(
|
||||
SELECT t.id
|
||||
FROM threads t
|
||||
@@ -144,7 +150,7 @@ pub async fn sync_project_tech_review_state(
|
||||
ORDER BY dr.created DESC, dr.id DESC
|
||||
LIMIT 1
|
||||
) AS "report_id: DelphiReportId"
|
||||
FROM project_ids p
|
||||
FROM detail_states p
|
||||
"#,
|
||||
&project_ids_raw,
|
||||
&tech_review_message_types,
|
||||
|
||||
@@ -1288,16 +1288,20 @@ pub async fn update_issue_details(
|
||||
INSERT INTO delphi_issue_detail_verdicts (
|
||||
project_id,
|
||||
detail_key,
|
||||
verdict
|
||||
verdict,
|
||||
updated_at
|
||||
)
|
||||
SELECT
|
||||
project_id,
|
||||
detail_key,
|
||||
verdict::delphi_report_issue_status
|
||||
verdict::delphi_report_issue_status,
|
||||
NOW()
|
||||
FROM latest
|
||||
WHERE verdict != 'pending'
|
||||
ON CONFLICT (project_id, detail_key)
|
||||
DO UPDATE SET verdict = EXCLUDED.verdict
|
||||
DO UPDATE SET
|
||||
verdict = EXCLUDED.verdict,
|
||||
updated_at = EXCLUDED.updated_at
|
||||
RETURNING 1
|
||||
)
|
||||
SELECT
|
||||
@@ -1431,15 +1435,19 @@ pub async fn update_global_issue_details(
|
||||
)
|
||||
INSERT INTO delphi_global_detail_verdicts (
|
||||
detail_key,
|
||||
verdict
|
||||
verdict,
|
||||
updated_at
|
||||
)
|
||||
SELECT
|
||||
detail_key,
|
||||
verdict::delphi_report_issue_status
|
||||
verdict::delphi_report_issue_status,
|
||||
NOW()
|
||||
FROM latest
|
||||
WHERE verdict != 'pending'
|
||||
ON CONFLICT (detail_key)
|
||||
DO UPDATE SET verdict = EXCLUDED.verdict
|
||||
DO UPDATE SET
|
||||
verdict = EXCLUDED.verdict,
|
||||
updated_at = EXCLUDED.updated_at
|
||||
"#,
|
||||
&detail_keys,
|
||||
&verdicts,
|
||||
|
||||
@@ -170,6 +170,16 @@ pub async fn search_global_issue_details(
|
||||
WHERE (
|
||||
$1::text IS NULL
|
||||
OR dgdv.detail_key ILIKE '%' || $1 || '%'
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM delphi_issue_details_with_statuses matching_didws
|
||||
INNER JOIN delphi_report_issues matching_dri
|
||||
ON matching_dri.id = matching_didws.issue_id
|
||||
WHERE
|
||||
matching_didws.key = dgdv.detail_key
|
||||
AND matching_dri.issue_type != '__dummy'
|
||||
AND matching_didws.file_path ILIKE '%' || $1 || '%'
|
||||
)
|
||||
)
|
||||
"#,
|
||||
query,
|
||||
@@ -194,6 +204,16 @@ pub async fn search_global_issue_details(
|
||||
WHERE (
|
||||
$1::text IS NULL
|
||||
OR dgdv.detail_key ILIKE '%' || $1 || '%'
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM delphi_issue_details_with_statuses matching_didws
|
||||
INNER JOIN delphi_report_issues matching_dri
|
||||
ON matching_dri.id = matching_didws.issue_id
|
||||
WHERE
|
||||
matching_didws.key = dgdv.detail_key
|
||||
AND matching_dri.issue_type != '__dummy'
|
||||
AND matching_didws.file_path ILIKE '%' || $1 || '%'
|
||||
)
|
||||
)
|
||||
GROUP BY dgdv.detail_key, dgdv.verdict
|
||||
ORDER BY dgdv.detail_key
|
||||
@@ -249,6 +269,11 @@ pub async fn search_global_issue_details(
|
||||
WHERE
|
||||
didws.key = ANY($1::text[])
|
||||
AND dri.issue_type != '__dummy'
|
||||
AND (
|
||||
$3::text IS NULL
|
||||
OR didws.key ILIKE '%' || $3 || '%'
|
||||
OR didws.file_path ILIKE '%' || $3 || '%'
|
||||
)
|
||||
)
|
||||
SELECT
|
||||
detail_key AS "detail_key!",
|
||||
@@ -273,6 +298,7 @@ pub async fn search_global_issue_details(
|
||||
"#,
|
||||
&detail_keys,
|
||||
LOCAL_TRACE_PREVIEW_LIMIT,
|
||||
query,
|
||||
)
|
||||
.fetch_all(&**pool)
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user